From: Gunnar Beutner Date: Wed, 6 Jun 2012 12:12:09 +0000 (+0200) Subject: Lots of bugfixes, improved error messages and debug information, performance improvem... X-Git-Tag: v0.0.1~447 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=100287dfdbb70d87a52155391f58d503fa1e72bd;p=icinga2 Lots of bugfixes, improved error messages and debug information, performance improvements. --- diff --git a/dyn/configcontext.cpp b/dyn/configcompiler.cpp similarity index 100% rename from dyn/configcontext.cpp rename to dyn/configcompiler.cpp diff --git a/dyn/configcontext.h b/dyn/configcompiler.h similarity index 100% rename from dyn/configcontext.h rename to dyn/configcompiler.h diff --git a/dyn/dconfigobject.cpp b/dyn/configitem.cpp similarity index 100% rename from dyn/dconfigobject.cpp rename to dyn/configitem.cpp diff --git a/dyn/dconfigobject.h b/dyn/configitem.h similarity index 100% rename from dyn/dconfigobject.h rename to dyn/configitem.h diff --git a/dyn/configvm.cpp b/dyn/configvm.cpp new file mode 100644 index 000000000..ec0ac2dd1 --- /dev/null +++ b/dyn/configvm.cpp @@ -0,0 +1,32 @@ +/****************************************************************************** + * 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-dyn.h" + +using namespace icinga; + +void ConfigVM::ExecuteItems(const vector& items) +{ + vector::const_iterator it; + + for (it = items.begin(); it != items.end(); it++) { + ConfigItem::Ptr obj = *it; + obj->Commit(); + } +} diff --git a/dyn/configvm.h b/dyn/configvm.h new file mode 100644 index 000000000..b6261b041 --- /dev/null +++ b/dyn/configvm.h @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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 CONFIGVM_H +#define CONFIGVM_H + +namespace icinga +{ + +class ConfigVM +{ +public: + static void ExecuteItems(const vector& items); +}; + +} + +#endif /* CONFIGVM_H */ diff --git a/dyn/debuginfo.h b/dyn/debuginfo.h new file mode 100644 index 000000000..83550761d --- /dev/null +++ b/dyn/debuginfo.h @@ -0,0 +1,64 @@ +/****************************************************************************** + * 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 DEBUGINFO_H +#define DEBUGINFO_H + +namespace icinga +{ + +struct DebugInfo +{ + union + { + int FirstLine; + int first_line; + }; + + union + { + int FirstColumn; + int first_column; + }; + + union + { + int LastColumn; + int last_column; + }; + + union + { + int LastLine; + int last_line; + }; +}; + +inline ostream& operator<<(ostream& out, const DebugInfo& val) +{ + out << val.FirstLine << ":" << val.FirstColumn + << "-" + << val.LastLine << ":" << val.LastColumn; + + return out; +} + +} + +#endif /* DEBUGINFO_H */