]> granicus.if.org Git - icinga2/commitdiff
Lots of bugfixes, improved error messages and debug information, performance improvem...
authorGunnar Beutner <gunnar.beutner@netways.de>
Wed, 6 Jun 2012 12:12:09 +0000 (14:12 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Wed, 6 Jun 2012 12:12:09 +0000 (14:12 +0200)
dyn/configcompiler.cpp [moved from dyn/configcontext.cpp with 100% similarity]
dyn/configcompiler.h [moved from dyn/configcontext.h with 100% similarity]
dyn/configitem.cpp [moved from dyn/dconfigobject.cpp with 100% similarity]
dyn/configitem.h [moved from dyn/dconfigobject.h with 100% similarity]
dyn/configvm.cpp [new file with mode: 0644]
dyn/configvm.h [new file with mode: 0644]
dyn/debuginfo.h [new file with mode: 0644]

similarity index 100%
rename from dyn/configcontext.cpp
rename to dyn/configcompiler.cpp
similarity index 100%
rename from dyn/configcontext.h
rename to dyn/configcompiler.h
similarity index 100%
rename from dyn/dconfigobject.cpp
rename to dyn/configitem.cpp
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 (file)
index 0000000..ec0ac2d
--- /dev/null
@@ -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<ConfigItem::Ptr>& items)
+{
+       vector<ConfigItem::Ptr>::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 (file)
index 0000000..b6261b0
--- /dev/null
@@ -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<ConfigItem::Ptr>& items);
+};
+
+}
+
+#endif /* CONFIGVM_H */
diff --git a/dyn/debuginfo.h b/dyn/debuginfo.h
new file mode 100644 (file)
index 0000000..8355076
--- /dev/null
@@ -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 */