#ifndef __DSAPIWrapper__
#define __DSAPIWrapper__
#include <DirectoryService/DirServices.h>
#include <DirectoryService/DirServicesTypes.h>
class DSAPIWrapper
{
public:
DSAPIWrapper();
virtual ~DSAPIWrapper();
virtual void CloseCurrentNodeRef( void );
virtual tDirStatus OpenDirectoryServices( void );
virtual tDirStatus OpenSpecificPasswordServerNode( const char *inServerAddress );
virtual tDirStatus OpenLocalLDAPNode( const char *inUser, const char *inPassword );
virtual tDirStatus OpenNodeByName( const char *inNodeName, const char *inUser, const char *inPassword );
virtual tDirStatus OpenNodeByName( tDataListPtr inNodeName, const char *inUser, const char *inPassword );
virtual tDirStatus GetLocallyHostedNodeList( void );
virtual tDirStatus OpenLocallyHostedNode( UInt32 inNodeIndex );
virtual tDirStatus OpenRecord(
const char *inRecordType,
const char *inRecordName,
tRecordReference *outRecordRef,
bool inCreate = false );
virtual tDirStatus AddShortName(
tRecordReference inRecordRef,
const char *inShortName );
virtual tDirStatus DoDirNodeAuthOnRecordType(
const char *inAuthType,
bool inAuthOnly,
tDataBufferPtr inSendDataBufPtr,
tDataBufferPtr inResponseDataBufPtr,
tContextData *inOutContinueData,
const char *inRecType );
virtual tDirStatus GetServerAddressForUser( const char *uname, char *serverAddress, char **userNodeName );
tDirReference GetDSRef( void ) { return mDSRef; };
tDirNodeReference GetCurrentNodeRef( void ) { return mNodeRef; };
UInt32 GetLocallyHostedNodeCount( void ) { return mNodeCount; };
char *CopyRecordName( tRecordReference inRecordRef );
protected:
tDirReference mDSRef;
tDirNodeReference mNodeRef;
tDataBuffer *mNodeListBuff;
UInt32 mNodeCount;
bool mCurrentNodeAuthenticated;
bool mCurrentNodeIsLDAP;
};
#endif