Commit Graph

28 Commits

Author SHA1 Message Date
Axel Dörfler
c2f641f2e5 Turns out the whole "active app" mechanism in the registrar wasn't used at all; the
Switcher now works as expected.
* Renamed TRoster::ActivateApp() to UpdateActiveApp(), as the app is already activated
  at that point (the registrar only keeps track of it).
* BWindow::DispatchMessage() now calls the new BRoster::Private::UpdateActiveApp()
  method when it receives a B_WINDOW_ACTIVATED message.
* Added BRoster::_UpdateActiveApp() which calls the new B_REG_UPDATE_ACTIVE_APP.
* Removed now unused B_REG_ACTIVATE_APP.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-18 17:45:08 +00:00
Ingo Weinhold
6bfd06d1ff BRoster::Launch() eventually launches the application in question
in several steps:
1. early pre-registration with the registrar ("I wanna launch the
   app, make sure noone interferes.")
2. load the app image
3. finish pre-registration with the registrar ("I have launched
   the app, here is its team ID.")
4. start app main thread
5. send "on launch" messages to the app (argv, refs, others)

If the app is already running or being launched, 1. fails with a
conclusive error code and returns the team ID and the pre-registration
token of the app. Steps 2 - 4 are skipped and only the messages are
delivered using the team ID returned by 1.

This change fixes a race condition: The failed early pre-registration
request obviously cannot return the team ID, if the other thread
launching the app has not finished step 3 yet. Thus the argv/refs
message would not get delivered and Launch() would not return the
correct team ID.

Now we wait for the pre-registration to be finished in this case, using
the former _IsAppPreRegistered() mechanism, which already provided
such a waiting feature for one request. It has been extended to
accomodate an arbitrary number of waiting requests and renamed to
_IsAppRegistered().

This fixed bug #763.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 17:54:16 +00:00
Ingo Weinhold
925d069d23 * Added BRoster::ShutDown().
* Adjusted the shutdown command to use BRoster::ShutDown(). Removed
  the alert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:04:47 +00:00
Ingo Weinhold
0ffb21a672 * Moved everything into the BPrivate namespace.
* Replaced the constant kRosterPortName by a function returning that name
  (we need different port names under BeOS and Haiku, and already at
  libbe init time).
* The settings directory is obtained via find_directory() (critized by
  Axel :-).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:06:30 +00:00
Ingo Weinhold
b393d4420b Added constant for the disk device rescan event.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-11 23:33:43 +00:00
Ingo Weinhold
44e2062426 Added constants for the Disk Device API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-01 21:06:56 +00:00
shadow303
5ea0e0a5d0 Change clipboard constants
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-09 20:55:41 +00:00
Tyler Dauwalder
6de29761ec Added Load/Save Recent Lists constants
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 08:38:50 +00:00
Tyler Dauwalder
4f935768b7 Added {Get,AddTo,Clear}Recent{Apps,Documents,Folders} message constants.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 07:47:18 +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
97b8908160 Added message constants for roster watching.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-18 14:03:54 +00:00
Ingo Weinhold
87c9902db3 Added B_REG_BROADCAST message code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-15 22:30:10 +00:00
Ingo Weinhold
4c0638893d Added registrar internal message code for the roster sanity event.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 21:05:39 +00:00
Ingo Weinhold
cd1a0ce832 Added message constants for the message runner support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-12 22:38:41 +00:00
Ingo Weinhold
ae56d39432 Added B_REG_SET_SIGNATURE.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 21:50:49 +00:00
Tyler Dauwalder
a122f181c1 Update mime update constants
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:11:42 +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
730441c856 Removed B_REG_MIME_UNSUPPORT_TYPE.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-30 20:01:30 +00:00
Tyler Dauwalder
58e3c56d45 Added B_REG_MIME_GET_SUPPORTING_APPS
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:55:18 +00:00
Ingo Weinhold
821e6e16f2 Added B_REG_MIME_UNSUPPORT_TYPES message code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-25 22:48:41 +00:00
Tyler Dauwalder
ea1a165a95 Added B_REG_MIME_GET_INSTALLED[SUPER]_TYPES
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:54:01 +00:00
Tyler Dauwalder
19ac754088 Added B_REG_MIME_DELETE_PARAM
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:35:05 +00:00
Tyler Dauwalder
691354c6d0 Added B_REG_RESULT
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:34:45 +00:00
Tyler Dauwalder
c0de18bddf Added a number of Mime related definitions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 21:59:24 +00:00
Ingo Weinhold
f010066db3 More sugar: Added message constants for running app querying and activation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:17:08 +00:00
Ingo Weinhold
b194af1035 Added message and codes, a flat_app_info structure and the name of roster side created app looper ports.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:57:58 +00:00
Ingo Weinhold
e07bab9da6 Added message constants for the application registration.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 23:42:11 +00:00
Ingo Weinhold
e0cc8c68a4 The beginning of the registrar - API classes interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 22:37:39 +00:00