icinga2/icinga/icingaapplication.h

40 lines
983 B
C
Raw Normal View History

#ifndef ICINGAAPPLICATION_H
#define ICINGAAPPLICATION_H
2012-03-31 16:29:53 +02:00
namespace icinga
{
class I2_ICINGA_API IcingaApplication : public Application
2012-03-31 16:29:53 +02:00
{
private:
EndpointManager::Ptr m_EndpointManager;
2012-04-18 15:22:25 +02:00
Timer::Ptr m_TestTimer;
VirtualEndpoint::Ptr m_TestEndpoint;
2012-03-31 16:29:53 +02:00
2012-04-18 15:22:25 +02:00
int NewComponentHandler(const ConfigObjectEventArgs& ea);
int DeletedComponentHandler(const ConfigObjectEventArgs& ea);
2012-04-18 15:22:25 +02:00
int NewRpcListenerHandler(const ConfigObjectEventArgs& ea);
int DeletedRpcListenerHandler(const ConfigObjectEventArgs& ea);
2012-04-18 15:22:25 +02:00
int NewRpcConnectionHandler(const ConfigObjectEventArgs& ea);
int DeletedRpcConnectionHandler(const ConfigObjectEventArgs& ea);
2012-04-18 15:22:25 +02:00
int TestTimerHandler(const TimerEventArgs& tea);
2012-03-31 16:29:53 +02:00
public:
typedef shared_ptr<IcingaApplication> Ptr;
typedef weak_ptr<IcingaApplication> WeakPtr;
2012-03-31 16:29:53 +02:00
IcingaApplication(void);
int Main(const vector<string>& args);
2012-03-31 16:29:53 +02:00
2012-04-02 13:09:33 +02:00
void PrintUsage(const string& programPath);
EndpointManager::Ptr GetEndpointManager(void);
2012-03-31 16:29:53 +02:00
};
}
#endif /* ICINGAAPPLICATION_H */