/*****************************************************************/ /** Microsoft LAN Manager **/ /** Copyright(c) Microsoft Corp., 1991 **/ /*****************************************************************/ /* * History: * RustanL 03-Jan-1991 Created * RustanL 10-Jan-1991 Added SHARE1 subclass and iterator * ChuckC 23-Mar-1991 code rev cleanup * KeithMo 28-Jul-1991 Added SHARE2 subclass and iterator * KeithMo 07-Oct-1991 Win32 Conversion. * Yi-HsinS 20-Nov-1992 Added _fSticky * */ #ifndef _LMOESH_HXX_ #define _LMOESH_HXX_ #include "lmoenum.hxx" /**********************************************************\ NAME: SHARE_ENUM WORKBOOK: SYNOPSIS: SHARE ENUM class INTERFACE: PARENT: LOC_LM_ENUM USES: CAVEATS: NOTES: HISTORY: RustanL 03-Jan-1991 Created RustanL 10-Jan-1991 Added SHARE1 subclass and iterator \**********************************************************/ DLL_CLASS SHARE_ENUM : public LOC_LM_ENUM { private: BOOL _fSticky; virtual APIERR CallAPI( BYTE ** ppbBuffer, UINT * pcEntriesRead ); protected: SHARE_ENUM( const TCHAR * pszServer, UINT uLevel, BOOL fSticky = FALSE ); }; // class SHARE_ENUM /**********************************************************\ NAME: SHARE1_ENUM WORKBOOK: SYNOPSIS: SHARE ENUM level 1 object INTERFACE: SHARE1_ENUM() - constructor ~SHARE1_ENUM() - constructor PARENT: SHARE_ENUM USES: CAVEATS: NOTES: HISTORY: RustanL 03-Jan-1991 Created RustanL 10-Jan-1991 Added SHARE1 subclass and iterator \**********************************************************/ DLL_CLASS SHARE1_ENUM : public SHARE_ENUM { public: SHARE1_ENUM( const TCHAR * pszServer, BOOL fSticky = FALSE ); }; // class SHARE1_ENUM /************************************************************************* NAME: SHARE1_ENUM_OBJ SYNOPSIS: This is basically the return type from the SHARE1_ENUM_ITER iterator. INTERFACE: SHARE1_ENUM_OBJ - Class constructor. ~SHARE1_ENUM_OBJ - Class destructor. QueryBufferPtr - Replaces ENUM_OBJ_BASE method. QueryName - Returns the sharepoint name. QueryResourceType - Returns the resource type. QueryComment - Returns the sharepoint comment. PARENT: ENUM_OBJ_BASE HISTORY: KeithMo 07-Oct-1991 Created. **************************************************************************/ DLL_CLASS SHARE1_ENUM_OBJ : public ENUM_OBJ_BASE { public: // // Provide properly-casted buffer Query/Set methods. // const struct share_info_1 * QueryBufferPtr( VOID ) const { return (const struct share_info_1 *)ENUM_OBJ_BASE::QueryBufferPtr(); } VOID SetBufferPtr( const struct share_info_1 * pBuffer ); // // Accessors. // DECLARE_ENUM_ACCESSOR( QueryName, const TCHAR *, shi1_netname ); DECLARE_ENUM_ACCESSOR( QueryResourceType, UINT, shi1_type ); DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, shi1_remark ); }; // class SHARE1_ENUM_OBJ DECLARE_LM_ENUM_ITER_OF( SHARE1, struct share_info_1 ); /************************************************************************* NAME: SHARE2_ENUM SYNOPSIS: SHARE2_ENUM is an enumerator for enumerating the sharepoints on a particular server. INTERFACE: SHARE2_ENUM() - Class constructor. PARENT: SHARE_ENUM USES: None. CAVEATS: NOTES: HISTORY: KeithMo 28-Jul-1991 Created. **************************************************************************/ DLL_CLASS SHARE2_ENUM : public SHARE_ENUM { public: SHARE2_ENUM( const TCHAR * pszServer, BOOL fSticky = FALSE ); }; // class SHARE2_ENUM /************************************************************************* NAME: SHARE2_ENUM_OBJ SYNOPSIS: This is basically the return type from the SHARE2_ENUM_ITER iterator. INTERFACE: SHARE2_ENUM_OBJ - Class constructor. ~SHARE2_ENUM_OBJ - Class destructor. QueryBufferPtr - Replaces ENUM_OBJ_BASE method. QueryName - Returns the sharepoint name. QueryType - Returns the sharepoint type. QueryComment - Returns the sharepoint comment. QueryPermissions - Returns the sharepoint permissions. QueryMaxUses - Returns the maximum number of uses allowed. QueryCurrentUses - Returns the current number of uses connected to the sharepoint. QueryPath - Returns the sharepoint path. QueryPassword - Returns the sharepoint password. PARENT: ENUM_OBJ_BASE HISTORY: KeithMo 07-Oct-1991 Created. **************************************************************************/ DLL_CLASS SHARE2_ENUM_OBJ : public ENUM_OBJ_BASE { public: // // Provide properly-casted buffer Query/Set methods. // const struct share_info_2 * QueryBufferPtr( VOID ) const { return (const struct share_info_2 *)ENUM_OBJ_BASE::QueryBufferPtr(); } VOID SetBufferPtr( const struct share_info_2 * pBuffer ); // // Accessors. // DECLARE_ENUM_ACCESSOR( QueryName, const TCHAR *, shi2_netname ); DECLARE_ENUM_ACCESSOR( QueryType, UINT, shi2_type ); DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, shi2_remark ); DECLARE_ENUM_ACCESSOR( QueryPermissions,UINT, shi2_permissions ); DECLARE_ENUM_ACCESSOR( QueryMaxUses, UINT, shi2_max_uses ); DECLARE_ENUM_ACCESSOR( QueryCurrentUses,UINT, shi2_current_uses ); DECLARE_ENUM_ACCESSOR( QueryPath, const TCHAR *, shi2_path ); DECLARE_ENUM_ACCESSOR( QueryPassword, const TCHAR *, shi2_passwd ); }; // class SHARE2_ENUM_OBJ DECLARE_LM_ENUM_ITER_OF( SHARE2, struct share_info_2 ) #endif // _LMOESH_HXX_