Mac Developer Library


DRNotificationCenter Class Reference

Deployment Target:

On This Page


A DRNotificationCenter object (or simply, notification center) is essentially a notification dispatch table. It notifies all observers of notifications meeting specific criteria. This information is encapsulated in NSNotification objects, also known as notifications. Client objects register themselves with the notification center as observers of specific notifications posted by DiscRecording. When an event occurs, DiscRecording posts an appropriate notification to the notification center. The notification center dispatches a message to each registered observer, passing the notification as the sole argument.

There are two main differences between a DRNotificationCenter and the NSNotificationCenter from Foundation. First is that only Disc Recording posts notifications received through this mechanism. You use this to obtain device plug/unplug events, burn status, etc. Second, there can be multple notification centers active at once. Each run loop of your application will have it's own notification center and notifications from that notification center will be posted to the runloop it was created on.

  • Adds an observer to the receiver.


    - (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)notificationName object:(id)anObject;



    The observer to send notifications to.


    The selector to call


    The notification to listen for


    The object to limit notifications for.


    Registers anObserver to receive notifications with the name notificationName and/or containing anObject. When a notification of name notificationName containing the object anObject is posted, anObserver receives an aSelector message with this notification as the argument. The method for the selector specified in aSelector must have one and only one argument. If notificationName is nil, the notification center notifies the observer of all notifications with an object matching anObject. If anObject is nil, the notification center notifies the observer of all notifications with the name notificationName.

    The notification center does not retain anObserver or anObject. Therefore, you should always send removeObserver:name:object: to the notification center before releasing these objects.

  • Removes anObserver from receiving notifications.


    - (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject;



    The observer to remove


    The notification the remove the observer from.


    The object the observer was listening for.


    Removes anObserver as the observer of notifications with the name notificationName and object anObject from the receiver. Be sure to invoke this method before deallocating the observer object or any object specified in addObserver:selector:name:object: .

  • Creates an initializes a DRNotificationCenter


    + (DRNotificationCenter*) currentRunLoopCenter;

    Return Value

    A shared DRNotificationCenter object.


    The instance returned sends Disc Recording notifications only to the current run loop. If you want to receive notifications on another run loop, this method must be called from that runloop.