24 Commits

Author SHA1 Message Date
Axel Dörfler
a0439d88df * Adjusted thread priorities of several system services based on a mail from
Mikhail Panasyuk: since worker threads often end up with B_NORMAL_PRIORITY,
  it might be a good idea to give system threads a higher priority.
* Minor cleanup (mostly automatic whitespace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 15:25:48 +00:00
Axel Dörfler
654aaf6ee2 Quick build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 11:26:06 +00:00
Stephan Aßmus
fde63f5602 Better naming of a variable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-07 19:22:05 +00:00
Michael Lotz
f82c11c079 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
2008-01-11 22:45:06 +00:00
Stephan Aßmus
7fb6186f3c * 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
2006-08-29 17:06:23 +00:00
Ingo Weinhold
e4f35acf7c * Added new (currently private) API class BMimeSnifferAddon,
representing the interface for, well, MIME sniffer add-ons.
* Implemented the respective add-on manager and make use of it in
  the MIME database code. Unfortunately the MIME DB code completely
  lives in libbe.so and hence I had to put my code there too.
  IMHO we should (one day) remove the direct (read-only) MIME DB
  access from libbe and move everything into the registrar.
  Currently the add-on manager supports built-in add-ons only; it
  doesn't really load anything from disk ATM.
* Added a built-in text sniffer add-on to the registrar. It's based
  upon the BSD file tool code.

This closes bug #250 (plain text files are identified as such, now).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-09 20:48:50 +00:00
Ingo Weinhold
15424f3d37 Finally fixed update_mime_info(). As Be's version it understands two
different "force" levels now and updates the app file info attributes
for shared object files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 19:41:07 +00:00
Ingo Weinhold
d8247d2bd9 Changes due to moving RegistrarDefs stuff into the BPrivate namespace.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:14:50 +00:00
Ingo Weinhold
807ea2fa80 More informative debug output. The MIME manager keeps on getting spurious what == 0xffffffff messages under Haiku. Needs to be investigated.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:36:22 +00:00
Ingo Weinhold
c10206311d The case for data-only-based MIME type sniffing was missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:42:21 +00:00
haydentech
41e9b8c42a gcc3 fixes necessary to compile and link the registrar
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-28 16:23:46 +00:00
Tyler Dauwalder
6fe0c83d38 Updated to use RegistrarThreadManager instead of ThreadManager
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:36:08 +00:00
Tyler Dauwalder
4a94b7bbb3 + 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
2002-09-29 07:17:29 +00:00
Tyler Dauwalder
1bd963b6c2 + 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
2002-09-24 05:36:03 +00:00
Tyler Dauwalder
e3a2f2069e + 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
2002-09-09 08:12:03 +00:00
Tyler Dauwalder
d7526269d7 Added B_REG_MIME_GET_SUPPORTING_APPS functionality
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:59:57 +00:00
Ingo Weinhold
cf07767393 Added B_REG_MIME_UNSUPPORT_TYPES case in MessageReceived(). No implementation for now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-25 22:51:50 +00:00
Tyler Dauwalder
e20a514ae9 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
2002-08-24 05:04:02 +00:00
Tyler Dauwalder
3155eae222 + Added code/updated tests for
- AttrInfo
  - FileExtensions
+ Updated Delete() code to send monitor updates
+ Tenatively added "be:action" field to monitor messages
+ Added data type constants


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 10:55:20 +00:00
Tyler Dauwalder
1ed04c7ce3 Added code for:
+ {Get,Set}IconForType()
+ Delete*() functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:37:04 +00:00
Tyler Dauwalder
7cf4e78a5d + 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
2002-08-19 08:42:14 +00:00
Tyler Dauwalder
f978bce0b0 + 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
2002-08-16 22:08:49 +00:00
Ingo Weinhold
c09fb4b971 Added doxygen comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:37:26 +00:00
Ingo Weinhold
4b8a71155a Added a registrar skeleton.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 22:40:07 +00:00