icinga2/lib/base/scriptpermission.hpp

29 lines
811 B
C++

/* Icinga 2 | (c) 2025 Icinga GmbH | GPLv2+ */
#pragma once
#include "base/string.hpp"
#include "base/shared-object.hpp"
#include "base/configobject.hpp"
namespace icinga {
class ScriptPermissionChecker : public SharedObject
{
public:
DECLARE_PTR_TYPEDEFS(ScriptPermissionChecker);
ScriptPermissionChecker() = default;
ScriptPermissionChecker(const ScriptPermissionChecker&) = delete;
ScriptPermissionChecker(ScriptPermissionChecker&&) = delete;
ScriptPermissionChecker& operator=(const ScriptPermissionChecker&) = delete;
ScriptPermissionChecker& operator=(ScriptPermissionChecker&&) = delete;
~ScriptPermissionChecker() override = default;
virtual bool CanAccessGlobalVariable(const String& varName);
virtual bool CanAccessConfigObject(const ConfigObject::Ptr& obj);
};
} // namespace icinga