xref: /haiku/headers/private/storage/mime/database_support.h (revision 13581b3d2a71545960b98fefebc5225b5bf29072)
1 /*
2  * Copyright 2002-2014 Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _MIME_DATABASE_SUPPORT_H
6 #define _MIME_DATABASE_SUPPORT_H
7 
8 
9 #include <Mime.h>
10 #include <SupportDefs.h>
11 
12 
13 class BBitmap;
14 
15 
16 namespace BPrivate {
17 namespace Storage {
18 namespace Mime {
19 
20 
21 class DatabaseLocation;
22 
23 
24 // Attribute Prefixes
25 extern const char* kMiniIconAttrPrefix;
26 extern const char* kLargeIconAttrPrefix;
27 extern const char* kIconAttrPrefix;
28 
29 // Attribute names
30 extern const char* kFileTypeAttr;
31 extern const char* kTypeAttr;
32 extern const char* kAttrInfoAttr;
33 extern const char* kAppHintAttr;
34 extern const char* kShortDescriptionAttr;
35 extern const char* kLongDescriptionAttr;
36 extern const char* kFileExtensionsAttr;
37 extern const char* kMiniIconAttr;
38 extern const char* kLargeIconAttr;
39 extern const char* kIconAttr;
40 extern const char* kPreferredAppAttr;
41 extern const char* kSnifferRuleAttr;
42 extern const char* kSupportedTypesAttr;
43 
44 // Attribute Datatypes
45 extern const int32 kFileTypeType;
46 extern const int32 kTypeType;
47 extern const int32 kAppHintType;
48 extern const int32 kAttrInfoType;
49 extern const int32 kShortDescriptionType;
50 extern const int32 kLongDescriptionType;
51 extern const int32 kFileExtensionsType;
52 extern const int32 kMiniIconType;
53 extern const int32 kLargeIconType;
54 extern const int32 kIconType;
55 extern const int32 kPreferredAppType;
56 extern const int32 kSnifferRuleType;
57 extern const int32 kSupportedTypesType;
58 
59 // Message fields
60 extern const char* kApplicationsField;
61 extern const char* kExtensionsField;
62 extern const char* kSupertypesField;
63 extern const char* kSupportingAppsSubCountField;
64 extern const char* kSupportingAppsSuperCountField;
65 extern const char* kTypesField;
66 
67 // Mime types
68 extern const char* kGenericFileType;
69 extern const char* kDirectoryType;
70 extern const char* kSymlinkType;
71 extern const char* kMetaMimeType;
72 
73 // Error codes (to be used only by BPrivate::Storage::Mime members)
74 extern const status_t kMimeGuessFailureError;
75 
76 
77 DatabaseLocation* default_database_location();
78 
79 // Called by BMimeType to get properly formatted icon data ready
80 // to be shipped off to SetIcon*() and written to the database
81 status_t get_icon_data(const BBitmap* icon, icon_size size, void** data,
82 	int32* dataSize);
83 
84 
85 } // namespace Mime
86 } // namespace Storage
87 } // namespace BPrivate
88 
89 
90 #endif	// _MIME_DATABASE_SUPPORT_H
91