248 lines
5.7 KiB
C++
248 lines
5.7 KiB
C++
|
/*****************************************************************/
|
||
|
/** 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_
|