#ifndef NETFS_SERVER_ROSTER_H
#define NETFS_SERVER_ROSTER_H
#include <Messenger.h>
#include <OS.h>
class NetFSServerRoster {
public:
NetFSServerRoster();
~NetFSServerRoster();
bool IsServerRunning();
status_t LaunchServer();
status_t TerminateServer(bool force = false,
bigtime_t timeout = B_INFINITE_TIMEOUT);
status_t SaveServerSettings();
status_t AddUser(const char* user, const char* password);
status_t RemoveUser(const char* user);
status_t GetUsers(BMessage* users);
status_t GetUserStatistics(const char* user,
BMessage* statistics);
status_t AddShare(const char* share, const char* path);
status_t RemoveShare(const char* share);
status_t GetShares(BMessage* shares);
status_t GetShareUsers(const char* share,
BMessage* users);
status_t GetShareStatistics(const char* share,
BMessage* statistics);
status_t SetUserPermissions(const char* share,
const char* user, uint32 permissions);
status_t GetUserPermissions(const char* share,
const char* user, uint32* permissions);
private:
status_t _InitMessenger();
status_t _SendRequest(BMessage* request,
BMessage* reply = NULL);
private:
BMessenger fServerMessenger;
};
#endif