xfree (node);
}
-/* Attach the callback NOTIFY to a subject represented by its list
- of observers LIST. The DATA is also stored, in order for the subject
- to provide it back to the observer during a notification. */
+/* Attach the callback NOTIFY to a SUBJECT. The DATA is also stored,
+ in order for the subject to provide it back to the observer during
+ a notification. */
static struct observer *
generic_observer_attach (struct observer_list **subject,
return observer_list->observer;
}
-/* Remove the given OBSERVER from the list of observers that need
- to be notified by the subject represented by its LIST of observers.
- Once detached, OBSERVER should no longer be used, as it is no longer
- valid. */
+/* Remove the given OBSERVER from the SUBJECT. Once detached, OBSERVER
+ should no longer be used, as it is no longer valid. */
+
static void
generic_observer_detach (struct observer_list **subject,
const struct observer *observer)
warning ("Failed to detach observer");
}
-/* Send a notification to all the observers of a subject represented by
- its LIST of observers. ARGS is passed to all observers as an argument
- to the notification callback. */
+/* Send a notification to all the observers of SUBJECT. ARGS is passed to
+ all observers as an argument to the notification callback. */
static void
generic_observer_notify (struct observer_list *subject, const void *args)
{
generic_observer_notify (normal_stop_subject, NULL);
}
+
+/* The following code is only used to unit-test the observers from
+ our testsuite. DO NOT USE IT within observer.c! */
+
+/* Since this code will not be used within GDB, it will trigger
+ a warning if we decide to compile with -Wunused-function.
+ This is ok for now. (brobecker 2003-03-18) */
+
+static int observer_test_first_observer = 0;
+static int observer_test_second_observer = 0;
+static int observer_test_third_observer = 0;
+
+static void
+observer_test_first_notification_function (void)
+{
+ observer_test_first_observer++;
+}
+
+static void
+observer_test_second_notification_function (void)
+{
+ observer_test_second_observer++;
+}
+
+static void
+observer_test_third_notification_function (void)
+{
+ observer_test_third_observer++;
+}
+