/**********************************************************************/ /** Microsoft LAN Manager **/ /** Copyright(c) Microsoft Corp., 1990, 1991 **/ /**********************************************************************/ /* lmoerepl.hxx This file contains the class declarations for the REPL_EDIR0_ENUM, REPL_EDIR1_ENUM, REPL_EDIR2_ENUM, REPL_IDIR0_ENUM, and REPL_IDIR1_ENUM classes and their associated iterators. and FILE3_ENUM_ITER classes. FILE HISTORY: KeithMo 26-Feb-1992 Created for the Server Manager. */ #ifndef _LMOEREPL_HXX_ #define _LMOEREPL_HXX_ #include "lmoenum.hxx" #include "string.hxx" // // Export directory enumerators. // /************************************************************************* NAME: REPL_EDIR_ENUM SYNOPSIS: Base class for replicator export directory enumerations. INTERFACE: REPL_EDIR_ENUM - Class constructor. ~REPL_EDIR__ENUM - Class destructor. CallAPI - Invoke the enumeration API. PARENT: LOC_LM_ENUM USES: NLS_STR HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_EDIR_ENUM : public LOC_LM_ENUM { private: virtual APIERR CallAPI( BYTE ** ppbBuffer, UINT * pcEntriesRead ); protected: REPL_EDIR_ENUM( const TCHAR * pszServer, UINT Level ); }; // class REPL_EDIR_ENUM /************************************************************************* NAME: REPL_EDIR0_ENUM SYNOPSIS: Info level 0 replicator export directory enumerator. INTERFACE: REPL_EDIR0_ENUM - Class constructor. ~REPL_EDIR0_ENUM - Class destructor. PARENT: REPL_EDIR_ENUM HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_EDIR0_ENUM : public REPL_EDIR_ENUM { public: REPL_EDIR0_ENUM( const TCHAR * pszServer ); }; // class REPL_EDIR0_ENUM /************************************************************************* NAME: REPL_EDIR0_ENUM_OBJ SYNOPSIS: This is basically the return type from the REPL_EDIR0_ENUM_ITER iterator. INTERFACE: REPL_EDIR0_ENUM_OBJ - Class constructor. ~REPL_EDIR0_ENUM_OBJ - Class destructor. QueryBufferPtr - Replaces ENUM_OBJ_BASE method. QueryDirName - Returns the directory name. PARENT: ENUM_OBJ_BASE HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_EDIR0_ENUM_OBJ : public ENUM_OBJ_BASE { public: // // Provide properly-casted buffer Query/Set methods. // const REPL_EDIR_INFO_0 * QueryBufferPtr( VOID ) const { return (const REPL_EDIR_INFO_0 *)ENUM_OBJ_BASE::QueryBufferPtr(); } VOID SetBufferPtr( const REPL_EDIR_INFO_0 * pBuffer ) { ENUM_OBJ_BASE::SetBufferPtr( (const BYTE *)pBuffer ); } // // Accessors. // DECLARE_ENUM_ACCESSOR( QueryDirName, const TCHAR *, rped0_dirname ); }; // class REPL_EDIR0_ENUM_OBJ DECLARE_LM_ENUM_ITER_OF( REPL_EDIR0, REPL_EDIR_INFO_0 ); /************************************************************************* NAME: REPL_EDIR1_ENUM SYNOPSIS: Info level 1 replicator export directory enumerator. INTERFACE: REPL_EDIR1_ENUM - Class constructor. ~REPL_EDIR1_ENUM - Class destructor. PARENT: REPL_EDIR_ENUM HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_EDIR1_ENUM : public REPL_EDIR_ENUM { public: REPL_EDIR1_ENUM( const TCHAR * pszServer ); }; // class REPL_EDIR1_ENUM /************************************************************************* NAME: REPL_EDIR1_ENUM_OBJ SYNOPSIS: This is basically the return type from the REPL_EDIR1_ENUM_ITER iterator. INTERFACE: REPL_EDIR1_ENUM_OBJ - Class constructor. ~REPL_EDIR1_ENUM_OBJ - Class destructor. QueryBufferPtr - Replaces ENUM_OBJ_BASE method. QueryDirName - Returns the directory name. QueryIntegrity - Returns the directory integrity. QueryExtent - Returns the directory extent. PARENT: ENUM_OBJ_BASE HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_EDIR1_ENUM_OBJ : public ENUM_OBJ_BASE { public: // // Provide properly-casted buffer Query/Set methods. // const REPL_EDIR_INFO_1 * QueryBufferPtr( VOID ) const { return (const REPL_EDIR_INFO_1 *)ENUM_OBJ_BASE::QueryBufferPtr(); } VOID SetBufferPtr( const REPL_EDIR_INFO_1 * pBuffer ) { ENUM_OBJ_BASE::SetBufferPtr( (const BYTE *)pBuffer ); } // // Accessors. // DECLARE_ENUM_ACCESSOR( QueryDirName, const TCHAR *, rped1_dirname ); DECLARE_ENUM_ACCESSOR( QueryIntegrity, ULONG, rped1_integrity ); DECLARE_ENUM_ACCESSOR( QueryExtent, ULONG, rped1_extent ); }; // class REPL_EDIR1_ENUM_OBJ DECLARE_LM_ENUM_ITER_OF( REPL_EDIR1, REPL_EDIR_INFO_1 ); /************************************************************************* NAME: REPL_EDIR2_ENUM SYNOPSIS: Info level 2 replicator export directory enumerator. INTERFACE: REPL_EDIR2_ENUM - Class constructor. ~REPL_EDIR2_ENUM - Class destructor. PARENT: REPL_EDIR_ENUM HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_EDIR2_ENUM : public REPL_EDIR_ENUM { public: REPL_EDIR2_ENUM( const TCHAR * pszServer ); }; // class REPL_EDIR2_ENUM /************************************************************************* NAME: REPL_EDIR2_ENUM_OBJ SYNOPSIS: This is basically the return type from the REPL_EDIR2_ENUM_ITER iterator. INTERFACE: REPL_EDIR2_ENUM_OBJ - Class constructor. ~REPL_EDIR2_ENUM_OBJ - Class destructor. QueryBufferPtr - Replaces ENUM_OBJ_BASE method. QueryDirName - Returns the directory name. QueryIntegrity - Returns the directory integrity. QueryExtent - Returns the directory extent. QueryLockCount - Returns the directory lock count. QueryLockTime - Returns the directory lock time. PARENT: ENUM_OBJ_BASE HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_EDIR2_ENUM_OBJ : public ENUM_OBJ_BASE { public: // // Provide properly-casted buffer Query/Set methods. // const REPL_EDIR_INFO_2 * QueryBufferPtr( VOID ) const { return (const REPL_EDIR_INFO_2 *)ENUM_OBJ_BASE::QueryBufferPtr(); } VOID SetBufferPtr( const REPL_EDIR_INFO_2 * pBuffer ) { ENUM_OBJ_BASE::SetBufferPtr( (const BYTE *)pBuffer ); } // // Accessors. // DECLARE_ENUM_ACCESSOR( QueryDirName, const TCHAR *, rped2_dirname ); DECLARE_ENUM_ACCESSOR( QueryIntegrity, ULONG, rped2_integrity ); DECLARE_ENUM_ACCESSOR( QueryExtent, ULONG, rped2_extent ); DECLARE_ENUM_ACCESSOR( QueryLockCount, ULONG, rped2_lockcount ); DECLARE_ENUM_ACCESSOR( QueryLockTime, ULONG, rped2_locktime ); }; // class REPL_EDIR2_ENUM_OBJ DECLARE_LM_ENUM_ITER_OF( REPL_EDIR2, REPL_EDIR_INFO_2 ); // // Import directory enumerators. // /************************************************************************* NAME: REPL_IDIR_ENUM SYNOPSIS: Base class for replicator export directory enumerations. INTERFACE: REPL_IDIR_ENUM - Class constructor. ~REPL_IDIR__ENUM - Class destructor. CallAPI - Invoke the enumeration API. PARENT: LOC_LM_ENUM USES: NLS_STR HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_IDIR_ENUM : public LOC_LM_ENUM { private: virtual APIERR CallAPI( BYTE ** ppbBuffer, UINT * pcEntriesRead ); protected: REPL_IDIR_ENUM( const TCHAR * pszServer, UINT Level ); }; // class REPL_IDIR_ENUM /************************************************************************* NAME: REPL_IDIR0_ENUM SYNOPSIS: Info level 0 replicator export directory enumerator. INTERFACE: REPL_IDIR0_ENUM - Class constructor. ~REPL_IDIR0_ENUM - Class destructor. PARENT: REPL_IDIR_ENUM HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_IDIR0_ENUM : public REPL_IDIR_ENUM { public: REPL_IDIR0_ENUM( const TCHAR * pszServer ); }; // class REPL_IDIR0_ENUM /************************************************************************* NAME: REPL_IDIR0_ENUM_OBJ SYNOPSIS: This is basically the return type from the REPL_IDIR0_ENUM_ITER iterator. INTERFACE: REPL_IDIR0_ENUM_OBJ - Class constructor. ~REPL_IDIR0_ENUM_OBJ - Class destructor. QueryBufferPtr - Replaces ENUM_OBJ_BASE method. QueryDirName - Returns the directory name. PARENT: ENUM_OBJ_BASE HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_IDIR0_ENUM_OBJ : public ENUM_OBJ_BASE { public: // // Provide properly-casted buffer Query/Set methods. // const REPL_IDIR_INFO_0 * QueryBufferPtr( VOID ) const { return (const REPL_IDIR_INFO_0 *)ENUM_OBJ_BASE::QueryBufferPtr(); } VOID SetBufferPtr( const REPL_IDIR_INFO_0 * pBuffer ) { ENUM_OBJ_BASE::SetBufferPtr( (const BYTE *)pBuffer ); } // // Accessors. // DECLARE_ENUM_ACCESSOR( QueryDirName, const TCHAR *, rpid0_dirname ); }; // class REPL_IDIR0_ENUM_OBJ DECLARE_LM_ENUM_ITER_OF( REPL_IDIR0, REPL_IDIR_INFO_0 ); /************************************************************************* NAME: REPL_IDIR1_ENUM SYNOPSIS: Info level 1 replicator export directory enumerator. INTERFACE: REPL_IDIR1_ENUM - Class constructor. ~REPL_IDIR1_ENUM - Class destructor. PARENT: REPL_IDIR_ENUM HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_IDIR1_ENUM : public REPL_IDIR_ENUM { public: REPL_IDIR1_ENUM( const TCHAR * pszServer ); }; // class REPL_IDIR1_ENUM /************************************************************************* NAME: REPL_IDIR1_ENUM_OBJ SYNOPSIS: This is basically the return type from the REPL_IDIR1_ENUM_ITER iterator. INTERFACE: REPL_IDIR1_ENUM_OBJ - Class constructor. ~REPL_IDIR1_ENUM_OBJ - Class destructor. QueryBufferPtr - Replaces ENUM_OBJ_BASE method. QueryDirName - Returns the directory name. QueryState - Returns the directory state. QueryMasterName - Returns the directory master name. QueryLastUpdateTime - Returns the time of the last update. QueryLockCount - Returns the lock count. QueryLockTime - Returns the lock time. PARENT: ENUM_OBJ_BASE HISTORY: KeithMo 26-Feb-1992 Created **************************************************************************/ DLL_CLASS REPL_IDIR1_ENUM_OBJ : public ENUM_OBJ_BASE { public: // // Provide properly-casted buffer Query/Set methods. // const REPL_IDIR_INFO_1 * QueryBufferPtr( VOID ) const { return (const REPL_IDIR_INFO_1 *)ENUM_OBJ_BASE::QueryBufferPtr(); } VOID SetBufferPtr( const REPL_IDIR_INFO_1 * pBuffer ) { ENUM_OBJ_BASE::SetBufferPtr( (const BYTE *)pBuffer ); } // // Accessors. // DECLARE_ENUM_ACCESSOR( QueryDirName, const TCHAR *, rpid1_dirname ); DECLARE_ENUM_ACCESSOR( QueryState, ULONG, rpid1_state ); DECLARE_ENUM_ACCESSOR( QueryMasterName, const TCHAR *, rpid1_mastername ); DECLARE_ENUM_ACCESSOR( QueryLastUpdateTime, ULONG, rpid1_last_update_time ); DECLARE_ENUM_ACCESSOR( QueryLockCount, ULONG, rpid1_lockcount ); DECLARE_ENUM_ACCESSOR( QueryLockTime, ULONG, rpid1_locktime ); }; // class REPL_IDIR1_ENUM_OBJ DECLARE_LM_ENUM_ITER_OF( REPL_IDIR1, REPL_IDIR_INFO_1 ); #endif // _LMOEREPL_HXX_