1*5a1d355fSStephan Aßmus // ExtendedServerInfo.h 2*5a1d355fSStephan Aßmus 3*5a1d355fSStephan Aßmus #ifndef NET_FS_EXTENDED_SERVER_INFO_H 4*5a1d355fSStephan Aßmus #define NET_FS_EXTENDED_SERVER_INFO_H 5*5a1d355fSStephan Aßmus 6*5a1d355fSStephan Aßmus #include <HashString.h> 7*5a1d355fSStephan Aßmus #include <Referenceable.h> 8*5a1d355fSStephan Aßmus 9*5a1d355fSStephan Aßmus #include "NetAddress.h" 10*5a1d355fSStephan Aßmus #include "Vector.h" 11*5a1d355fSStephan Aßmus 12*5a1d355fSStephan Aßmus class ServerInfo; 13*5a1d355fSStephan Aßmus class ShareInfo; 14*5a1d355fSStephan Aßmus 15*5a1d355fSStephan Aßmus // ExtendedShareInfo 16*5a1d355fSStephan Aßmus class ExtendedShareInfo : public BReferenceable { 17*5a1d355fSStephan Aßmus public: 18*5a1d355fSStephan Aßmus ExtendedShareInfo(); 19*5a1d355fSStephan Aßmus 20*5a1d355fSStephan Aßmus status_t SetTo(const ShareInfo* shareInfo); 21*5a1d355fSStephan Aßmus 22*5a1d355fSStephan Aßmus const char* GetShareName() const; 23*5a1d355fSStephan Aßmus 24*5a1d355fSStephan Aßmus private: 25*5a1d355fSStephan Aßmus HashString fShareName; 26*5a1d355fSStephan Aßmus }; 27*5a1d355fSStephan Aßmus 28*5a1d355fSStephan Aßmus // ExtendedServerInfo 29*5a1d355fSStephan Aßmus class ExtendedServerInfo : public BReferenceable { 30*5a1d355fSStephan Aßmus public: 31*5a1d355fSStephan Aßmus ExtendedServerInfo(const NetAddress& address); 32*5a1d355fSStephan Aßmus ~ExtendedServerInfo(); 33*5a1d355fSStephan Aßmus 34*5a1d355fSStephan Aßmus const NetAddress& GetAddress() const; 35*5a1d355fSStephan Aßmus const char* GetServerName() const; 36*5a1d355fSStephan Aßmus const char* GetConnectionMethod() const; 37*5a1d355fSStephan Aßmus 38*5a1d355fSStephan Aßmus int32 CountShares() const; 39*5a1d355fSStephan Aßmus ExtendedShareInfo* ShareInfoAt(int32 index) const; 40*5a1d355fSStephan Aßmus ExtendedShareInfo* GetShareInfo(const char* name); 41*5a1d355fSStephan Aßmus 42*5a1d355fSStephan Aßmus status_t SetTo(ServerInfo* serverInfo); 43*5a1d355fSStephan Aßmus 44*5a1d355fSStephan Aßmus void SetState(uint32 state); 45*5a1d355fSStephan Aßmus uint32 GetState() const; 46*5a1d355fSStephan Aßmus // used by the ServerManager only 47*5a1d355fSStephan Aßmus 48*5a1d355fSStephan Aßmus private: 49*5a1d355fSStephan Aßmus status_t _AddShare(const ShareInfo* info); 50*5a1d355fSStephan Aßmus 51*5a1d355fSStephan Aßmus private: 52*5a1d355fSStephan Aßmus NetAddress fAddress; 53*5a1d355fSStephan Aßmus HashString fServerName; 54*5a1d355fSStephan Aßmus HashString fConnectionMethod; 55*5a1d355fSStephan Aßmus Vector<ExtendedShareInfo*> fShareInfos; 56*5a1d355fSStephan Aßmus uint32 fState; 57*5a1d355fSStephan Aßmus }; 58*5a1d355fSStephan Aßmus 59*5a1d355fSStephan Aßmus #endif // NET_FS_EXTENDED_SERVER_INFO_H 60