2 * Copyright 2006-2013, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
5 #ifndef _MINE_MIME_SNIFFER_ADDON_MANAGER_H
6 #define _MINE_MIME_SNIFFER_ADDON_MANAGER_H
13 #include <mime/MimeSniffer.h>
17 class BMimeSnifferAddon
;
26 class MimeSnifferAddonManager
: public BPrivate::Storage::Mime::MimeSniffer
{
28 MimeSnifferAddonManager();
29 ~MimeSnifferAddonManager();
32 static MimeSnifferAddonManager
* Default();
33 static status_t
CreateDefault();
34 static void DeleteDefault();
36 status_t
AddMimeSnifferAddon(BMimeSnifferAddon
* addon
);
38 virtual size_t MinimalBufferSize();
40 virtual float GuessMimeType(const char* fileName
,
42 virtual float GuessMimeType(BFile
* file
,
43 const void* buffer
, int32 length
,
47 struct AddonReference
;
49 status_t
_GetAddons(AddonReference
**& references
,
51 void _PutAddons(AddonReference
** references
,
54 static MimeSnifferAddonManager
* sManager
;
58 size_t fMinimalBufferSize
;
62 } // namespace Storage
63 } // namespace BPrivate
66 #endif // _MINE_MIME_SNIFFER_ADDON_MANAGER_H