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