/* * Copyright 2001-2006, Haiku. * Distributed under the terms of the MIT License. * * Authors: * Ingo Weinhold (bonefish@users.sf.net) */ #ifndef _ROSTER_PRIVATE_H #define _ROSTER_PRIVATE_H #include #include class BRoster::Private { public: Private() : fRoster(const_cast(be_roster)) {} Private(BRoster &roster) : fRoster(&roster) {} Private(BRoster *roster) : fRoster(roster) {} void SetTo(BMessenger mainMessenger, BMessenger mimeMessenger); status_t SendTo(BMessage *message, BMessage *reply, bool mime); bool IsMessengerValid(bool mime) const; status_t ShutDown(bool reboot, bool confirm, bool synchronous) { return fRoster->_ShutDown(reboot, confirm, synchronous); } // needed by BApplication status_t AddApplication(const char *mimeSig, const entry_ref *ref, uint32 flags, team_id team, thread_id thread, port_id port, bool fullReg, uint32 *token, team_id *otherTeam) const { return fRoster->_AddApplication(mimeSig, ref, flags, team, thread, port, fullReg, token, otherTeam); } status_t SetSignature(team_id team, const char *mimeSig) const { return fRoster->_SetSignature(team, mimeSig); } status_t CompleteRegistration(team_id team, thread_id thread, port_id port) const { return fRoster->_CompleteRegistration(team, thread, port); } bool IsAppPreRegistered(const entry_ref *ref, team_id team, app_info *info) const { return fRoster->_IsAppPreRegistered(ref, team, info); } status_t RemoveApp(team_id team) const { return fRoster->_RemoveApp(team); } // needed by GetRecentTester void AddToRecentApps(const char *appSig) const { fRoster->_AddToRecentApps(appSig); } void ClearRecentDocuments() const { fRoster->_ClearRecentDocuments(); } void ClearRecentFolders() const { fRoster->_ClearRecentFolders(); } void ClearRecentApps() const { fRoster->_ClearRecentApps(); } void LoadRecentLists(const char *file) const { fRoster->_LoadRecentLists(file); } void SaveRecentLists(const char *file) const { fRoster->_SaveRecentLists(file); } static void InitBeRoster(); static void DeleteBeRoster(); private: BRoster *fRoster; }; #endif // _ROSTER_PRIVATE_H