+ Added SetSupportedTypes() test

+ Modified BMimeType::SetSupportedTypes functionality so it keeps track of
stranded types (i.e. previously supported types that have not had the now
unsupporting app signature removed from their supporting apps list yet due
to a false fullSync parameter) over consecutive SetSupportedTypes(...,
false) calls and updates all appropriate stranded types on the next
SetSupportedTypes(..., true) call.
+ Added fullSync parameter to BMimeType::DeleteSupportedTypes
+ Made BMimeType::Delete() do a DeleteSupportedTypes(..., true) call to
properly update the supporting apps lists when a mime type is deleted.
+ Added initial BMimeType::Get/SetSnifferRule
+ Updated BMimeType::CheckSnifferRule() to return B_BAD_VALUE when passed
a NULL rule string.
+ Brought CheckSnifferRule() tests up to date
+ Added lots of Mime::Database doxygen
+ Added any missing mime monitor notifications in Mime::Database
+ Possibly made some other changes as well... :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1004 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Tyler Dauwalder
2002-09-09 08:12:03 +00:00
parent baa326e0ec
commit e3a2f2069e
10 changed files with 881 additions and 82 deletions
@@ -28,7 +28,9 @@ public:
~SupportingApps();
status_t GetSupportingApps(const char *type, BMessage *apps);
status_t SetSupportedTypes(const char *app, const BMessage *types, bool fullSync);
status_t DeleteSupportedTypes(const char *app, bool fullSync);
private:
status_t AddSupportingApp(const char *type, const char *app);
status_t RemoveSupportingApp(const char *type, const char *app);
@@ -37,6 +39,8 @@ private:
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
std::map<std::string, std::set<std::string> > fStrandedTypes; // app sig => set of no longer supported types for whom the
// given app is still listed as a supporting app
bool fHaveDoneFullBuild;
};