#
ee2974da |
|
25-Jan-2014 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
mime/Database: Add SetIcon[ForType]() BBitmap* version When switching AppMetaMimeCreator from BMimeType to Database the SetIcon[ForType]() calls with a BBitmap* ended up calling the vector icon version with the icon_size as the data size argument, thus not only not writing the bitmap icon attributes, but also clobbering the vector icon attribute.
|
#
b94857b3 |
|
07-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Refactor MIME DB access * Add class DatabaseLocation. It contains a list of the MIME DB directory paths plus methods to access type files. * Move all low-level MIME DB access functions from database_{support,access} to DatabaseLocation. All code that formerly used those now requires a DatabaseLocation object. In BMimeType and in the registrar the default object is used, but the low-level classes can now be reused with different locations. * Move get_icon_data() from database_access to database_support and delete the former, which is now empty.
|
#
9cda9c99 |
|
07-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move MIME DB code back from registrar to src/kits/storage/mime * Together with database_{access,support}.cpp it is built into a static library. * Add new interfaces MimeSniffer and Database::NotificationListener for plugging in registrar specific functionality (the sniffer add-on support and the notification mechanism).
|
#
f82c11c0 |
|
11-Jan-2008 |
Michael Lotz <mmlr@mlotz.ch> |
bonefish+mmlr: * Move most of MIME database support out of libbe and into registrar * Use the (async) MessageDeliverer instead of a synchronous SendMessage in _SendMonitorUpdate This fixes a deadlock when the message port of a MIME database watching application gets full as documented in bug #1311. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7fb6186f |
|
29-Aug-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* integration of vector icons with the registrar and the mime data base * additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType and BAppFileInfo, which handle flat vector icon data * changes in Tracker to support scalable icons (currently broken for non-vector icons and needs cleanup) and drawing icons correctly with alpha channel (large parts of this work done by Michael Lotz) If someone feels like looking over the changes, that would be much appreciated! :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
98d9f1b4 |
|
16-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Only allowed application hints of B_MIME_TYPE_LENGTH instead of B_PATH_NAME_LENGTH. * Introduced a _SetStringValue() to avoid code duplication. * The string types now check the original value, and don't write anything if the contents stay unchanged (with the current exception of the sniffer rules). * The monitor notfication methods no longer "clobber" the status result. * Major cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16432 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b690150e |
|
29-Sep-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
Removed mime update code git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1271 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1bd963b6 |
|
23-Sep-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
+ Added file-extension based mime type guessing + Added sniffer rule based mime type guessing + Added get_device_icon() + Added complete (synchronous, asynchronous; recursive, non-recursive; forcing, non-forcing; you name it we got it :-) update_mime_info() implementation. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1152 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e3a2f206 |
|
09-Sep-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
+ 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
|
#
41b9ba91 |
|
28-Aug-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
Added GetSupportingApps()/SetSupportedTypes() functionality git-svn-id: file:///srv/svn/repos/haiku/trunk/current@923 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
32f45afc |
|
27-Aug-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
+ Added GetInstalled[Super]Types functionality + Cleaned up warnings + Added documentation git-svn-id: file:///srv/svn/repos/haiku/trunk/current@899 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e20a514a |
|
23-Aug-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
After implementing the BMimeType::GetInstalled[Super]Types() functionality, it became apparent that some restructuring was needed if I wanted to keep things clean and managble. storage/MimeDatabase.{h,cpp} have been broken into: storage/mime/database_support.{h,cpp} + MIME database constants + high-level database access functions like open_type(), read_mime_attr(), etc. storage/mime/database_access.{h,cpp} + atomic read functions + is_installed() + get_icon_data() storage/mime/Database.{h,cpp} + Mime::Database class, which is responsible for all write, non-atomic read, and mime monitor functionality. storage/mime/InstalledTypes.{h,cpp} + Helper class for Mime::Database::GetInstalled[Super]Types() storage/mime/Supertype.{h,cpp} + Helper class for Mime::InstalledTypes I haven't merged my intial, somewhat cludgy GetInstalled[Super]Types implementation into the new setup yet. That comes next, and it ought to be a more graceful implementation now. I also implemented BMimeType::Get/SetSupportingTypes(), though they haven't been tested yet (sorry). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@862 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ee2974dadb9c6c99b8ad9b393f992fae42e4bc39 |
|
25-Jan-2014 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
mime/Database: Add SetIcon[ForType]() BBitmap* version When switching AppMetaMimeCreator from BMimeType to Database the SetIcon[ForType]() calls with a BBitmap* ended up calling the vector icon version with the icon_size as the data size argument, thus not only not writing the bitmap icon attributes, but also clobbering the vector icon attribute.
|
#
b94857b322093c296230a18d47f6a98a2896b062 |
|
07-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Refactor MIME DB access * Add class DatabaseLocation. It contains a list of the MIME DB directory paths plus methods to access type files. * Move all low-level MIME DB access functions from database_{support,access} to DatabaseLocation. All code that formerly used those now requires a DatabaseLocation object. In BMimeType and in the registrar the default object is used, but the low-level classes can now be reused with different locations. * Move get_icon_data() from database_access to database_support and delete the former, which is now empty.
|
#
9cda9c9905397675aec87ebc6bc9287df3ca2264 |
|
07-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move MIME DB code back from registrar to src/kits/storage/mime * Together with database_{access,support}.cpp it is built into a static library. * Add new interfaces MimeSniffer and Database::NotificationListener for plugging in registrar specific functionality (the sniffer add-on support and the notification mechanism).
|
#
f82c11c0793269f483e03fc6f1a3a93aa1d092f0 |
|
11-Jan-2008 |
Michael Lotz <mmlr@mlotz.ch> |
bonefish+mmlr: * Move most of MIME database support out of libbe and into registrar * Use the (async) MessageDeliverer instead of a synchronous SendMessage in _SendMonitorUpdate This fixes a deadlock when the message port of a MIME database watching application gets full as documented in bug #1311. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7fb6186f3cb93a14ea0f96a82bdfc3d18f3ad56e |
|
29-Aug-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* integration of vector icons with the registrar and the mime data base * additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType and BAppFileInfo, which handle flat vector icon data * changes in Tracker to support scalable icons (currently broken for non-vector icons and needs cleanup) and drawing icons correctly with alpha channel (large parts of this work done by Michael Lotz) If someone feels like looking over the changes, that would be much appreciated! :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
98d9f1b483cf3c74e88f393f6d551b077fc2c8af |
|
16-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Only allowed application hints of B_MIME_TYPE_LENGTH instead of B_PATH_NAME_LENGTH. * Introduced a _SetStringValue() to avoid code duplication. * The string types now check the original value, and don't write anything if the contents stay unchanged (with the current exception of the sniffer rules). * The monitor notfication methods no longer "clobber" the status result. * Major cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16432 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b690150ecf088935c13c18a2f8ac66ebec24d246 |
|
29-Sep-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
Removed mime update code git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1271 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1bd963b6c27017324c3589c8ea29d635e1552b7f |
|
23-Sep-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
+ Added file-extension based mime type guessing + Added sniffer rule based mime type guessing + Added get_device_icon() + Added complete (synchronous, asynchronous; recursive, non-recursive; forcing, non-forcing; you name it we got it :-) update_mime_info() implementation. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1152 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e3a2f2069e5e2614e2a96c24502c91b482ec8e65 |
|
09-Sep-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
+ 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
|
#
41b9ba915590dbf113a8a12059135a6c5a209a0f |
|
28-Aug-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
Added GetSupportingApps()/SetSupportedTypes() functionality git-svn-id: file:///srv/svn/repos/haiku/trunk/current@923 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
32f45afc2650a8b92c41a10a0fb552752d6b4036 |
|
27-Aug-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
+ Added GetInstalled[Super]Types functionality + Cleaned up warnings + Added documentation git-svn-id: file:///srv/svn/repos/haiku/trunk/current@899 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e20a514ae90bd65d06ff19517a1220b3f92760ee |
|
23-Aug-2002 |
Tyler Dauwalder <tylerdauwalder@nowhere.fake> |
After implementing the BMimeType::GetInstalled[Super]Types() functionality, it became apparent that some restructuring was needed if I wanted to keep things clean and managble. storage/MimeDatabase.{h,cpp} have been broken into: storage/mime/database_support.{h,cpp} + MIME database constants + high-level database access functions like open_type(), read_mime_attr(), etc. storage/mime/database_access.{h,cpp} + atomic read functions + is_installed() + get_icon_data() storage/mime/Database.{h,cpp} + Mime::Database class, which is responsible for all write, non-atomic read, and mime monitor functionality. storage/mime/InstalledTypes.{h,cpp} + Helper class for Mime::Database::GetInstalled[Super]Types() storage/mime/Supertype.{h,cpp} + Helper class for Mime::InstalledTypes I haven't merged my intial, somewhat cludgy GetInstalled[Super]Types implementation into the new setup yet. That comes next, and it ought to be a more graceful implementation now. I also implemented BMimeType::Get/SetSupportingTypes(), though they haven't been tested yet (sorry). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@862 a95241bf-73f2-0310-859d-f6bbb57e9c96
|