46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
// NoesisGUI - http://www.noesisengine.com
 | 
						|
// Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved.
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
#ifndef __GUI_IDICTIONARY_H__
 | 
						|
#define __GUI_IDICTIONARY_H__
 | 
						|
 | 
						|
 | 
						|
#include <NsCore/Noesis.h>
 | 
						|
#include <NsCore/Interface.h>
 | 
						|
 | 
						|
 | 
						|
namespace Noesis
 | 
						|
{
 | 
						|
 | 
						|
template<class T> class Ptr;
 | 
						|
class BaseComponent;
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
/// Interface to a dictionary container of generic items using strings as keys
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
NS_INTERFACE IDictionary: public Interface
 | 
						|
{
 | 
						|
    /// Looks for an element in the dictionary.
 | 
						|
    /// Returns true if element was found, false otherwise
 | 
						|
    virtual bool Find(const char* key, Ptr<BaseComponent>& resource) const = 0;
 | 
						|
 | 
						|
    /// Sets the element with the specified key
 | 
						|
    virtual void Set(const char* key, BaseComponent* value) = 0;
 | 
						|
 | 
						|
    /// Adds an element with the provided key and value to the dictionary
 | 
						|
    virtual void Add(const char* key, BaseComponent* value) = 0;
 | 
						|
 | 
						|
    /// Removes the element with the specified key from the dictionary
 | 
						|
    virtual void Remove(const char* key) = 0;
 | 
						|
 | 
						|
    NS_IMPLEMENT_INLINE_REFLECTION_(IDictionary, Interface)
 | 
						|
};
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
#endif
 |