Handles supporting application management. This is an
initial, theoretically fully functional implementation. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@919 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
//----------------------------------------------------------------------
|
||||
// This software is part of the OpenBeOS distribution and is covered
|
||||
// by the OpenBeOS license.
|
||||
//---------------------------------------------------------------------
|
||||
/*!
|
||||
\file SupportingApps.h
|
||||
SupportingApps class declarations
|
||||
*/
|
||||
|
||||
#ifndef _MIME_SUPPORTING_APPS_H
|
||||
#define _MIME_SUPPORTING_APPS_H
|
||||
|
||||
#include <SupportDefs.h>
|
||||
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <string>
|
||||
|
||||
class BMessage;
|
||||
|
||||
namespace BPrivate {
|
||||
namespace Storage {
|
||||
namespace Mime {
|
||||
|
||||
class SupportingApps {
|
||||
public:
|
||||
SupportingApps();
|
||||
~SupportingApps();
|
||||
|
||||
status_t GetSupportingApps(const char *type, BMessage *apps);
|
||||
status_t SetSupportedTypes(const char *app, const BMessage *types, bool fullSync);
|
||||
private:
|
||||
status_t AddSupportingApp(const char *type, const char *app);
|
||||
status_t RemoveSupportingApp(const char *type, const char *app);
|
||||
|
||||
status_t BuildSupportingAppsTable();
|
||||
|
||||
std::map<std::string, std::set<std::string> > fSupportedTypes; // app sig => set of supported types
|
||||
std::map<std::string, std::set<std::string> > fSupportingApps; // mime type => set of supporting apps
|
||||
bool fHaveDoneFullBuild;
|
||||
};
|
||||
|
||||
} // namespace Mime
|
||||
} // namespace Storage
|
||||
} // namespace BPrivate
|
||||
|
||||
#endif // _MIME_SUPPORTING_APPS_H
|
||||
Reference in New Issue
Block a user