IActivate.h
1
26
27#ifndef COSMO_ACTIVATE_INTERFACE_H
28#define COSMO_ACTIVATE_INTERFACE_H
29
30#include <Pt/Cosmo/Api.h>
31#include <Pt/Cosmo/IUnknown.h>
32
33namespace Pt {
34
35namespace Cosmo {
36
37class IActivator;
39
50class IActivate : public IUnknown
51{
52 public:
57 void activate(const IActivator& activator)
58 {
59 onActivate(activator);
60 }
61
65 {
67 }
68
69 protected:
76 virtual void onActivate(const IActivator& activator) = 0;
77
82 virtual void onDeactivate() = 0;
83};
84
85} // namespace Cosmo
86
87} // namespace Pt
88
89#include <Pt/Cosmo/IActivator.h>
90
91#endif // include guard
Activation interface for required dependencies.
Definition IActivate.h:51
void activate(const IActivator &activator)
Activates the component.
Definition IActivate.h:57
virtual void onDeactivate()=0
Called when the component is deactivated.
void deactivate()
Deactivates the component.
Definition IActivate.h:64
virtual void onActivate(const IActivator &activator)=0
Called when all required dependencies are available.
Dependency resolver.
Definition IActivator.h:50
Component manager interface.
Definition IComponentManager.h:55
Interface base class.
Definition IUnknown.h:44
Cosmo Component Model.
Definition Api.h:53
Core module.
Definition Allocator.h:33