1// ServerInfo.h 2 3#ifndef NET_FS_SERVER_INFO_H 4#define NET_FS_SERVER_INFO_H 5 6#include "HashString.h" 7#include "Request.h" 8#include "Vector.h" 9 10// ShareInfo 11class ShareInfo : public FlattenableRequestMember { 12public: 13 ShareInfo(); 14 15 bool IsValid() const; 16 17 virtual void ShowAround(RequestMemberVisitor* visitor); 18 19 virtual status_t Flatten(RequestFlattener* flattener); 20 virtual status_t Unflatten(RequestUnflattener* unflattener); 21 22 status_t SetShareName(const char* shareName); 23 const char* GetShareName() const; 24 25private: 26 HashString fShareName; 27}; 28 29 30// ServerInfo 31class ServerInfo : public FlattenableRequestMember { 32public: 33 ServerInfo(); 34 ServerInfo(const ServerInfo& other); 35 36 virtual void ShowAround(RequestMemberVisitor* visitor); 37 38 virtual status_t Flatten(RequestFlattener* flattener); 39 virtual status_t Unflatten(RequestUnflattener* unflattener); 40 41 status_t SetServerName(const char* serverName); 42 const char* GetServerName() const; 43 44 status_t SetConnectionMethod( 45 const char* connectionMethod); 46 const char* GetConnectionMethod() const; 47 48 status_t AddShare(const char* shareName); 49 int32 CountShares() const; 50 const ShareInfo& ShareInfoAt(int32 index) const; 51 52 ServerInfo& operator=(const ServerInfo& other); 53 54private: 55 HashString fServerName; 56 HashString fConnectionMethod; 57 Vector<ShareInfo> fShareInfos; 58}; 59 60#endif // NET_FS_SERVER_INFO_H 61