History log of /haiku/headers/os/app/Roster.h
Revision Date Author Comments
# 3cb84528 09-Jul-2023 Trung Nguyen <trungnt282910@gmail.com>

headers/os: Make headers generator-friendly

Make Haiku headers a bit more friendly to binding generators by:
- Giving some `enum`s names (especially those that appear in
default arguments).
- Converting an internal `inline` function into a macro so that
the result could be evaluated in compile time.

Change-Id: I770674ad8fa7b24ac30b6b447d52a4b4c2530b8a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6716
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# feeb4b5d 21-Dec-2019 Jérôme Duval <jerome.duval@gmail.com>

RosterPrivate: add IsShutDownInProgress()

enable to check whether a shutdown process is in progress.

Change-Id: I8efdddb3caa80e9fd188f202b6e92a888a7608e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2042
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 9e73b627 11-Nov-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Fixed preregister consequences.

* Since the last change, the user launch_daemon would talk to the
registrar again.
* However, this also caused BRoster::Launch() to preregister the app,
which messed up our preallocated port.
* BRoster::Private::Launch() now allows to get the port that the
registrar created in such a case, and the launch_daemon will now just
use that one as default port.
* This lets us talk to the Deskbar again, and should fix #12455, as
well as #12454 (again).


# 5b9f6b54 28-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

BRoster: Add launchSuspended option to _LaunchApp().

It allows to launch the app, but keep its main thread suspended instead
of automatically resuming it.

Also add appThread argument which allows to retrieve the main thread of
the launched team.


# fb7dad2b 07-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

BRoster: Added ability to pass env on launch.

* Added BRoster::Private::Launch() that adds an additional parameter
to pass a pointer to the environment of the launched app.


# 78e39852 17-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Use BRoster::Launch() without registrar.

* BRoster now allows settings a "no-registrar" mode that is currently
only honored in _LaunchApp(), though.
* Job::Launch() is now using this, which also allows launching
applications by signature (ie. if the job name matches the
signature, you can omit the "launch" option).


# 85f43155 28-Jan-2015 Axel Dörfler <axeld@pinc-software.de>

BRoster: added missing const in Launch() variant.

* The argument array passed in is never touched.


# 732c5797 25-Jun-2014 John Scipione <jscipione@gmail.com>

Roster: style fixes.

* Check if == NULL or == 0 explicitily
* Use NULL instead of 0 as default value for pointers in header.
* other little stuff, new lines, comments


# e0016ffd 24-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to BRoster, move docs to doxygen.

Keep the brief description as a regular comment above each public method.

Leave the docs of private methods.

Some variable renaming mostly because of abbreviations.

Add documentation for all the public methods and app_info members and defines
that didn't have docs in the cpp file.


# 4ec6c3a0 02-Nov-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Merge patch by plfiorini :

Some changes to the API for notifications.
* Don't go through be_roster to send a notification, but use Notification->Send() instead.
* Rename App to Group to make the purpose clearer

And some changes to the notification code itself:
* Use the Notification class as the way to convey informations about a notification. Allows easier extension of this class
* Code cleanup
* Use of the layout kit for the notify window

Unfortunately, the latter part clashes quite a bit with the changes I already did to the notification window, so it's now quite broken. Working on that next, but I wanted to separate that work from the patch ...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43114 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f33637d9 27-May-2010 Stephan Aßmus <superstippi@gmx.de>

* Improved BNotification API.
- No more manual memory management.
- Make it clear who keeps or releases ownership of arguments passed.
- Copy icon, arguments and entry_refs.
- Do not expose implementation details (What do the BLists contain?!).
- BRoster takes const BNotification& and bigtime_t timeout.

* BRoster::Notify():
- Proper error handling.
- Fixed documentation.

* Adjusted notify:
- Renamed fOk to fHasGoodArguments.
- The "const char*" members were really "char*" members (self-managed).
- free() is NULL-safe.
- fRefs contains BEntries, so passing void* to delete does no good.
- Adjustments to the changed API.
- Coding style fixes.

* notification_server:
- Adjustment to the new type for timeout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36952 a95241bf-73f2-0310-859d-f6bbb57e9c96


# de9dcd41 27-May-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by plfiorini: Integration of InfoPopper as a system service. See ticket
#1245. There are some TODOs outlined in the ticket, but they will be much
easier to review as individual patches against trunk, versus as a new version
of the huge patch.

I've messed a lot with src/servers/notification/NotificationsView.cpp in order
to resolve a crash I was getting when testing this thing (rewrote line
wrapping). I've also replaced the icons with the one that zuMi did long ago.

Thanks, plfiorini, for working on this code as much as you did!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36949 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f8ec4c04 01-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Initialize BRoster's MIME messenger lazily.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a01a4cb9 04-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Should have been part of r30624: Renamed _SniffFile() to _GetFileType().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30625 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f2e230ca 15-Oct-2007 Jérôme Duval <korli@users.berlios.de>

fix a bit of gcc4 build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22578 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f6e4cbb9 15-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c2f641f2 18-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

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


# 6bfd06d1 31-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# f025617d 10-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

Forgot to commit this header - should have been part of r17785.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17786 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eb797182 16-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16430 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2fd4a041 17-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# a13df0dc 09-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a "confirm" parameter to BRoster::Shutdown() which causes the registrar
to ask the user to confirm shutting down the system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13563 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 925d069d 03-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 3161d380 03-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved the declaration of the Private subclass into the public section where it belongs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3818 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f15efa78 06-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Missed one default parameter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3441 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eee56287 05-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Sorry, forgot the default parameters.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3436 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5014c4dc 04-Jun-2003 beveloper <beveloper@nowhere.fake>

added default parameter to be able to compile media_server


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3431 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c41e89d3 04-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed typo.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3428 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e89cde31 04-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Rewrote the header from the scratch.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3427 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5eb035eb 04-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Header is derived from BeOS R5 header. Removed it and going to rewrite it from the scratch.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3426 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ed834e3 08-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 1bde02ae 08-Nov-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

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


# 44db8a08 27-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Added {Get,Add,Clear}Recent{Apps,Documents,Folders} framework
+ Fleshed out {Get,Add}RecentApps calls
+ Updated argument names for GetRecent{Documents,Folders} to
versions used in R5 release notes in the Be Book.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1715 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2d08f687 18-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove _{Start,Stop}Watching() and some friends.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1575 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 00bf0896 15-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Nicer parameter names.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1539 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9b663807 07-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Changed SetSignature() return value from void to status_t. resolve_app() and translate_ref() do now set the supplied ref to the resulting one when traversing a link.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 507e41e8 06-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed unused private methods. Beautified parameter naming.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1409 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1522bbc7 04-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Reduction of redundant characters. ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1375 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dc5b0037 04-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Parameter naming consistency...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1372 a95241bf-73f2-0310-859d-f6bbb57e9c96


# afac6ebe 23-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Initialize the global be_roster for the registrar.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1129 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 92a1f241 21-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented BRoster::FindApp() and a bunch of helper functions needed for it. Tweaked some of the helpers signatures.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1110 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8cd29201 28-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added _send_to_roster_() and _is_valid_roster_mess_().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@512 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 496ffb0a 26-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed return type of some private methods from void to status_t.
AddApplication() returns the token via reference parameter and
additionally returns the team ID of the already running app (if any).
* Implemented AddApplication(), SetThreadAndTeam(), CompleteRegistration(),
IsAppPreRegistered(), RemovePreRegApp(), RemoveApp(), or to to say it
briefly the complete set of app registration helper functions.
* Implemented GetRunningAppInfo() and GetActiveAppInfo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@454 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17c00872 23-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented _init_roster_() and added _delete_roster_() which are now responsible for be_roster.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@399 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ad467109 21-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Uglified the header according to the OT style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@376 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b9f6b5485af065913bc747f5c6a21001b275b7f 28-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

BRoster: Add launchSuspended option to _LaunchApp().

It allows to launch the app, but keep its main thread suspended instead
of automatically resuming it.

Also add appThread argument which allows to retrieve the main thread of
the launched team.


# fb7dad2b496333a96cf82d51c7deb41857e22321 07-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

BRoster: Added ability to pass env on launch.

* Added BRoster::Private::Launch() that adds an additional parameter
to pass a pointer to the environment of the launched app.


# 78e39852fad37b7ce43c29d0f22c41405513c119 17-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Use BRoster::Launch() without registrar.

* BRoster now allows settings a "no-registrar" mode that is currently
only honored in _LaunchApp(), though.
* Job::Launch() is now using this, which also allows launching
applications by signature (ie. if the job name matches the
signature, you can omit the "launch" option).


# 85f43155fe09aef03da5de75dd82a7b3fb8dd101 28-Jan-2015 Axel Dörfler <axeld@pinc-software.de>

BRoster: added missing const in Launch() variant.

* The argument array passed in is never touched.


# 732c579702e8601d9838249652cc8b1d425ce0c5 25-Jun-2014 John Scipione <jscipione@gmail.com>

Roster: style fixes.

* Check if == NULL or == 0 explicitily
* Use NULL instead of 0 as default value for pointers in header.
* other little stuff, new lines, comments


# e0016ffde98b1ee1a641e51fc8d6e7c55133e22c 24-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to BRoster, move docs to doxygen.

Keep the brief description as a regular comment above each public method.

Leave the docs of private methods.

Some variable renaming mostly because of abbreviations.

Add documentation for all the public methods and app_info members and defines
that didn't have docs in the cpp file.


# 4ec6c3a042bbc8e2e94b2ccd19c1e9289232d1e4 02-Nov-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Merge patch by plfiorini :

Some changes to the API for notifications.
* Don't go through be_roster to send a notification, but use Notification->Send() instead.
* Rename App to Group to make the purpose clearer

And some changes to the notification code itself:
* Use the Notification class as the way to convey informations about a notification. Allows easier extension of this class
* Code cleanup
* Use of the layout kit for the notify window

Unfortunately, the latter part clashes quite a bit with the changes I already did to the notification window, so it's now quite broken. Working on that next, but I wanted to separate that work from the patch ...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43114 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f33637d9a8d0a6c080d85d375c8143cd13277d83 27-May-2010 Stephan Aßmus <superstippi@gmx.de>

* Improved BNotification API.
- No more manual memory management.
- Make it clear who keeps or releases ownership of arguments passed.
- Copy icon, arguments and entry_refs.
- Do not expose implementation details (What do the BLists contain?!).
- BRoster takes const BNotification& and bigtime_t timeout.

* BRoster::Notify():
- Proper error handling.
- Fixed documentation.

* Adjusted notify:
- Renamed fOk to fHasGoodArguments.
- The "const char*" members were really "char*" members (self-managed).
- free() is NULL-safe.
- fRefs contains BEntries, so passing void* to delete does no good.
- Adjustments to the changed API.
- Coding style fixes.

* notification_server:
- Adjustment to the new type for timeout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36952 a95241bf-73f2-0310-859d-f6bbb57e9c96


# de9dcd41f8865290849ce03385126dca1cd43a49 27-May-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by plfiorini: Integration of InfoPopper as a system service. See ticket
#1245. There are some TODOs outlined in the ticket, but they will be much
easier to review as individual patches against trunk, versus as a new version
of the huge patch.

I've messed a lot with src/servers/notification/NotificationsView.cpp in order
to resolve a crash I was getting when testing this thing (rewrote line
wrapping). I've also replaced the icons with the one that zuMi did long ago.

Thanks, plfiorini, for working on this code as much as you did!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36949 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f8ec4c04a0a67d134cff464125af6fc4b2fbbb58 01-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Initialize BRoster's MIME messenger lazily.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a01a4cb9d4c834d4c8a085024d508f5b6699811f 04-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Should have been part of r30624: Renamed _SniffFile() to _GetFileType().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30625 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f2e230ca8829cf8df92af1445d523ca474a5f406 15-Oct-2007 Jérôme Duval <korli@users.berlios.de>

fix a bit of gcc4 build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22578 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f6e4cbb95290a74b33d012600438b84742b0e572 15-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c2f641f2e51127c2318b5c4201919ec14ae9fe56 18-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

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


# 6bfd06d1ff129f4db4445b978fa3ee9257f239c9 31-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# f025617d21f78dde28b3d5fa91a37386daac3ec1 10-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

Forgot to commit this header - should have been part of r17785.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17786 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eb797182dfa82004d795c2c9939217053ce81421 16-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16430 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2fd4a0411b7a0a98d8099ef3ec8e52ee75a1d3a1 17-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# a13df0dc01b4f961be77fbb11ed08d177a4bae43 09-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a "confirm" parameter to BRoster::Shutdown() which causes the registrar
to ask the user to confirm shutting down the system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13563 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 925d069d2345f9a7923cc3f1ff6e982a526dc844 03-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 3161d380ef56651ae61cd42813f6d8a10efd289f 03-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved the declaration of the Private subclass into the public section where it belongs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3818 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f15efa78efd85460df6743fa77473ffbbbe3196c 06-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Missed one default parameter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3441 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eee5628778384ffb0ac874a8c0aefe70d1a8bac1 05-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Sorry, forgot the default parameters.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3436 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5014c4dcddb9b1cefa84432d9dfb585b01598549 04-Jun-2003 beveloper <beveloper@nowhere.fake>

added default parameter to be able to compile media_server


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3431 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c41e89d3daaccd860682c5ceac35067d1bcfc02f 04-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed typo.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3428 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e89cde31e4873f843f71db22bf6985f76313db8f 04-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Rewrote the header from the scratch.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3427 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5eb035ebfac12349db7ddd9fcf92eb87438391e0 04-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Header is derived from BeOS R5 header. Removed it and going to rewrite it from the scratch.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3426 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ed834e3f6f94d48d8671f8379040f4e8cc70238 08-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 1bde02ae7b639be0ec8595ecec3577d7926a1f39 08-Nov-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

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


# 44db8a0885bf0092212b3901c0b9988ed660eea7 27-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Added {Get,Add,Clear}Recent{Apps,Documents,Folders} framework
+ Fleshed out {Get,Add}RecentApps calls
+ Updated argument names for GetRecent{Documents,Folders} to
versions used in R5 release notes in the Be Book.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1715 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2d08f6879a8fafcd1a8ae3cbd3d72069e440080c 18-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove _{Start,Stop}Watching() and some friends.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1575 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 00bf089671c2f3b01632c73e3f3b412328e7fa40 15-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Nicer parameter names.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1539 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9b66380776a3543e4b9da64fbeba21642357530b 07-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Changed SetSignature() return value from void to status_t. resolve_app() and translate_ref() do now set the supplied ref to the resulting one when traversing a link.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 507e41e8dc7ed1b3ecd9303cedb1374af7f4ee04 06-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed unused private methods. Beautified parameter naming.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1409 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1522bbc771a79023f545f52bb8e3486cf5bf81d0 04-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Reduction of redundant characters. ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1375 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dc5b003704fb3d96aa1a2da593573977a693fa80 04-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Parameter naming consistency...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1372 a95241bf-73f2-0310-859d-f6bbb57e9c96


# afac6ebecb43f5294220186c1aa45d7219a574a0 23-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Initialize the global be_roster for the registrar.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1129 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 92a1f2416711e301fa09ec8806ed953c4711fd78 21-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented BRoster::FindApp() and a bunch of helper functions needed for it. Tweaked some of the helpers signatures.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1110 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8cd292013baf44e4afdaff63d0e3f51e6ee39301 28-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added _send_to_roster_() and _is_valid_roster_mess_().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@512 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 496ffb0aa7b65d8cdc7da078d55cc337459938ba 26-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed return type of some private methods from void to status_t.
AddApplication() returns the token via reference parameter and
additionally returns the team ID of the already running app (if any).
* Implemented AddApplication(), SetThreadAndTeam(), CompleteRegistration(),
IsAppPreRegistered(), RemovePreRegApp(), RemoveApp(), or to to say it
briefly the complete set of app registration helper functions.
* Implemented GetRunningAppInfo() and GetActiveAppInfo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@454 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17c00872bbc2a23c29364e2717e9ce8be4e775f8 23-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented _init_roster_() and added _delete_roster_() which are now responsible for be_roster.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@399 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ad467109d4bb220e713e902285439295d49b4f34 21-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Uglified the header according to the OT style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@376 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96