History log of /haiku/src/servers/registrar/ShutdownProcess.h
Revision Date Author Comments
# 65f4a227 13-May-2021 CodeforEvolution <secundaja@gmail.com>

registrar: Shutdown Icon Animation

In the case that an application is blocked by a model panel during shutdown, the icon will now show a "waiting" animation
like in BeOS R5.

Fixes #7980

Change-Id: Iec79fcaf431407ff51430a1a8e4c8ec41571059d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4001
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# c2073305 07-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

registrar: Replace the deprecated std::hash_set with our HashSet.


# 6899a856 10-Mar-2018 Jérôme Duval <jerome.duval@gmail.com>

Shutdown: follow up on ff6135f474eed07e58bbd1557cd2cd8ee8027677

* calling TRoster::GetShutdownApps() multiple times with the same lists
leads to problems because the lists aren't emptied first.
* instead we watch the user app launches, add them in the fUserApps list,
and let _QuitApps() iterates through the fUserApps list until it is empty.


# ff6135f4 26-Jan-2018 Hrishi Hiraskar <hrishihiraskar@gmail.com>

Shutdown: Apps can be launched in USER_APP_TERMINATION_PHASE

User can now launch applications in USER_APP_TERMINATION_PHASE
(like when there is a dialog to save an open document). Fixes
Change-Id: I3126e6ab8d2fd76016becb6ce0f726f82ecb7f3b


# 1c38b061 13-May-2009 Axel Dörfler <axeld@pinc-software.de>

* Style cleanup, added missing copyrights.


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


# 7301a7fb 13-Nov-2007 Axel Dörfler <axeld@pinc-software.de>

bonefish+axeld:
* The debug_server now sends the registrar messages whenever the debug alert
is shown, and also, if the user wants to debug the team.
* In the latter case, the registrar will now cancel a shutdown process.
* Also, it will now wait with the shutdown process until the user has
acknowledged the debugger alert.


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


# 970014a6 13-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Improved the shutdown process some more. Systems apps are allowed to ignore the
quit request and are simply removed from the list of apps to close if this
happens. This is primarily designed for the input_server.

I also corrected the MIME type of the debug_server which was causing it to be
incorrectly killed at shutdown.

I did some other clean-up and removed the code I unintentionally submitted
yesterday.


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


# 252f4767 12-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Added some needed stdio.h includes. I don't know what magic was used to compile
these for other people, but they wouldn't compile for me when building the
app_server test environment.


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


# 499aacdd 15-Nov-2006 Ryan Leavengood <leavengood@gmail.com>

Fixed bugs #177 and #180 by adding code to notify the input_server that the
system is shutting down.

For the protocol between the Registrar and input_server I decided to just
re-use the message constant already defined in the input server headers
(SYSTEM_SHUTTING_DOWN.)

The code in the input server to notify the InputServerDevices about the
shutdown was pretty trivial.

For the code in the Registrar I'll let some gurus review it to make sure it
fits in with the rest of the code.


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


# 758b1d0e 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 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


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

* 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


# 6b454d97 07-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 935c0c3a 06-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# b285c054 06-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 553ea301 03-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 1c38b061f8c245d75f57d4509a7106983a46939f 13-May-2009 Axel Dörfler <axeld@pinc-software.de>

* Style cleanup, added missing copyrights.


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


# 7301a7fbdbd860cf12024a0274ba9fd440ae8c5b 13-Nov-2007 Axel Dörfler <axeld@pinc-software.de>

bonefish+axeld:
* The debug_server now sends the registrar messages whenever the debug alert
is shown, and also, if the user wants to debug the team.
* In the latter case, the registrar will now cancel a shutdown process.
* Also, it will now wait with the shutdown process until the user has
acknowledged the debugger alert.


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


# 970014a60a12f265ce53f633950043af86cc05ff 13-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Improved the shutdown process some more. Systems apps are allowed to ignore the
quit request and are simply removed from the list of apps to close if this
happens. This is primarily designed for the input_server.

I also corrected the MIME type of the debug_server which was causing it to be
incorrectly killed at shutdown.

I did some other clean-up and removed the code I unintentionally submitted
yesterday.


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


# 252f4767828ef4564f9fcedca981234e26e7bd32 12-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Added some needed stdio.h includes. I don't know what magic was used to compile
these for other people, but they wouldn't compile for me when building the
app_server test environment.


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


# 499aacdd0a020783a81e0d15a21bb2a4be4abeea 15-Nov-2006 Ryan Leavengood <leavengood@gmail.com>

Fixed bugs #177 and #180 by adding code to notify the input_server that the
system is shutting down.

For the protocol between the Registrar and input_server I decided to just
re-use the message constant already defined in the input server headers
(SYSTEM_SHUTTING_DOWN.)

The code in the input server to notify the InputServerDevices about the
shutdown was pretty trivial.

For the code in the Registrar I'll let some gurus review it to make sure it
fits in with the rest of the code.


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


# 758b1d0e05fe1042cce6e00d194a147802d4f9be 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 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


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

* 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


# 6b454d971de0b410c4194a1eea853d99be4321cc 07-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 935c0c3a124213e803739fbf073ca7446232e7ee 06-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# b285c0542cda49b72fbd932bacd2a9b69356ea83 06-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 553ea30124732e31346177c3bab544e074231b8e 03-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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