History log of /haiku/src/servers/launch/Events.h
Revision Date Author Comments
# b19b3d9b 28-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

launch_daemon: Refactor handling of ExternalEventSources.

* Refactor ResolveExternalEvent to actually return the resolved event,
not just whether or not one was found, and then skip resolution
in TriggerExternalEvent and ResetStickyExternalEvent, which now
should only be passed ExternalEvents.

* ExternalEventSources now store destination Events, not Jobs,
following on that refactor.

* The second variant of ResolveExternalEvents is dropped,
and instead the Register/Unregister functions are implemented.

* Trigger and ResetSticky are now done in ExternalEventSource,
which now keeps track of whether it has been sticky-triggered
or not, though it does not use this information yet.

These changes should not affect behavior, they largely constitute
a reorganization (though some TODOs are resolved.)

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


# a77aa747 25-Apr-2018 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Added basic logging facility

* The daemon now stores many events in am internal log.
* You can use "launch_roster log" to retrieve it.


# 236e68ef 27-Nov-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Check requirements before launching a job.

* They were only launched, but we didn't check if we can actually
launch them.


# 2e17b650 21-Oct-2015 Axel Dörfler <axeld@pinc-software.de>

BLaunchRoster::ResetStickyEvent() added.

* Used to unflag sticky events that already have been triggered once.


# 7cd19b7e 17-Oct-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Implemented sticky events, and registration.

* Sticky events are events that keep their signal raised, ie. even if
a job is initialized afterwards, it will still be triggered.
* Consolidated naming for external events.
* Events are now registered once they are actually being used. This
allows them to allocate the resources they need to do their thing.


# e048384d 13-Oct-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: launching on demand now actually works.

* Was broken in two ways: if only the shortcut "on_demand" was used,
the event didn't get created at all due to a bug in
Events::AddOnDemand().
* Furthermore, _LaunchJob() always triggered a demand, but it should
only do this when not called from a target.


# d94e9c97 16-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Added support for external events.

* Other apps can register events, and the launch_daemon can act on them
when they are triggered.


# 2c756e16 16-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Fixed job event trigger.

* Always check for events before launching a job unconditionally.
* Correctly check for demand before launching a job.


# 5b6c827e 14-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Outlined basic event mechanism.


# d94e9c97d269f47313d5134d0d90a62dd9428dae 16-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Added support for external events.

* Other apps can register events, and the launch_daemon can act on them
when they are triggered.


# 2c756e16e0b34223176755f8cb38ebab0c4db89a 16-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Fixed job event trigger.

* Always check for events before launching a job unconditionally.
* Correctly check for demand before launching a job.


# 5b6c827e828a20bb9d7bb357bdcac799fa51d7df 14-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Outlined basic event mechanism.