CConfigurePlugin.h [plain text]
#ifndef __CConfigurePlugin_H__
#define __CConfigurePlugin_H__ 1
#include <stdio.h>
#include "DirServicesTypes.h"
#include "PrivateTypes.h"
#include "CSharedData.h"
#include "PluginData.h"
#include "CServerPlugin.h"
typedef struct {
uInt32 offset;
SCPreferencesRef session;
} sConfigContextData;
class CConfigurePlugin : public CServerPlugin
{
public:
CConfigurePlugin ( FourCharCode inSig, const char *inName );
virtual ~CConfigurePlugin ( void );
static void WakeUpRequests ( void );
static void ContinueDeallocProc ( void* inContinueData );
static void ContextDeallocProc ( void* inContextData );
virtual sInt32 Validate ( const char *inVersionStr, const uInt32 inSignature );
virtual sInt32 Initialize ( void );
virtual sInt32 Configure ( void );
virtual sInt32 SetPluginState ( const uInt32 inState );
virtual sInt32 PeriodicTask ( void );
virtual sInt32 ProcessRequest ( void *inData );
virtual sInt32 Shutdown ( void );
protected:
sInt32 HandleRequest ( void *inData );
void WaitForInit ( void );
private:
sInt32 OpenDirNode ( sOpenDirNode *inData );
sInt32 CloseDirNode ( sCloseDirNode *inData );
sInt32 GetRecordList ( sGetRecordList *inData );
sInt32 GetRecordEntry ( sGetRecordEntry *inData );
sInt32 GetAttributeEntry ( sGetAttributeEntry *inData );
sInt32 GetAttributeValue ( sGetAttributeValue *inData );
sInt32 CloseAttributeList ( sCloseAttributeList *inData );
sInt32 CloseAttributeValueList ( sCloseAttributeValueList *inData );
sInt32 ReleaseContinueData ( sReleaseContinueData *inData );
sConfigContextData *MakeContextData ( void );
sInt32 DoPlugInCustomCall ( sDoPlugInCustomCall *inData );
tDataList *fConfigNodeName;
uInt32 fNodeCount;
char *fConfigPath;
uInt32 fState;
uInt32 fToken;
};
#endif // __CConfigurePlugin_H__