Commit Graph

162 Commits

Author SHA1 Message Date
Ingo Weinhold
73895a69a0 * Added the class MessagingCommandHandler, instances of which can be
registered as handlers for specific commands sent by the kernel.
  (Beautifully object-oriented :-)
* Fixed a bug regarding MessageArea creation (the object was deleted
  twice on error).
* Actually resume the command processor thread.
* Turned the class into a singleton.
* Now always process all commands found in an area (should minimize
  latencies).

Modulo bugs the class is now complete.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:58:37 +00:00
Ingo Weinhold
dd43b03ce1 Added the messaging service and a compatibility file for the R5 test registrar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:32:17 +00:00
Ingo Weinhold
0a1eb226fb Start the messaging service. Due to missing kernel functionality the
initialization still fails.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:31:02 +00:00
Ingo Weinhold
cdab464e30 New macro for non-fatal, but nevertheless serious errors.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:29:24 +00:00
Ingo Weinhold
c72f8221e0 File we only compile in for the obos_registrar, the one for testing under R5. Contains dummies for syscalls not existent there.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:28:33 +00:00
Ingo Weinhold
9e4d0f686e The beginning of the registrar-side kernel->userland messaging service.
The passing of commands from kernel to registrar should be complete now,
only the actual message delivery is missing.
Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:26:39 +00:00
Ingo Weinhold
5513a4cb69 Changed signature.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:20:09 +00:00
Ingo Weinhold
48f570b5c7 * The settings file is now called "HaikuRosterSettings" instead of
"OpenBeOS...".
* Obtain the path of the settings dir via find_directory().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:19:23 +00:00
Ingo Weinhold
769ba00e93 * Changes due to moving RegistrarDefs stuff into the BPrivate namespace.
* Rename the main thread after creating the BApplication. Then at least
  the roster will be ready for use.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:17:35 +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
54dd704038 Added support for the DEBUG_PRINTF macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:49:59 +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
dca399f444 Use the BApplication constructor that returns an error code instead of the one that just exit()s on error, so that we can at least print the error.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:33:57 +00:00
Ingo Weinhold
58b5124e46 Replace ClipboardTree by Clipboard, a class just representing a clipboard.
The clipboards are managed in a simple string->Clipboard map.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:45:55 +00:00
Ingo Weinhold
92b98fe111 Build the Haiku registrar (linked against our libroot and libbe). Haven't checked, if it works yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:35:47 +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
Ingo Weinhold
132c664be7 Added TODO. The implementation should be revised. BClipboard::{Local,System}Count() is broken and I can see why. Instead of just fixing that a reimiplementation is probably best.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:41:06 +00:00
Ingo Weinhold
db10640de9 Got rid of the Storage Kit's kernel abstraction layer, which was
unfortunately quite slow and made some things more complicated than they
needed to be.
Implemented a few missing things (e.g. BSymLink and node locking).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:14:46 +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
Ingo Weinhold
239662215c Fixed signature.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-12 23:45:54 +00:00
mahlzeit
4c20e0e8ad Simplified app_flags.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-22 17:51:32 +00:00
Philippe Houdoin
9842b3ba58 Keep moving from binary resource format to source resource (.rdef) files.
Fix midi_server.rdef file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-20 01:40:54 +00:00
Ingo Weinhold
6ab18748f3 Removed invocations of UsePublicHeaders, which was a no-op anyway.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 16:53:22 +00:00
Ingo Weinhold
0582df0213 Removed the old, nicely working, DiskDevice API support from the registrar. We're going to reimplement it in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:31:00 +00:00
Ingo Weinhold
32453e90e0 Removed the old, nicely working, DiskDevice API support from the registrar. We're going to reimplement it in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:20:23 +00:00
Ingo Weinhold
de9b715306 Remove debugging output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-20 00:25:25 +00:00
Ingo Weinhold
295fcc8865 Removed some debug info. Changes due to the removal of the extended_partition_info::partition_code field.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-18 21:33:23 +00:00
Ingo Weinhold
f679e95b10 Some fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-16 18:08:44 +00:00
Ingo Weinhold
483bea6e79 Completed support for updates and notifications.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-14 23:15:20 +00:00
Ingo Weinhold
2d2601d03c Implemented rescanning the device list. A few things, e.g. notifications and change counter updates, are still missing. Added a periodical rescan event.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-11 23:37:48 +00:00
Ingo Weinhold
9c0367dcec Tiny inline class representing a change counter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-11 23:33:05 +00:00
Ingo Weinhold
4b883396bd Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-11 18:18:29 +00:00
Ingo Weinhold
30bb74bbd2 Added notification support for the mounting and mount point moving events. Several fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-10 00:23:46 +00:00
Ingo Weinhold
7a452094ee Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-10 00:20:40 +00:00
Ingo Weinhold
57f5eb1c81 Minor changes: Small fixes and some more debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 23:37:00 +00:00
Ingo Weinhold
2ed834e3f6 Cleaned up BRoster's friends mess. All access to private BRoster functionality is now done through the newly added BRoster::Private class, which is BRoster's only friend (poor BRoster ;-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 23:29:21 +00:00
Ingo Weinhold
3d2f3f00f1 The basic functionality is complete now (though untested). The user API requests (save the one concerning watching) are handled. Notification stuff is still missing and proper handling of changes to devices, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 00:48:15 +00:00
Ingo Weinhold
26dd5fd531 * RVolumeList:
- Added locking, listener support.
  - Changed message handling from BHandler to MessageHandler interface.
  - Fixed bugs.
* RDiskDeviceList:
  - Locking uses an external lock now (the same one as the volume list)
  - Prepared for message handling (MessageHandler).
* DiskDeviceManager:
  - Added priority message queue and message handler thread -- should be
    more or less complete now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-06 23:39:54 +00:00
Ingo Weinhold
e81c38c154 Added new classes, MessageHandler and PriorityMessageQueue.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-06 23:32:44 +00:00
Ingo Weinhold
fadf867232 A priority message queue. We will use it to handle system notifications faster than client requests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-06 23:31:45 +00:00
Ingo Weinhold
9f7559815d An interface for classes being able to handle messages. More lightweight than BHandler.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-06 23:30:14 +00:00
Ingo Weinhold
3e377cc75a Added RVolumeList, which maintains an up-to-date list of mounted volumes. Will be used as helper for RDiskDeviceList. Not complete yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-04 23:56:38 +00:00
Ingo Weinhold
8cd6a1c0f8 Added a work-around for the problem, that we can't use libbe's node monitoring functions, when linked against libopenbeos. An application NodeMonitor acts as a mediator. Not an optimal solution, but the only one I have for now -- if someone told me which parameters _k{start,stop}_watching_vnode_() have, things looked much nicer. The work-around is currently only used for the registrar; for other places the code that get the path of NodeMonitor needs to be adjusted.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-04 23:54:03 +00:00
Ingo Weinhold
3dbb9fba87 The beginning of the structures for the registrar side implementation of the DiskDevice API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-02 22:50:48 +00:00
Ingo Weinhold
6342ffb32b Moved the implementation of the disk_scanner API out of the test code to the libroot sources, where it belongs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-02 22:47:24 +00:00
Ingo Weinhold
3f82d4f1d2 Added a DiskDeviceManager to the registrar. Does nothing for now, but will soon be the one responsible for the disk device functionality in the registrar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-01 21:39:22 +00:00
shadow303
6cdadea727 Added missing instances of "case"
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-09 21:19:49 +00:00
Tyler Dauwalder
8528ca2e2a Added default app flags to Add() so I could be lazy
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 08:38:21 +00:00
Tyler Dauwalder
b2589492d0 Added code to Get() to filter out all but the most recent of any duplicate
matching entries with differing "opened with" app sigs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 08:37:56 +00:00
Tyler Dauwalder
1bde02ae7b Fleshed out any missing pieces of BRoster::
- ClearRecent{Docs,Folders,Apps}
- AddToRecentApps()
- {Load,Save}RecentLists()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 08:36:08 +00:00
Tyler Dauwalder
4f03f5d268 Implemented loading and saving of recent docs, folders, and apps lists
from and to disk in the ~/config/settings/Roster/RosterSettings format.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 00:43:58 +00:00
DarkWyrm
e4840f5bd2 Checkin for Gabe Yoder
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-02 23:33:33 +00:00
Tyler Dauwalder
fde0f1b873 Implemented HandleGetRecent{Documents,Folders}()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-31 07:10:02 +00:00
Tyler Dauwalder
85c4b39407 Added RecentEntries.cpp to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-31 07:08:56 +00:00
Tyler Dauwalder
15a66e61ce RecentEntries class; handles recent documents and folders.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-31 07:08:25 +00:00
Tyler Dauwalder
230719b573 - Added Handle{Get,AddTo,Clear}Recent{Apps,Documents,Folders}() skeleton functions.
- Implemented HandleGetRecentApps()
- Added fRecentApps member to TRoster


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 07:52:28 +00:00
Tyler Dauwalder
7c82774099 Added {Get,AddTo,Clear}Recent{Apps,Documents,Folders} cases to main message loop.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 07:50:27 +00:00
Tyler Dauwalder
24a2d24f46 Added RecentApps.cpp to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 07:49:40 +00:00
Tyler Dauwalder
4c2f542522 RecentApps class that manages the system list of recently
launched applications.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 07:44:11 +00:00
Ingo Weinhold
5f20a509b4 Added documentation. Some smaller fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 01:06:13 +00:00
DarkWyrm
b010ca6720 Checkin for Gabe Yoder
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 00:08:45 +00:00
Ingo Weinhold
7a0335c8a3 Added support for roster watching.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-18 14:05:25 +00:00
Ingo Weinhold
6d8943122a Generic watching support classes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-18 14:01:09 +00:00
Ingo Weinhold
56d4d6378e Added handling for broadcast request (BRoster::Broadcast()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-15 22:31:55 +00:00
Ingo Weinhold
b48b6fb598 Added method CheckSanity() which checks whether the (pre-)registered apps are still alive and removes obsolete entries.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 21:21:06 +00:00
Ingo Weinhold
463322c288 Added methods GetEventQueue() and App() (static). Added a sanity event for checking the roster for killed apps.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 21:19:43 +00:00
Ingo Weinhold
40a1dc4c7f Documented the class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 21:14:24 +00:00
Ingo Weinhold
1607957935 * Documented the class.
* Added helper methods and rewrote Remove() to take advantage of the fact
  that the event list is ordered.
* Introduced a termination flag to shutdown the thread as early as
  possible.
* Event::Do() get a pointer to the queue as parameter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 21:13:24 +00:00
Ingo Weinhold
c2b2c7d9f7 Documented the class. Do() now gets a pointer to the event queue as parameter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 21:08:53 +00:00
Ingo Weinhold
15a2383ff8 Added MakeEmpty() method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 21:06:39 +00:00
Ingo Weinhold
5293aa41b4 Added the class MessageEvent, which is an Event sending a message when executed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 21:01:47 +00:00
Ingo Weinhold
44c3726b9d Added EventQueue and Event and MessageRunnerManager classes used for the
registrar side message runner support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-12 22:37:07 +00:00
Ingo Weinhold
af8eec4080 Added support for the B_REG_SET_SIGNATURE request (BRoster::SetSignature()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 22:03:11 +00:00
Ingo Weinhold
4000397895 More debugging output. Yeah!!!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 22:57:09 +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
a95d0e50a1 Removed ThreadManager from the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:35:28 +00:00
Tyler Dauwalder
c76034e178 + Renamed to RegistrarThreadManager to avoid conflicts with tools/cppunit/ThreadManager
+ Moved into app kit directories for inclusion in libopenbeos.so


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:20:38 +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
5720cd9c75 Added ThreadManager to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:15:56 +00:00
Tyler Dauwalder
e177c2c89a ThreadManager class, which is responsible for managing all the
RegistrarThread objects created by the registrar.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:11:20 +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
Ingo Weinhold
afac6ebecb Initialize the global be_roster for the registrar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 19:46:15 +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
Ingo Weinhold
77bb876f71 libstorage.so is gone.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 01:14:11 +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
Tyler Dauwalder
533a64a210 Registrar now links to libstorage for MimeDatabase class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:02:55 +00:00
Ingo Weinhold
5ca9f21f13 More debugging output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 16:20:42 +00:00
Ingo Weinhold
5e949b7dfc Added method Init(), which adds the registrar to the roster.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:37:24 +00:00
Ingo Weinhold
60aa4feab5 * Lock() the looper in application destructor. Otherwise RemoveHandler()
complains.
* Call the TRoster::Init() to add the registrar itself to the roster.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:36:05 +00:00
Ingo Weinhold
d744dd13ab * Changed the return value in HandleCompleteRegistration() in case of
not found or already completely registered applications from
  B_REG_APP_NOT_REGISTERED to B_REG_APP_NOT_PRE_REGISTERED.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:42:03 +00:00
Ingo Weinhold
2ad75c74f9 Added doxygen comments and moved the initialization of child objects from
the constructor into ReadyToRun().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:39:26 +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
e56ea20210 * Added doxygen comments.
* Moved the index returning/expecting methods into a private section and
  implemented a Iterator class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:36:28 +00:00
Ingo Weinhold
a12aef2bee * Added handling of running app querying requests.
* Added methods Add/Remove/ActivateApp().
* Added hook methods _AppAdded/Removed/Activated/Deactivated().
* Turned fActivateApp into a RosterAppInfo* which is more useful.
* Added doxygen comments for the class and all methods.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:33:36 +00:00