Commit Graph

10821 Commits

Author SHA1 Message Date
Ingo Weinhold 2c17b743c7 Implemented all missing functionality save the actual sending of a
flattened message. Support for this needs to be added to BMessage first.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 16:05:26 +00:00
Ingo Weinhold 5ac1156848 Replaced _init_roster_() _delete_roster_() by static functions in BRoster::Private.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:20:11 +00:00
Ingo Weinhold 42be32659a TRoster is no longer a friend of BMessenger -- use BMessenger::Private.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:08:15 +00:00
Ingo Weinhold 35d70f9eca The MessagingService is now a singleton. Added creation of the MessageDeliverer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:06:42 +00:00
Ingo Weinhold c36e75d1cb Added Referencable.cpp and MessageDeliverer.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:52 +00:00
Ingo Weinhold 2467cef0f0 This class encapsulates the service delivering messages without dropping
them immediately when the target port is full at the moment. It's not
quite complete. The data structures are there, but the actual delivery is
still missing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:05 +00:00
Ingo Weinhold 47e01f5075 Added helper class Referencable (a simple base class for reference counting).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:00:12 +00:00
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 27bd55fdf3 * Improved initialization.
* The counter semaphore is now only released when writing a command into
  an formerly empty area. The userland part is aware of that. :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:51:06 +00:00
Ingo Weinhold d7b6591345 Added initialization of the messaging service.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:48:34 +00:00
Ingo Weinhold 647bed8f15 Added clarifying comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:47:22 +00:00
Ingo Weinhold 4b8aafea9f BMessenger has no friends besides Private anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:46:28 +00:00
Ingo Weinhold 4afc60d31b * Turned the private constructor into a SetTo().
* The < operator uses BMessenger::Private now (it's no longer a friend).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:45:14 +00:00
Ingo Weinhold 16cab04ad2 * Fixed mismatching header guard.
* Added SetTo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:42:55 +00:00
Ingo Weinhold 054e7d17d7 * Got rid of all friends save the Private inner class.
* Turned the private constructor into a private SetTo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:41:50 +00:00
Axel Dörfler f3cadd05dd Improved header - struct kernel_args was only defined in arch headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:24:01 +00:00
Rudolf Cornelissen e846ba3dd6 updated DMA engine error handling: the driver should nolonger hang (again) if the engine crashes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 12:58:15 +00:00
Axel Dörfler 0bfd48e555 Will now also publish directories for existing driver directories that
have subdirectories in order to find device drivers like /dev/audio/raw
without any drivers in /dev/audio.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:57:52 +00:00
Axel Dörfler dd5857c283 Added devfs_publish_directory() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:37:08 +00:00
Axel Dörfler 7ec59908da Added a devfs_publish_directory() function that just tries to make sure
that a path is available (like "mkdir -p").


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:17:02 +00:00
Axel Dörfler 9d2a7c104c Added the media_server and media_addon_server.
Added some translator and media add-ons.
Servers are now copied using "copyattr" to preserve file attributes (primarily
for BEOS:APP_SIG at this point).
Now copies current/data/settings/* to the target.
Output of mkbfs is trashed.
Now prints a warning in case the build failed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 21:27:38 +00:00
Axel Dörfler bc1c6407f6 Added a sample kernel settings file, explaining the existing options.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 21:13:24 +00:00
Adi Oanca 574540edd2 Removed a redundant BMessage when mouse button was pressed. This message is already sent by WinBorder::MouseDown(). Window content was redraw when a window became active. Removed some code that anyway was not used. It will be replaced by the new window manager which is comming soon.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 21:04:23 +00:00
Adi Oanca c4e214743d All 'Invalidate' methods are now private, intended for RootLayer's use only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:59:27 +00:00
Adi Oanca 304feb8ad5 RebuildAndForceRedraw() is not needed anymore
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:57:51 +00:00
Rudolf Cornelissen ab26d7f837 finalized DMA buffer overfill checking for optimum speed. On NV11 accelerated functions are running at 130% to 200% speed in DMA mode compared to the 'old' PIO mode. Without trouble now.
Still only 32bit mode, and still missing invert_rect function though. Also still not explicitly adhering the engine constraints which needs to be rechecked/retuned compared to PIO mode (hence the non working 800x600x8 mode I expect..)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:11:59 +00:00
Axel Dörfler c586de1d62 Removed warnings, minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 18:53:34 +00:00
Adi Oanca bd1ede2ae9 Yes... I really don't remember why I haven't subclassed FMWList from BList...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 17:34:47 +00:00
Adi Oanca 383461c7ee 3 global variables (gRedrawReg, gCopyRegList, gCopyList) went into RootLayer's property
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 17:18:19 +00:00
Rudolf Cornelissen 11e38e920f added checking to prevent DMA buffer overfills: it turns out for instance NV11 can't keep up with BeRoMeter and the engine crashes otherwise. It turns out NV11 is currently only working correctly in 32bit color mode BTW.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 16:14:20 +00:00
Jérôme Duval e01fcf6917 moved to rdef format
added strlcpy.c for r5 builds


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 14:41:30 +00:00
Rudolf Cornelissen e2e0a5e177 shut-down that dumb ISA access for DMA. Acc speed just went through the roof! (testing with BeRoMeter). I'll now compare DMA and non-DMA speed on NV11 8-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 11:33:13 +00:00
Rudolf Cornelissen 940dbde600 using NV4_GDI_RECTANGLE_TEXT instead of the older NV3 version for DMA acc. Seems like the old one can't be used with DMA (or I am hitting my limited knowledge on nVidia's Hash-table again..)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 11:16:39 +00:00
Rudolf Cornelissen 34b1362959 DMA versions of fill_rect and fill_span (same core func still) are up! Removed some testlogging, their load became too high with these new functions added :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 11:14:01 +00:00
Rudolf Cornelissen de653df809 small cleanup. This fixes DMA buffer freespace tracking as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 09:50:07 +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 b5c8eaec52 Added messaging service header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:23:20 +00:00
Ingo Weinhold fbca78bb8b Added messaging service syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:22:51 +00:00
Ingo Weinhold 65174bbf57 Added unregistration. Fixed MessagingService::RegisterService(): the semaphores weren't stored.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:22:03 +00:00
Ingo Weinhold 244ddcf058 Added _user_unregister_messaging_service(). Fixed second send_message() proto.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:19:03 +00:00
Ingo Weinhold 2c872c4fe5 Removed obsolete ancestor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 23:00:37 +00:00
Matthew Wilber b28c58d13d Fixed "HButton" typos
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 22:41:23 +00:00
beveloper afeadaa239 Bumped release number for bebits release, a few bugfixes had been done since release 0.2, including the name change from OpenBeOS to Haiku.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 22:38:29 +00:00
Rudolf Cornelissen a8c119773f added acc function defines for DMA, for fill_rect.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 20:56:08 +00:00
Rudolf Cornelissen 105a3567a6 added fill_rect and fill_span functions (same). Not yet exported, not yet working either..
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 20:52:37 +00:00
Ingo Weinhold 4cacc85bae Prevent a linker error. It complains about multiple definitions of nothrow.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:56:19 +00:00