00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052 #ifndef INC_MI32_NETNGHBR_H
00053 #define INC_MI32_NETNGHBR_H
00054
00055 #ifndef INC_MI32_MISTRING
00056 #include <mi32/mistring.h>
00057 #endif
00058
00059 #ifndef INC_MI32_MILIST
00060 #include <mi32/milist.h>
00061 #endif
00062
00063 #ifdef MISYSTEMDLL
00064 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00065 #else
00066 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00067 #endif
00068
00069 class CLASSLIBEXPORT NETNEIGHBOR {
00070 public:
00071
00072 enum CHILDTYPE {
00073 CHILDTYPE_Invalid = 0,
00074 CHILDTYPE_Container,
00075 CHILDTYPE_Connectable
00076 };
00077
00078
00079
00081 NETNEIGHBOR (
00082 );
00083
00085 ~NETNEIGHBOR (
00086 );
00087
00089 NETNEIGHBOR (
00090 const NETNEIGHBOR& rhs
00091 );
00092
00094 NETNEIGHBOR& operator= (
00095 const NETNEIGHBOR& rhs
00096 );
00097
00098
00099
00101 void Clear (
00102 );
00103
00107 int EnumChildren (
00108 MISTRINGLIST &HostList
00109 );
00110
00114 int EnumChildren (
00115 const NETNEIGHBOR& parent,
00116 const MISTRING& name,
00117 MISTRINGLIST &ShareList
00118 );
00119
00121 CHILDTYPE GetChildType (
00122 const MISTRING& name
00123 ) const;
00124
00126 void GetDesc (
00127 const MISTRING& name,
00128 MISTRING& desc
00129 ) const;
00130
00132 bool HasChildren (
00133 ) const;
00134
00135 private:
00136 #ifndef GENERATING_DOXYGEN_OUTPUT
00137
00138 int ListChildren (
00139 MISTRINGLIST &List,
00140 INT32 StartOffset
00141 );
00142
00143 struct NETRES {
00144 UINT32 dwScope;
00145 UINT32 dwType;
00146 UINT32 dwDisplayType;
00147 UINT32 dwUsage;
00148 MISTRING lpLocalName;
00149 MISTRING lpRemoteName;
00150 MISTRING lpComment;
00151 MISTRING lpProvider;
00152 };
00153
00154 MILIST<NETRES>::CONST_ITERATOR FindEntry (
00155 const MISTRING& name
00156 ) const;
00157
00158 MILIST<NETRES> *m_ChildArray;
00159 void *m_EnumHandle;
00160 UINT32 m_ChildArraySize;
00161 UINT32 m_NumChildren;
00162 #endif // GENERATING_DOXYGEN_OUTPUT
00163
00164 };
00165
00166 #undef LIBEXPORT
00167 #undef CLASSLIBEXPORT
00168
00169
00170 #endif