mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-27 23:54:07 +02:00
Code cleanup.
This commit is contained in:
parent
dbe48e501c
commit
7d630249cc
@ -55,7 +55,7 @@ void Object::ClearHeldObjects(void)
|
|||||||
m_HeldObjects.clear();
|
m_HeldObjects.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
SharedPtrHolder Object::GetSelf(void)
|
Object::SharedPtrHolder Object::GetSelf(void)
|
||||||
{
|
{
|
||||||
return SharedPtrHolder(shared_from_this());
|
return Object::SharedPtrHolder(shared_from_this());
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,39 @@ protected:
|
|||||||
|
|
||||||
void Hold(void);
|
void Hold(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Holds a shared pointer and provides support for implicit upcasts.
|
||||||
|
*/
|
||||||
|
class SharedPtrHolder
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit SharedPtrHolder(const Object::Ptr& object)
|
||||||
|
: m_Object(object)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
operator shared_ptr<T>(void) const
|
||||||
|
{
|
||||||
|
#ifdef _DEBUG
|
||||||
|
shared_ptr<T> other = dynamic_pointer_cast<T>(m_Object);
|
||||||
|
assert(other);
|
||||||
|
#else /* _DEBUG */
|
||||||
|
shared_ptr<T> other = static_pointer_cast<T>(m_Object);
|
||||||
|
#endif /* _DEBUG */
|
||||||
|
|
||||||
|
return other;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
operator weak_ptr<T>(void) const
|
||||||
|
{
|
||||||
|
return static_cast<shared_ptr<T> >(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
Object::Ptr m_Object;
|
||||||
|
};
|
||||||
|
|
||||||
SharedPtrHolder GetSelf(void);
|
SharedPtrHolder GetSelf(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -54,39 +87,6 @@ private:
|
|||||||
static vector<Object::Ptr> m_HeldObjects;
|
static vector<Object::Ptr> m_HeldObjects;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Holds a shared pointer and provides support for implicit upcasts.
|
|
||||||
*/
|
|
||||||
class SharedPtrHolder
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit SharedPtrHolder(const shared_ptr<Object>& object)
|
|
||||||
: m_Object(object)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
operator shared_ptr<T>(void) const
|
|
||||||
{
|
|
||||||
#ifdef _DEBUG
|
|
||||||
shared_ptr<T> other = dynamic_pointer_cast<T>(m_Object);
|
|
||||||
assert(other);
|
|
||||||
#else /* _DEBUG */
|
|
||||||
shared_ptr<T> other = static_pointer_cast<T>(m_Object);
|
|
||||||
#endif /* _DEBUG */
|
|
||||||
|
|
||||||
return other;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
operator weak_ptr<T>(void) const
|
|
||||||
{
|
|
||||||
return static_cast<shared_ptr<T> >(*this);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
shared_ptr<Object> m_Object;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compares a weak pointer with a raw pointer.
|
* Compares a weak pointer with a raw pointer.
|
||||||
*/
|
*/
|
||||||
|
@ -25,7 +25,7 @@ CheckResult NagiosCheckTask::Execute(void) const
|
|||||||
fp = popen(command.c_str(), "r");
|
fp = popen(command.c_str(), "r");
|
||||||
#endif /* _MSC_VER */
|
#endif /* _MSC_VER */
|
||||||
|
|
||||||
stringstream output;
|
stringstream outputbuf;
|
||||||
|
|
||||||
while (!feof(fp)) {
|
while (!feof(fp)) {
|
||||||
char buffer[128];
|
char buffer[128];
|
||||||
@ -34,10 +34,11 @@ CheckResult NagiosCheckTask::Execute(void) const
|
|||||||
if (read == 0)
|
if (read == 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
output << string(buffer, buffer + read);
|
outputbuf << string(buffer, buffer + read);
|
||||||
}
|
}
|
||||||
|
|
||||||
cr.Output = output.str();
|
cr.Output = outputbuf.str();
|
||||||
|
boost::algorithm::trim(cr.Output);
|
||||||
|
|
||||||
Application::Log(LogDebug, "icinga", "Nagios plugin output: " + cr.Output);
|
Application::Log(LogDebug, "icinga", "Nagios plugin output: " + cr.Output);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user