Writing Monitors for the Event Monitoring Service (December 1999)

156 Chapter5
Writing a Target Application
Processing a Notification Message
case RM_STRING_TYPE:
printf("RM_STRING_TYPE\n");
break;
case RM_ENUMERATED_TYPE:
printf("RM_ENUMERATED_TYPE\n");
break;
case RM_ERROR_TYPE:
printf("RM_ERROR_TYPE\n");
break;
default:
printf("???\n");
break;
} /* switch */
if (rm_get(notify_obj, RmResourceValue, &value, &error_code) == -1) {
rm_strerror(error_code, errbuf, sizeof(errbuf));
fprintf(stderr, "Could not get resource value: %s", errbuf);
printf("Resource Value:???\n");
}
else {
/***********************************************************************/
/* Print resource value based on resource type */
/***********************************************************************/
printf("Resource Value:");
switch (resource_type) {
case RM_UBIT32_TYPE:
printf("%u\n", value.u32);
break;
case RM_SBIT32_TYPE:
printf("%d\n", value.s32);
break;
case RM_FLOAT64_TYPE:
printf("%lf\n", value.f64);
break;
case RM_STRING_TYPE:
printf("%s\n", value.str);
break;