1*5a1d355fSStephan Aßmus // NetFSServerRoster.h 2*5a1d355fSStephan Aßmus 3*5a1d355fSStephan Aßmus #ifndef NETFS_SERVER_ROSTER_H 4*5a1d355fSStephan Aßmus #define NETFS_SERVER_ROSTER_H 5*5a1d355fSStephan Aßmus 6*5a1d355fSStephan Aßmus #include <Messenger.h> 7*5a1d355fSStephan Aßmus #include <OS.h> 8*5a1d355fSStephan Aßmus 9*5a1d355fSStephan Aßmus class NetFSServerRoster { 10*5a1d355fSStephan Aßmus public: 11*5a1d355fSStephan Aßmus NetFSServerRoster(); 12*5a1d355fSStephan Aßmus ~NetFSServerRoster(); 13*5a1d355fSStephan Aßmus 14*5a1d355fSStephan Aßmus // server 15*5a1d355fSStephan Aßmus bool IsServerRunning(); 16*5a1d355fSStephan Aßmus status_t LaunchServer(); 17*5a1d355fSStephan Aßmus status_t TerminateServer(bool force = false, 18*5a1d355fSStephan Aßmus bigtime_t timeout = B_INFINITE_TIMEOUT); 19*5a1d355fSStephan Aßmus status_t SaveServerSettings(); 20*5a1d355fSStephan Aßmus 21*5a1d355fSStephan Aßmus // users 22*5a1d355fSStephan Aßmus status_t AddUser(const char* user, const char* password); 23*5a1d355fSStephan Aßmus status_t RemoveUser(const char* user); 24*5a1d355fSStephan Aßmus status_t GetUsers(BMessage* users); 25*5a1d355fSStephan Aßmus status_t GetUserStatistics(const char* user, 26*5a1d355fSStephan Aßmus BMessage* statistics); 27*5a1d355fSStephan Aßmus 28*5a1d355fSStephan Aßmus // shares 29*5a1d355fSStephan Aßmus status_t AddShare(const char* share, const char* path); 30*5a1d355fSStephan Aßmus status_t RemoveShare(const char* share); 31*5a1d355fSStephan Aßmus status_t GetShares(BMessage* shares); 32*5a1d355fSStephan Aßmus status_t GetShareUsers(const char* share, 33*5a1d355fSStephan Aßmus BMessage* users); 34*5a1d355fSStephan Aßmus status_t GetShareStatistics(const char* share, 35*5a1d355fSStephan Aßmus BMessage* statistics); 36*5a1d355fSStephan Aßmus 37*5a1d355fSStephan Aßmus // permissions 38*5a1d355fSStephan Aßmus status_t SetUserPermissions(const char* share, 39*5a1d355fSStephan Aßmus const char* user, uint32 permissions); 40*5a1d355fSStephan Aßmus status_t GetUserPermissions(const char* share, 41*5a1d355fSStephan Aßmus const char* user, uint32* permissions); 42*5a1d355fSStephan Aßmus 43*5a1d355fSStephan Aßmus private: 44*5a1d355fSStephan Aßmus status_t _InitMessenger(); 45*5a1d355fSStephan Aßmus status_t _SendRequest(BMessage* request, 46*5a1d355fSStephan Aßmus BMessage* reply = NULL); 47*5a1d355fSStephan Aßmus 48*5a1d355fSStephan Aßmus private: 49*5a1d355fSStephan Aßmus BMessenger fServerMessenger; 50*5a1d355fSStephan Aßmus }; 51*5a1d355fSStephan Aßmus 52*5a1d355fSStephan Aßmus #endif // NETFS_SERVER_ROSTER_H 53