Removed custom new_object function.

This commit is contained in:
Gunnar Beutner 2012-04-03 15:16:11 +02:00
parent 34d50924e8
commit 66fdf079fa
14 changed files with 21 additions and 45 deletions

View File

@ -18,7 +18,7 @@ Application::Application(void)
#endif /* _WIN32 */
m_ShuttingDown = false;
m_ConfigHive = new_object<ConfigHive>();
m_ConfigHive = make_shared<ConfigHive>();
}
Application::~Application(void)
@ -94,7 +94,7 @@ void Application::RunEventLoop(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;

View File

@ -49,7 +49,7 @@ int application_main(int argc, char **argv)
{
int result;
Application::Instance = new_object<T>();
Application::Instance = make_shared<T>();
vector<string> args;

View File

@ -17,7 +17,7 @@ void ConfigHive::AddObject(const ConfigObject::Ptr& object)
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);
@ -33,7 +33,7 @@ void ConfigHive::RemoveObject(const ConfigObject::Ptr& object)
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);

View File

@ -38,7 +38,7 @@ void ConfigObject::SetProperty(const string& name, const string& value)
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;

View File

@ -36,36 +36,12 @@ public:
}
};
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>();
}
}

View File

@ -52,7 +52,7 @@ void Socket::Close(bool from_dtor)
/* 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);
}

View File

@ -4,8 +4,8 @@ using namespace icinga;
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)
@ -48,7 +48,7 @@ int TCPClient::ReadableEventHandler(EventArgs::Ptr ea)
m_RecvQueue->Write(NULL, rc);
EventArgs::Ptr dea = new_object<EventArgs>();
EventArgs::Ptr dea = make_shared<EventArgs>();
dea->Source = shared_from_this();
OnDataAvailable(dea);

View File

@ -39,7 +39,7 @@ int TCPServer::ReadableEventHandler(EventArgs::Ptr ea)
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);

View File

@ -74,7 +74,7 @@ void Timer::StopAllTimers(void)
* 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);

View File

@ -13,7 +13,7 @@ string ConfigFileComponent::GetName(void)
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))
@ -51,7 +51,7 @@ void ConfigFileComponent::Start(void)
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);

View File

@ -40,7 +40,7 @@ void ConfigRpcComponent::Stop(void)
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();

View File

@ -11,7 +11,7 @@ using namespace icinga;
IcingaApplication::IcingaApplication(void)
{
m_ConnectionManager = new_object<ConnectionManager>();
m_ConnectionManager = make_shared<ConnectionManager>();
}
int IcingaApplication::Main(const vector<string>& args)
@ -33,7 +33,7 @@ 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]);

View File

@ -50,7 +50,7 @@ int ConnectionManager::NewMessageHandler(NewMessageEventArgs::Ptr nmea)
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());

View File

@ -30,9 +30,9 @@ int JsonRpcClient::DataAvailableHandler(EventArgs::Ptr ea)
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);