History log of /haiku/src/servers/registrar/MIMEManager.h
Revision Date Author Comments
# b6a89f41 07-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Pull class AppMetaMimeCreator out of CreateAppMetaMimeThread

Instead of using a BMimeType to set the MIME type properties, it
operates directly on the Database object, though.


# 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).


# 781a7155 26-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Move RegistrarThread[Manager].cpp to the registrar. There was no point
in those living in libbe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24603 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 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


# 6fe0c83d 01-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Updated to use RegistrarThreadManager instead of ThreadManager


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1332 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4a94b7bb 29-Sep-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Added ThreadManager object to MIMEManager
+ Reimplemented mime update calls to now handle both synchronous
and asynchronous calls, as well as work with RegistrarThreads and
the ThreadManager.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1277 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


# 1ed04c7c 20-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Added code for:
+ {Get,Set}IconForType()
+ Delete*() functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@834 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cf4e78a 19-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Updated doxygen
+ Added code for:
- B_REG_MIME_SET_PARAM::B_REG_MIME_PREFERRED_APP
- B_REG_MIME_SET_PARAM::B_REG_MIME_APP_HINT
- B_REG_MIME_SET_PARAM::B_REG_MIME_ICON


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@821 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f978bce0 16-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Added fMimeDatabase member
+ Updated MessageReceived to handle:
- B_REG_MIME_SET_PARAM.B_REG_MIME_DESCRIPTION
- B_REG_MIME_{START,STOP}_WATCHING
- B_REG_MIME_{INSTALL,DELETE}


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@789 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4b8a7115 21-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a registrar skeleton.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@374 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6a89f410eb68626663104bd9687830504634cb9 07-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Pull class AppMetaMimeCreator out of CreateAppMetaMimeThread

Instead of using a BMimeType to set the MIME type properties, it
operates directly on the Database object, though.


# 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).


# 781a715529c3dde0d9a29e441d517dce5791123d 26-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Move RegistrarThread[Manager].cpp to the registrar. There was no point
in those living in libbe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24603 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 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


# 6fe0c83d382545336f1c7a3829ffff21b7e536e1 01-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Updated to use RegistrarThreadManager instead of ThreadManager


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1332 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4a94b7bbb3b7dd28ec1b999c2b6407733e15631c 29-Sep-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Added ThreadManager object to MIMEManager
+ Reimplemented mime update calls to now handle both synchronous
and asynchronous calls, as well as work with RegistrarThreads and
the ThreadManager.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1277 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


# 1ed04c7ce321cd6d04cc7d154ec760e19240fb20 20-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Added code for:
+ {Get,Set}IconForType()
+ Delete*() functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@834 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cf4e78a5d7ab6fdcea2e8e5eca30aec2f6355c7 19-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Updated doxygen
+ Added code for:
- B_REG_MIME_SET_PARAM::B_REG_MIME_PREFERRED_APP
- B_REG_MIME_SET_PARAM::B_REG_MIME_APP_HINT
- B_REG_MIME_SET_PARAM::B_REG_MIME_ICON


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@821 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f978bce0b03085f75103d8df91dc4f4c1106a520 16-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Added fMimeDatabase member
+ Updated MessageReceived to handle:
- B_REG_MIME_SET_PARAM.B_REG_MIME_DESCRIPTION
- B_REG_MIME_{START,STOP}_WATCHING
- B_REG_MIME_{INSTALL,DELETE}


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@789 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4b8a71155aa54849431a5d3fa9e76b9c8a3a0308 21-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a registrar skeleton.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@374 a95241bf-73f2-0310-859d-f6bbb57e9c96