mirror of
				https://github.com/Icinga/icinga2.git
				synced 2025-11-03 21:25:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			799 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			799 B
		
	
	
	
		
			C++
		
	
	
	
	
	
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
 | 
						|
 | 
						|
#include "base/reference.hpp"
 | 
						|
#include "base/debug.hpp"
 | 
						|
#include "base/primitivetype.hpp"
 | 
						|
#include "base/dictionary.hpp"
 | 
						|
#include "base/configwriter.hpp"
 | 
						|
#include "base/convert.hpp"
 | 
						|
#include "base/exception.hpp"
 | 
						|
 | 
						|
using namespace icinga;
 | 
						|
 | 
						|
REGISTER_PRIMITIVE_TYPE_NOINST(Reference, Object, Reference::GetPrototype());
 | 
						|
 | 
						|
Reference::Reference(const Object::Ptr& parent, const String& index)
 | 
						|
	: m_Parent(parent), m_Index(index)
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
Value Reference::Get() const
 | 
						|
{
 | 
						|
	return m_Parent->GetFieldByName(m_Index, true, DebugInfo());
 | 
						|
}
 | 
						|
 | 
						|
void Reference::Set(const Value& value)
 | 
						|
{
 | 
						|
	m_Parent->SetFieldByName(m_Index, value, false, DebugInfo());
 | 
						|
}
 | 
						|
 | 
						|
Object::Ptr Reference::GetParent() const
 | 
						|
{
 | 
						|
	return m_Parent;
 | 
						|
}
 | 
						|
 | 
						|
String Reference::GetIndex() const
 | 
						|
{
 | 
						|
	return m_Index;
 | 
						|
}
 |