Retired Document
Important: Support for DirectoryService plug-ins has been deprecated and will be removed in a future release.
A new architecture was introduced in OS X v10.9 to allow the creation of native Open Directory modules. Unlike DirectoryService, opendirectoryd uses modules implemented as a standalone process that uses XPC to communicate with opendirectoryd. Implementing a module as an XPC service ensures a private address space and improves security and reliability, because modules cannot crash another module or opendirectoryd.
Required Entry Points
Every Open Directory plug-in must provide the entry points described in this section. The entry points are listed below in the order in which they are typically called.
Initialize, called by Open Directory so that the plug-in can initialize itself.Validate, called by Open Directory when plug-ins are loaded in order to pass to each plug-in a unique value that the plug-in uses to identify itself when it calls Open Directory callback routines in order to register and unregister directory nodes or to write information in an Open Directory log file.SetPluginState, called by Open Directory to notify the plug-in of a change in state. For example, this entry point would be called to enable or disable the plug-in.PeriodicTask, called by Open Directory on a regular basis so that the plug-in can perform periodic tasks.ProcessRequest, called by Open Directory to pass requests from Open Directory clients.Shutdown, called by Open Directory to tell the plug-in that Open Directory is shutting down. For example, this entry point would be called when the system shuts down. The plug-in should release memory and perform any other tasks to prepare itself for shutdown.
Copyright © 2015 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2015-03-09