This section portrays how to send and get Darwin notices. The Darwin notice framework is moderately clear for designers comfortable with programming in other UNIX/Linux working frameworks. It ties into normally utilized frameworks, for example, document descriptors and signs to give conveyance of messages to the customer procedure.
Darwin notices are bolstered by the notifyd daemon, a procedure that tunes in for approaching notices and redelivers those warnings to intrigued forms in an assortment of ways.
Counting Relevant Headers
When composing a device that utilizations Darwin notices, the accompanying headers are normally used:
Sending a Darwin notice is exceptionally straightforward. Simply call the capacity notify_post. The capacity takes a solitary contention that contains the name of the warning. (Perceive How Should Notifications Be Named? for data about warning naming.)
For instance, in the event that you incorporate notices into the Apache web server and need to advise it that its setup document has transformed, you may send the warning with a call like the accompanying:
Darwin warnings give five components to getting notices: Core Foundation, record descriptors, signals, Mach messages, and manual surveying. This area depicts these conveyance instruments and clarifies when you ought to pick every one.
While adding notice support to existing applications, you ought to pick whichever component is most straightforward to coordinate into the application or device. On the off chance that your application as of now utilizes flag dealing with, you should utilize signals. On the off chance that your application as of now utilizes attachments or document descriptors, you should utilize record descriptors. Et cetera. In the event that you are composing another application starting with no outside help, Core Foundation notices are suggested if your application depends on Core Foundation.For non-Core Foundation applications, document descriptors are the favoured warning transport since they are stronger against message misfortune than signals and are simpler to use than Mach messages. Once more, you ought to pick the system that most nearly fits the engineering of the apparatus you are composing.
When in doubt, you ought to abstain from utilizing the surveying interface (portrayed in Receiving Notifications Manually). You should utilize surveying just in the event that you have to check for a status change rarely.
Accepting Notifications Using Core Foundation
To enlist for Darwin warnings utilizing Core Foundation, first make a notice focus by calling “CFNotificationCenterGetDarwinNotifyCenter”. This makes a protest that communicates with the warning daemon for your sake.
Next, call “CFNotificationCenterAddObserver”. This capacity teaches the warning focus to enrol for notices with the notice daemon.
The accompanying piece demonstrates to enrol for the notice portrayed in Sending Notifications: