00001
00030 #ifndef INC_MI32_MINETRES_H
00031 #define INC_MI32_MINETRES_H
00032
00033 #ifndef INC_MI32_MILIST_H
00034 #include <mi32/milist.h>
00035 #endif
00036
00037 #ifndef INC_MI32_MISTRING_H
00038 #include <mi32/mistring.h>
00039 #endif
00040
00048 class MINETRES {
00049 public:
00050
00052 enum DISPLAYTYPE {
00053 DISPLAYTYPE_Invalid = 0,
00054 DISPLAYTYPE_Network,
00055 DISPLAYTYPE_Domain,
00056 DISPLAYTYPE_Server,
00057 DISPLAYTYPE_Share,
00058 DISPLAYTYPE_Directory,
00059 DISPLAYTYPE_Generic
00060 };
00061
00063 enum USAGE {
00064 USAGE_Invalid = 0,
00065 USAGE_Container,
00066 USAGE_Connectable
00067 };
00068
00070 static ERRVALUE BuildMainList (
00071 MILIST<MINETRES>& MainList
00072 );
00073
00075 static ERRVALUE BuildServerList (
00076 MISTRINGLIST& ServerList
00077 );
00078
00080 static ERRVALUE ConstructFromHost (
00081 const MISTRING& HostPath,
00082 MINETRES *& pNetResRet
00083 );
00084
00086 static void ResetServerList (
00087 );
00088
00090 ~MINETRES (
00091 );
00092
00094 ERRVALUE BuildChildList (
00095 MILIST<MINETRES>& ChildList
00096 );
00097
00099 const MISTRING& GetDescription (
00100 ) const { return (m_lpComment); }
00101
00103 const MISTRING& GetDisplayName (
00104 ) const { return (m_DisplayName); }
00105
00107 DISPLAYTYPE GetDisplayType (
00108 ) const;
00109
00110 const MISTRING& GetRemoteName (
00111 ) const { return (m_lpRemoteName); }
00112
00114 USAGE GetUsage (
00115 ) const;
00116
00117 private:
00118 #ifndef GENERATING_DOXYGEN_OUTPUT
00119
00120 UINT32 m_dwScope;
00121 UINT32 m_dwType;
00122 UINT32 m_dwDisplayType;
00123 UINT32 m_dwUsage;
00124 MISTRING m_lpLocalName;
00125 MISTRING m_lpRemoteName;
00126 MISTRING m_lpComment;
00127 MISTRING m_lpProvider;
00128 MISTRING m_DisplayName;
00129
00131 MINETRES (
00132 );
00133
00134 #ifdef WIN32
00135 static ERRVALUE EnumChildren (void*, MILIST<MINETRES>&);
00136 static ERRVALUE ReportError (UINT32 retval);
00137 void SetValues (const void *vpWinNetRes);
00138 #endif
00139
00140 #endif // GENERATING_DOXYGEN_OUTPUT
00141
00142 };
00143
00144 typedef MILIST<MINETRES> MINETRESLIST;
00145
00146
00147 #endif