Commit Graph

45 Commits

Author SHA1 Message Date
Jérôme Duval
feeb4b5d93 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>
2019-12-21 20:32:31 +00:00
Axel Dörfler
9e73b62749 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).
2015-11-11 16:04:02 +01:00
Michael Lotz
5b9f6b5485 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.
2015-08-28 22:52:50 +02:00
Axel Dörfler
fb7dad2b49 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.
2015-07-22 20:44:03 +02:00
Axel Dörfler
78e39852fa 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).
2015-07-22 20:42:13 +02:00
Axel Dörfler
85f43155fe BRoster: added missing const in Launch() variant.
* The argument array passed in is never touched.
2015-01-28 16:12:18 +01:00
John Scipione
732c579702 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
2014-06-25 19:31:24 -04:00
John Scipione
e0016ffde9 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.
2014-06-25 15:35:09 -04:00
Adrien Destugues
4ec6c3a042 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
2011-11-02 14:57:43 +00:00
Stephan Aßmus
f33637d9a8 * 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
2010-05-27 17:50:12 +00:00
Stephan Aßmus
de9dcd41f8 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
2010-05-27 14:48:27 +00:00
Ingo Weinhold
f8ec4c04a0 Initialize BRoster's MIME messenger lazily.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 09:36:23 +00:00
Ingo Weinhold
a01a4cb9d4 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
2009-05-04 13:37:03 +00:00
Jérôme Duval
f2e230ca88 fix a bit of gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 22:35:52 +00:00
Axel Dörfler
f6e4cbb952 * 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
2007-10-15 20:13:55 +00:00
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
Axel Dörfler
f025617d21 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
2006-06-10 09:25:30 +00:00
Axel Dörfler
eb797182df Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 17:37:36 +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
a13df0dc01 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
2005-07-09 20:23:28 +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
3161d380ef 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
2003-07-03 16:08:37 +00:00
Ingo Weinhold
f15efa78ef Missed one default parameter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-06 15:44:43 +00:00
Ingo Weinhold
eee5628778 Sorry, forgot the default parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-05 20:45:28 +00:00
beveloper
5014c4dcdd 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
2003-06-05 00:24:16 +00:00
Ingo Weinhold
c41e89d3da Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:08:11 +00:00
Ingo Weinhold
e89cde31e4 Rewrote the header from the scratch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:05:21 +00:00
Ingo Weinhold
5eb035ebfa 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
2003-06-04 20: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
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
44db8a0885 + 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
2002-10-27 07:46:32 +00:00
Ingo Weinhold
2d08f6879a Remove _{Start,Stop}Watching() and some friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-18 14:03:29 +00:00
Ingo Weinhold
00bf089671 Nicer parameter names.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-15 22:29:43 +00:00
Ingo Weinhold
9b66380776 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
2002-10-07 21:50:24 +00:00
Ingo Weinhold
507e41e8dc Removed unused private methods. Beautified parameter naming.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 22:43:13 +00:00
Ingo Weinhold
1522bbc771 Reduction of redundant characters. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-04 21:41:30 +00:00
Ingo Weinhold
dc5b003704 Parameter naming consistency...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-04 21:05:06 +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
Ingo Weinhold
92a1f24167 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
2002-09-22 00:12:56 +00:00
Ingo Weinhold
8cd292013b 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
2002-07-28 19:30:27 +00:00
Ingo Weinhold
496ffb0aa7 * 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
2002-07-26 19:47:21 +00:00
Ingo Weinhold
17c00872bb 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
2002-07-23 21:21:55 +00:00
Ingo Weinhold
ad467109d4 Uglified the header according to the OT style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 22:42:46 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00