mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +02:00
instead of computing from scratch if they're in the _api package. For now this changes literally nothing as paths of existing objects still follow the scheme of paths of new objects which didn't change. Now Icinga only doesn't expect existing objects at particular paths. However, with the latter in v2.14+ (agent, satellite) we can just change the path scheme of new objects in v2.16+ (master) as we wish. The child nodes will just follow the new scheme of paths of new objects.
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
|
|
|
|
#ifndef CONFIGOBJECTUTILITY_H
|
|
#define CONFIGOBJECTUTILITY_H
|
|
|
|
#include "remote/i2-remote.hpp"
|
|
#include "base/array.hpp"
|
|
#include "base/configobject.hpp"
|
|
#include "base/dictionary.hpp"
|
|
#include "base/type.hpp"
|
|
|
|
namespace icinga
|
|
{
|
|
|
|
/**
|
|
* Helper functions.
|
|
*
|
|
* @ingroup remote
|
|
*/
|
|
class ConfigObjectUtility
|
|
{
|
|
|
|
public:
|
|
static String GetConfigDir();
|
|
static String ComputeNewObjectConfigPath(const Type::Ptr& type, const String& fullName);
|
|
static String GetExistingObjectConfigPath(const ConfigObject::Ptr& object);
|
|
static void RepairPackage(const String& package);
|
|
static void CreateStorage();
|
|
|
|
static String CreateObjectConfig(const Type::Ptr& type, const String& fullName,
|
|
bool ignoreOnError, const Array::Ptr& templates, const Dictionary::Ptr& attrs);
|
|
|
|
static bool CreateObject(const Type::Ptr& type, const String& fullName,
|
|
const String& config, const Array::Ptr& errors, const Array::Ptr& diagnosticInformation, const Value& cookie = Empty);
|
|
|
|
static bool DeleteObject(const ConfigObject::Ptr& object, bool cascade, const Array::Ptr& errors,
|
|
const Array::Ptr& diagnosticInformation, const Value& cookie = Empty);
|
|
|
|
private:
|
|
static String EscapeName(const String& name);
|
|
static bool DeleteObjectHelper(const ConfigObject::Ptr& object, bool cascade, const Array::Ptr& errors,
|
|
const Array::Ptr& diagnosticInformation, const Value& cookie = Empty);
|
|
};
|
|
|
|
}
|
|
|
|
#endif /* CONFIGOBJECTUTILITY_H */
|