History log of /haiku/src/servers/registrar/mime/CreateAppMetaMimeThread.cpp
Revision Date Author Comments
# 865ab281 08-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Pull class MimeInfoUpdater out of UpdateMimeInfoThread

* Pull out base class MimeEntryProcessor out of AppMetaMimeCreator.
* Pull class MimeInfoUpdater out of UpdateMimeInfoThread and derive it
from MimeEntryProcessor.
* MimeInfoUpdater: Instead of BMimeType::GuessMimeType(), use
Database::GuessMimeType() directly.


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


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


# 853b8a4d 05-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

CreateAppMetaMimeThread: Use open_type()

... instead of constructing the MIME type file path manually.


# 223bdece 04-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

CreateAppMetaMimeThread::DoMimeUpdate():
* Don't traverse symlinks. Besides that this is not how the BeOS
implementation behaves it could also lead to undesired recursion in case of
symlinks to directories.
* Only process regular files.


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


# bc0693b2 01-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Construct the MIME data base directories lazily.
* Automatic whitespace cleanup.


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


# fb3e35fc 22-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Fixing all headers/namespaces/name lookup problems that hinder a GCC 4.3.2
build. I sure hope that this doesn't break the build for anyone else.


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


# 8d169970 30-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* For operations that implicitly install a MIME type, we no longer send
two notifications (install + update), but only the install
notification.
* When create_app_meta_mime() installs a new MIME type (app signature or
supported type), it only sends the install notification, instead of
install + one or more updates.


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


# 3a4c7e6e 03-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

If the supplied entry was a directory,
CreateAppMetaMimeThread::DoMimeUpdate() would always fail early, making
recursive operation impossible.


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


# 865ab2816de47da3e2d82a3ef808d03d69fe1436 08-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Pull class MimeInfoUpdater out of UpdateMimeInfoThread

* Pull out base class MimeEntryProcessor out of AppMetaMimeCreator.
* Pull class MimeInfoUpdater out of UpdateMimeInfoThread and derive it
from MimeEntryProcessor.
* MimeInfoUpdater: Instead of BMimeType::GuessMimeType(), use
Database::GuessMimeType() directly.


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


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


# 853b8a4de57bf2c55455bbcb45f759319da1e5be 05-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

CreateAppMetaMimeThread: Use open_type()

... instead of constructing the MIME type file path manually.


# 223bdece87f20df9cc42a39033dc9f97c5132b27 04-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

CreateAppMetaMimeThread::DoMimeUpdate():
* Don't traverse symlinks. Besides that this is not how the BeOS
implementation behaves it could also lead to undesired recursion in case of
symlinks to directories.
* Only process regular files.


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


# bc0693b219edee709fb76708eae78b1e18ada3f6 01-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Construct the MIME data base directories lazily.
* Automatic whitespace cleanup.


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


# fb3e35fcec1ef41b413b3b121764509f436dee4d 22-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Fixing all headers/namespaces/name lookup problems that hinder a GCC 4.3.2
build. I sure hope that this doesn't break the build for anyone else.


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


# 8d1699709aef18feb72aa8a94ce2d009a54d285a 30-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* For operations that implicitly install a MIME type, we no longer send
two notifications (install + update), but only the install
notification.
* When create_app_meta_mime() installs a new MIME type (app signature or
supported type), it only sends the install notification, instead of
install + one or more updates.


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


# 3a4c7e6e71bcd6837594bc792db974a1eb8b65a7 03-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

If the supplied entry was a directory,
CreateAppMetaMimeThread::DoMimeUpdate() would always fail early, making
recursive operation impossible.


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