#endif /* _WIN32 */
m_ShuttingDown = false;
- m_ConfigHive = new_object<ConfigHive>();
+ m_ConfigHive = make_shared<ConfigHive>();
}
Application::~Application(void)
else if (ready == 0)
continue;
- EventArgs::Ptr ea = new_object<EventArgs>();
+ EventArgs::Ptr ea = make_shared<EventArgs>();
ea->Source = shared_from_this();
list<Socket::WeakPtr>::iterator prev, i;
{
int result;
- Application::Instance = new_object<T>();
+ Application::Instance = make_shared<T>();
vector<string> args;
string name = object->GetName();
ti->second[name] = object;
- ConfigHiveEventArgs::Ptr ea = new_object<ConfigHiveEventArgs>();
+ ConfigHiveEventArgs::Ptr ea = make_shared<ConfigHiveEventArgs>();
ea->Source = shared_from_this();
ea->Object = object;
OnObjectCreated(ea);
ti->second.erase(object->GetName());
- ConfigHiveEventArgs::Ptr ea = new_object<ConfigHiveEventArgs>();
+ ConfigHiveEventArgs::Ptr ea = make_shared<ConfigHiveEventArgs>();
ea->Source = shared_from_this();
ea->Object = object;
OnObjectRemoved(ea);
ConfigHive::Ptr hive = m_Hive.lock();
if (hive.get() != NULL) {
- ConfigHiveEventArgs::Ptr ea = new_object<ConfigHiveEventArgs>();
+ ConfigHiveEventArgs::Ptr ea = make_shared<ConfigHiveEventArgs>();
ea->Source = hive;
ea->Object = static_pointer_cast<ConfigObject>(shared_from_this());
ea->Property = name;
}
};
-template<class T>
-shared_ptr<T> new_object(void)
-{
- T *instance = new T();
-
- return shared_ptr<T>(instance);
-}
-
-template<class T, class TArg1>
-shared_ptr<T> new_object(const TArg1& arg1)
-{
- T *instance = new T(arg1);
-
- return shared_ptr<T>(instance);
-}
-
-template<class T, class TArg1, class TArg2>
-shared_ptr<T> new_object(const TArg1& arg1, const TArg2& arg2)
-{
- T *instance = new T(arg1, arg2);
-
- return shared_ptr<T>(instance);
-}
-
typedef function<Object::Ptr ()> factory_function;
template<class T>
Object::Ptr factory(void)
{
- return new_object<T>();
+ return make_shared<T>();
}
}
/* nobody can possibly have a valid event subscription when the destructor has been called */
if (!from_dtor) {
- EventArgs::Ptr ea = new_object<EventArgs>();
+ EventArgs::Ptr ea = make_shared<EventArgs>();
ea->Source = shared_from_this();
OnClosed(ea);
}
TCPClient::TCPClient(void)
{
- m_SendQueue = new_object<FIFO>();
- m_RecvQueue = new_object<FIFO>();
+ m_SendQueue = make_shared<FIFO>();
+ m_RecvQueue = make_shared<FIFO>();
}
void TCPClient::Start(void)
m_RecvQueue->Write(NULL, rc);
- EventArgs::Ptr dea = new_object<EventArgs>();
+ EventArgs::Ptr dea = make_shared<EventArgs>();
dea->Source = shared_from_this();
OnDataAvailable(dea);
fd = accept(GetFD(), (sockaddr *)&addr, &addrlen);
- NewClientEventArgs::Ptr nea = new_object<NewClientEventArgs>();
+ NewClientEventArgs::Ptr nea = make_shared<NewClientEventArgs>();
nea->Source = shared_from_this();
nea->Client = static_pointer_cast<TCPSocket>(m_ClientFactory());
nea->Client->SetFD(fd);
* the timer that originally invoked the delegate */
void Timer::Call(void)
{
- TimerEventArgs::Ptr ea = new_object<TimerEventArgs>();
+ TimerEventArgs::Ptr ea = make_shared<TimerEventArgs>();
ea->Source = shared_from_this();
ea->UserArgs = m_UserArgs;
OnTimerExpired(ea);
void ConfigFileComponent::Start(void)
{
ifstream fp;
- FIFO::Ptr fifo = new_object<FIFO>();
+ FIFO::Ptr fifo = make_shared<FIFO>();
string filename;
if (!GetConfig()->GetProperty("configFilename", &filename))
for (cJSON *object = typeobj->child; object != NULL; object = object->next) {
string name = object->string;
- ConfigObject::Ptr cfgobj = new_object<ConfigObject>();
+ ConfigObject::Ptr cfgobj = make_shared<ConfigObject>();
cfgobj->SetName(name);
cfgobj->SetType(type);
JsonRpcMessage::Ptr ConfigRpcComponent::MakeObjectMessage(const ConfigObject::Ptr& object, string method, bool includeProperties)
{
- JsonRpcMessage::Ptr msg = new_object<JsonRpcMessage>();
+ JsonRpcMessage::Ptr msg = make_shared<JsonRpcMessage>();
msg->SetVersion("2.0");
msg->SetMethod(method);
cJSON *params = msg->GetParams();
IcingaApplication::IcingaApplication(void)
{
- m_ConnectionManager = new_object<ConnectionManager>();
+ m_ConnectionManager = make_shared<ConnectionManager>();
}
int IcingaApplication::Main(const vector<string>& args)
GetConfigHive()->OnObjectCreated += bind_weak(&IcingaApplication::ConfigObjectCreatedHandler, shared_from_this());
GetConfigHive()->OnObjectRemoved += bind_weak(&IcingaApplication::ConfigObjectRemovedHandler, shared_from_this());
- ConfigObject::Ptr fileComponentConfig = new_object<ConfigObject>();
+ ConfigObject::Ptr fileComponentConfig = make_shared<ConfigObject>();
fileComponentConfig->SetName("configfilecomponent");
fileComponentConfig->SetType("component");
fileComponentConfig->SetProperty("configFilename", args[1]);
i = m_Methods.find(request->GetMethod());
if (i == m_Methods.end()) {
- JsonRpcMessage::Ptr response = new_object<JsonRpcMessage>();
+ JsonRpcMessage::Ptr response = make_shared<JsonRpcMessage>();
response->SetVersion("2.0");
response->SetError("Unknown method.");
response->SetID(request->GetID());
if (json == NULL)
break;
- JsonRpcMessage::Ptr msg = new_object<JsonRpcMessage>();
+ JsonRpcMessage::Ptr msg = make_shared<JsonRpcMessage>();
msg->SetJSON(json);
- NewMessageEventArgs::Ptr nea = new_object<NewMessageEventArgs>();
+ NewMessageEventArgs::Ptr nea = make_shared<NewMessageEventArgs>();
nea->Source = shared_from_this();
nea->Message = msg;
OnNewMessage(nea);