Commit Graph

155 Commits

Author SHA1 Message Date
Axel Dörfler
bb00e2687c MIME types and signatures are case insensitive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 07:06:21 +00:00
Ingo Weinhold
2fd4a0411b Added a boolean "synchronous" parameter to BRoster::Shutdown(). Used in the
Deskbar to initiate the shutdown process asynchronously. Couldn't test it,
because opening the Be menu doesn't work:
***PANIC: BW: Can't find view with ID: 19 !***



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 16:37:11 +00:00
Ingo Weinhold
6e8834d0ee Removed forced debug output. Verified: _kern_shutdown(reboot = false) reboots too in qemu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 23:58:39 +00:00
Ingo Weinhold
852425d470 Also consider the kernel team a "vital system app" that deserves not to be killed. Shutdown now works under qemu, although even shutdown reboots...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 23:47:57 +00:00
Ingo Weinhold
310c813fa8 Minor error output change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:16:02 +00:00
Ingo Weinhold
29aa57037d * Now we have a hardcoded list of apps which shall not be terminated on
shutdown (input, app, debug server, and registrar).
* Fixed crashing bug, if the shutdown was aborted before the window was
  created.
* The text of the confirmation alert depends on whether we reboot or
  shut down.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-12 12:36:08 +00:00
Ingo Weinhold
54fce51326 Uninitialized member variable. The cause for the shutdown process sometimes not to start at all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-11 23:14:56 +00:00
Ingo Weinhold
8ddc570d6f * Implemented the BRoster::Shutdown() confirmation feature.
* When an application aborts the shutdown process by refusing to quit, the
  shutdown window says so for 3 seconds before closing.
* Fixed the height of the normal buttons in the shutdown window. They 
  accidentially got the size of a default button.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-09 20:26:16 +00:00
Philippe Houdoin
177f17f436 Fixed a bug. I think. Let's hope. Will see... Otherwise, I'm sorry. Really. (Untested).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 16:22:33 +00:00
Ingo Weinhold
6b454d971d * Background applications are now ask to quit in parallel.
* Implemented handling of apps blocking on modal windows.
* Fixed a few bugs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 15:33:20 +00:00
Ingo Weinhold
935c0c3a12 Changed the shutdown process to match Be's: The user apps are not longer
asked to quit in parallel. Instead they are asked one after the other.
Played with the window to look more like the one in BeOS. The "shadow" on
the left side is still missing, but otherwise it's close.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 14:28:11 +00:00
Ingo Weinhold
0dbfed5b0c Clone() didn't copy the registration_time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 14:25:28 +00:00
Ingo Weinhold
4852c3cd50 Added Sort() functionality.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 14:25:05 +00:00
Axel Dörfler
7560d40290 Renamed "obos_registrar" to "haiku_registrar" - not just for fun, but because
the registrar no longer depends on the app_server to be running.
Added a "run_haiku_registrar" tool that is now used in the various "run" scripts.
It only start the registrar on demand, ie. if it's not yet running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 13:50:43 +00:00
Ingo Weinhold
2a0de579c7 Missing loop exit in case of message sending failure. This could cause a
busy loop of the MessageDeliverer when the port was deleted while there
were still messages to send.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 11:16:57 +00:00
Ingo Weinhold
b285c0542c Implemented a shutdown window. Since we're quitting all user applications
in parallel, it displays the mini icons of all still running apps. Doesn't
look that great, though. Also, quitting the apps in parallel speeds up the
shutdown process, but has the disadvantage, that all apps will throw their
"Save changes...?" alerts at the user at once, which might not be a
desirable experience. I'll probably revert to the way Be did it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:29:42 +00:00
Ingo Weinhold
26ffd9e208 Missing break in switch statement.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:25:50 +00:00
Stefano Ceccherini
205f8b0720 I obviously broke the r5 build with the last commit. Fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 12:11:32 +00:00
Stefano Ceccherini
715166d5b8 Fixed the build under haiku. Reported by Konrad.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 09:29:11 +00:00
Ingo Weinhold
553ea30124 * Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
  by more general ones using the new interface MessagingTargetSet to represent
  a set of targets. This simplifies the usage in cases where the caller doesn't
  already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
  GUI yet. Only superficially tested under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:17:40 +00:00
Ingo Weinhold
3c0a815896 The registrar now uses BServer instead of BApplication, which makes it
completely independent of the app server.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:55:57 +00:00
Stephan Aßmus
0b6fe6d3a9 Reverted my change for the INFORM define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-17 08:50:53 +00:00
Stephan Aßmus
fef11f270b The registrar was always in debug mode, no matter what was defined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 17:49:19 +00:00
Ingo Weinhold
81d91d7fcb Missing header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 23:16:35 +00:00
Ingo Weinhold
ef13ad9efd Include dir "private/kernel/util" not longer needed, since we already have "private/kernel" and include <util/...>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:20:35 +00:00
Ingo Weinhold
bed68f2088 DoublyLinkedList lives in the <util/DoublyLinkedList.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:16:26 +00:00
Ingo Weinhold
eb5bc5f924 Added a bit of documentation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-31 00:26:30 +00:00
Ingo Weinhold
ea9716dc6e Return B_NO_MEMORY, if the command handler could *not* be allocated. First tests indicate that the messaging service basically seems to be working. Didn't test yet, if that's still true, when an area is full.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 18:48:38 +00:00
Ingo Weinhold
4eb57a1d3d Added WARNING macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:06:31 +00:00
Ingo Weinhold
d0e2e53903 * Added missing MessagingCommandHandler methods.
* Added a class for handling "send message" commands and install by
  default. At least in theory messages issued by the kernel should now
  be delivered to the target. Still untested.
* Added lock to protect the command handler map.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 01:17:09 +00:00
Ingo Weinhold
c6dbc50e2b * Added per-port sanity limits. We limit the number and summed size of
messages.
* We now maintain a second message list per port, which is sorted by
  timeout time. Thus we can drop timed out messages as early as possible.
* Fixed a bug which caused messages to disappear in the port list.
* Now delete a port not only when an error occurred when delivering a
  message, but also when it is empty.
* More debug output.

Seems to be working well now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:54:59 +00:00
Ingo Weinhold
0353d33137 Added kernel util header for DoublyLinkedList.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:48:08 +00:00
Ingo Weinhold
634f747e29 Now we use the MessageDeliverer to send asynchronous messages to other apps. Seems to work when the target port is not full. The other case has not been tested yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:49:32 +00:00
Ingo Weinhold
f64fc02f89 Added another DeliverMessage version for broadcasting.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:45:59 +00:00
Ingo Weinhold
d306a4652c * Added a timeout to the delivery functions. This is the time after which
the message will be finally dropped. Makes sense for periodic message
  runners for instance.
* Set the target of a BMessage before flattening it. Thus there will be
  space in the flattened header for it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 15:18:29 +00:00
Ingo Weinhold
56833e831f Implemented the actual message sending. The implementation is complete now, but still untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:20:28 +00:00
Ingo Weinhold
757bc7b934 Renamed Referencable to Referenceable (mainly to make Axel happier :-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 16:10:03 +00:00
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
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
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