183812f67SIngo Weinhold // UserlandFSServer.h 283812f67SIngo Weinhold 383812f67SIngo Weinhold #ifndef USERLAND_FS_SERVER_H 483812f67SIngo Weinhold #define USERLAND_FS_SERVER_H 583812f67SIngo Weinhold 683812f67SIngo Weinhold #include <Application.h> 74ed322c6SIngo Weinhold #include <image.h> 883812f67SIngo Weinhold 9ca6faf49SIngo Weinhold namespace UserlandFSUtil { 10ca6faf49SIngo Weinhold class RequestPort; 11ca6faf49SIngo Weinhold } 12ca6faf49SIngo Weinhold using UserlandFSUtil::RequestPort; 13ca6faf49SIngo Weinhold 1483812f67SIngo Weinhold namespace UserlandFS { 1583812f67SIngo Weinhold 165d3147f6SIngo Weinhold class FileSystem; 1783812f67SIngo Weinhold class RequestThread; 1883812f67SIngo Weinhold 1983812f67SIngo Weinhold class UserlandFSServer : public BApplication { 2083812f67SIngo Weinhold public: 2183812f67SIngo Weinhold UserlandFSServer(const char* signature); 2283812f67SIngo Weinhold virtual ~UserlandFSServer(); 2383812f67SIngo Weinhold 24*2f1f4f54SIngo Weinhold status_t Init(const char* fileSystem, port_id port); 2583812f67SIngo Weinhold 2683812f67SIngo Weinhold static RequestPort* GetNotificationRequestPort(); 275d3147f6SIngo Weinhold static FileSystem* GetFileSystem(); 2883812f67SIngo Weinhold 2983812f67SIngo Weinhold private: 30*2f1f4f54SIngo Weinhold status_t _Announce(const char* fsName, port_id port); 314ed322c6SIngo Weinhold 3283812f67SIngo Weinhold private: 3383812f67SIngo Weinhold image_id fAddOnImage; 345d3147f6SIngo Weinhold FileSystem* fFileSystem; 3583812f67SIngo Weinhold RequestPort* fNotificationRequestPort; 3683812f67SIngo Weinhold RequestThread* fRequestThreads; 3783812f67SIngo Weinhold }; 3883812f67SIngo Weinhold 3983812f67SIngo Weinhold } // namespace UserlandFS 4083812f67SIngo Weinhold 415d3147f6SIngo Weinhold using UserlandFS::FileSystem; 4283812f67SIngo Weinhold using UserlandFS::RequestThread; 4383812f67SIngo Weinhold using UserlandFS::UserlandFSServer; 4483812f67SIngo Weinhold 4583812f67SIngo Weinhold #endif // USERLAND_FS_SERVER_H 46