diff --git a/lib/base/dynamicobject.h b/lib/base/dynamicobject.h index e99841fd6..3f9a8246a 100644 --- a/lib/base/dynamicobject.h +++ b/lib/base/dynamicobject.h @@ -97,20 +97,6 @@ public: static boost::signal OnUnregistered; static boost::signal&)> OnTransactionClosing; - /** - * Synchronously invokes a method. The method must not return before it's finished. - * - * @param method The name of the method. - * @param arguments Arguments for the method. - */ - template - T InvokeMethodSync(const String& method, const vector& arguments) - { - ScriptTask::Ptr task = InvokeMethod(method, arguments, ScriptTask::CompletionCallback()); - assert(task->IsFinished()); - return task->GetResult(); - } - ScriptTask::Ptr InvokeMethod(const String& method, const vector& arguments, ScriptTask::CompletionCallback callback); diff --git a/lib/icinga/Makefile.am b/lib/icinga/Makefile.am index 3ffcb0143..20c3a3a4c 100644 --- a/lib/icinga/Makefile.am +++ b/lib/icinga/Makefile.am @@ -32,9 +32,7 @@ libicinga_la_SOURCES = \ service.cpp \ servicegroup.cpp \ servicegroup.h \ - service.h \ - timeperiod.cpp \ - timeperiod.h + service.h libicinga_la_CPPFLAGS = \ -DI2_ICINGA_BUILD \ diff --git a/lib/icinga/i2-icinga.h b/lib/icinga/i2-icinga.h index c9a55652e..cb40679ce 100644 --- a/lib/icinga/i2-icinga.h +++ b/lib/icinga/i2-icinga.h @@ -46,8 +46,6 @@ using boost::algorithm::is_any_of; #include "endpointmanager.h" #include "icingaapplication.h" -#include "timeperiod.h" - #include "acknowledgement.h" #include "downtimeprocessor.h" #include "commentprocessor.h" diff --git a/lib/icinga/icinga.vcxproj b/lib/icinga/icinga.vcxproj index b5575f9ca..ca28caf60 100644 --- a/lib/icinga/icinga.vcxproj +++ b/lib/icinga/icinga.vcxproj @@ -38,7 +38,6 @@ - @@ -56,7 +55,6 @@ - {C1FC77E1-04A4-481B-A78B-2F7AF489C2F8} diff --git a/lib/icinga/timeperiod.cpp b/lib/icinga/timeperiod.cpp deleted file mode 100644 index c68c67ce3..000000000 --- a/lib/icinga/timeperiod.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/****************************************************************************** - * Icinga 2 * - * Copyright (C) 2012 Icinga Development Team (http://www.icinga.org/) * - * * - * This program is free software; you can redistribute it and/or * - * modify it under the terms of the GNU General Public License * - * as published by the Free Software Foundation; either version 2 * - * of the License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the Free Software Foundation * - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * - ******************************************************************************/ - -#include "i2-icinga.h" - -using namespace icinga; - -static AttributeDescription timePeriodAttributes[] = { - { "cached_state", Attribute_Transient }, - { "cached_next_change", Attribute_Transient } -}; - -REGISTER_TYPE(TimePeriod, timePeriodAttributes); - -String TimePeriod::GetAlias(void) const -{ - String value = Get("alias"); - - if (!value.IsEmpty()) - return value; - else - return GetName(); -} - -bool TimePeriod::Exists(const String& name) -{ - return (DynamicObject::GetObject("TimePeriod", name)); -} - -TimePeriod::Ptr TimePeriod::GetByName(const String& name) -{ - DynamicObject::Ptr configObject = DynamicObject::GetObject("TimePeriod", name); - - if (!configObject) - BOOST_THROW_EXCEPTION(invalid_argument("TimePeriod '" + name + "' does not exist.")); - - return dynamic_pointer_cast(configObject); -} - -bool TimePeriod::IsActive(void) { - if (GetNextChange() > Utility::GetTime()) { - vector args; - args.push_back(static_cast(GetSelf())); - return InvokeMethodSync("is_active", args); - } else { - return Get("cached_state"); - } -} - -double TimePeriod::GetNextChange(void) { - double next_change = Get("cached_next_change"); - - if (next_change < Utility::GetTime()) { - vector args; - args.push_back(static_cast(GetSelf())); - next_change = InvokeMethodSync("is_active", args); - // TODO: figure out next_change by calling method - - Set("cached_next_change", next_change); - } - - return next_change; -} diff --git a/lib/icinga/timeperiod.h b/lib/icinga/timeperiod.h deleted file mode 100644 index 481e794a5..000000000 --- a/lib/icinga/timeperiod.h +++ /dev/null @@ -1,46 +0,0 @@ -/****************************************************************************** - * Icinga 2 * - * Copyright (C) 2012 Icinga Development Team (http://www.icinga.org/) * - * * - * This program is free software; you can redistribute it and/or * - * modify it under the terms of the GNU General Public License * - * as published by the Free Software Foundation; either version 2 * - * of the License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the Free Software Foundation * - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * - ******************************************************************************/ - -#ifndef TIMEPERIOD_H -#define TIMEPERIOD_H - -namespace icinga -{ - -class I2_ICINGA_API TimePeriod : public DynamicObject { -public: - typedef shared_ptr Ptr; - typedef weak_ptr WeakPtr; - - TimePeriod(const Dictionary::Ptr& properties) - : DynamicObject(properties) - { } - - static bool Exists(const String& name); - static TimePeriod::Ptr GetByName(const String& name); - - String GetAlias(void) const; - - bool IsActive(void); - double GetNextChange(void); -}; - -} - -#endif /* TIMEPERIOD_H */