2 * Copyright 2015, Axel Dörfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
17 class EventRegistrator
{
19 virtual status_t
RegisterExternalEvent(Event
* event
,
21 const BStringList
& arguments
) = 0;
22 virtual void UnregisterExternalEvent(Event
* event
,
23 const char* name
) = 0;
32 virtual status_t
Register(
33 EventRegistrator
& registrator
) = 0;
34 virtual void Unregister(
35 EventRegistrator
& registrator
) = 0;
37 bool Triggered() const;
38 virtual void Trigger();
39 virtual void ResetTrigger();
41 virtual BaseJob
* Owner() const;
42 virtual void SetOwner(BaseJob
* owner
);
44 Event
* Parent() const;
46 virtual BString
ToString() const = 0;
56 static Event
* FromMessage(const BMessenger
& target
,
57 const BMessage
& message
);
58 static Event
* AddOnDemand(const BMessenger
& target
, Event
* event
);
59 static bool ResolveExternalEvent(Event
* event
,
60 const char* name
, uint32 flags
);
61 static void TriggerExternalEvent(Event
* event
,
63 static void ResetStickyExternalEvent(Event
* event
,
65 static bool TriggerDemand(Event
* event
, bool testOnly
= false);