Writing Monitors for the Event Monitoring Service (December 1999)
Chapter 5 163
Writing a Target Application
Processing a Restart Notiļ¬cation Object
if (rm_get(restart_obj, RmMonitorTitle, &monitor_name, &error_code) == -1) {
rm_strerror(error_code, errbuf, sizeof(errbuf));
fprintf(stderr, "Could not get monitor name: %s", errbuf);
printf ("Monitor Name:???\n");
}
else {
printf ("Monitor Name:%s\n", monitor_name);
}
if (rm_get(restart_obj, RmMonitorCommand, &monitor_path, &error_code) == -1)
{
rm_strerror(error_code, errbuf, sizeof(errbuf));
fprintf(stderr, "Could not get monitor command: %s", errbuf);
printf ("Monitor Command:???\n");
}
else {
printf ("Monitor Command:%s\n", monitor_path);
}
/**************************************************************************/
/* Extract and print list of resources affected by the restarted monitor */
/**************************************************************************/
if (rm_get(restart_obj, RmNumResources, &num_resources, &error_code) == -1) {
rm_strerror(error_code, errbuf, sizeof(errbuf));
fprintf(stderr, "Could not get the number of resources: %s", errbuf);
printf ("Impacted Resources:???\n");
}
else if (num_resources > 0) {
if (rm_get(restart_obj, RmFirstResourceEntry, &res_entry, &error_code)==-1)
{
rm_strerror(error_code, errbuf, sizeof(errbuf));
fprintf(stderr, "Could not get first entry from resource list:%s",errbuf);
printf("Impacted Resources:???\n");
}
else {
if (rm_get(res_entry, RmResourceName, &resource_name, &error_code) == -1)
{
rm_strerror(error_code, errbuf, sizeof(errbuf));
fprintf(stderr, "Could not get resource name: %s", errbuf);
printf ("Impacted Resources:???\n");
}