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 13class BBitmap; 14 15 16namespace BPrivate { 17namespace Storage { 18namespace Mime { 19 20 21class DatabaseLocation; 22 23 24// Attribute Prefixes 25extern const char* kMiniIconAttrPrefix; 26extern const char* kLargeIconAttrPrefix; 27extern const char* kIconAttrPrefix; 28 29// Attribute names 30extern const char* kFileTypeAttr; 31extern const char* kTypeAttr; 32extern const char* kAttrInfoAttr; 33extern const char* kAppHintAttr; 34extern const char* kShortDescriptionAttr; 35extern const char* kLongDescriptionAttr; 36extern const char* kFileExtensionsAttr; 37extern const char* kMiniIconAttr; 38extern const char* kLargeIconAttr; 39extern const char* kIconAttr; 40extern const char* kPreferredAppAttr; 41extern const char* kSnifferRuleAttr; 42extern const char* kSupportedTypesAttr; 43 44// Attribute Datatypes 45extern const int32 kFileTypeType; 46extern const int32 kTypeType; 47extern const int32 kAppHintType; 48extern const int32 kAttrInfoType; 49extern const int32 kShortDescriptionType; 50extern const int32 kLongDescriptionType; 51extern const int32 kFileExtensionsType; 52extern const int32 kMiniIconType; 53extern const int32 kLargeIconType; 54extern const int32 kIconType; 55extern const int32 kPreferredAppType; 56extern const int32 kSnifferRuleType; 57extern const int32 kSupportedTypesType; 58 59// Message fields 60extern const char* kApplicationsField; 61extern const char* kExtensionsField; 62extern const char* kSupertypesField; 63extern const char* kSupportingAppsSubCountField; 64extern const char* kSupportingAppsSuperCountField; 65extern const char* kTypesField; 66 67// Mime types 68extern const char* kGenericFileType; 69extern const char* kDirectoryType; 70extern const char* kSymlinkType; 71extern const char* kMetaMimeType; 72 73// Error codes (to be used only by BPrivate::Storage::Mime members) 74extern const status_t kMimeGuessFailureError; 75 76 77DatabaseLocation* 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 81status_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