mirror of https://github.com/Icinga/icinga2.git
Code cleanup.
This commit is contained in:
parent
dbe48e501c
commit
7d630249cc
|
@ -55,7 +55,7 @@ void Object::ClearHeldObjects(void)
|
|||
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);
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
private:
|
||||
|
@ -54,39 +87,6 @@ private:
|
|||
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.
|
||||
*/
|
||||
|
|
|
@ -25,7 +25,7 @@ CheckResult NagiosCheckTask::Execute(void) const
|
|||
fp = popen(command.c_str(), "r");
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
stringstream output;
|
||||
stringstream outputbuf;
|
||||
|
||||
while (!feof(fp)) {
|
||||
char buffer[128];
|
||||
|
@ -34,10 +34,11 @@ CheckResult NagiosCheckTask::Execute(void) const
|
|||
if (read == 0)
|
||||
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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue