All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
kanzi::ResourceReference< TResourceType > Class Template Reference

#include <kanzi/node/abstract_resource_reference.hpp>

Inheritance diagram for kanzi::ResourceReference< TResourceType >:
kanzi::AbstractResourceReference

Public Types

typedef function< void()> CallbackType
 
typedef shared_ptr< TResourceType > ResourceTypePtr
 

Public Member Functions

 operator bool_type () const
 
 ResourceReference (Node &thisObject, AbstractPropertyType propertyType)
 
 ~ResourceReference ()
 
virtual void onIdChanged () KZ_OVERRIDE
 
virtual void onResourceChanged () KZ_OVERRIDE
 
virtual void release () KZ_OVERRIDE
 
virtual ResourceSharedPtr getResource () KZ_OVERRIDE
 
ResourceTypePtr makeLocal ()
 Clone reference to be an internal copy. More...
 
ResourceTypePtr getUserResource () const
 Access user resource. More...
 
void resetUserResource ()
 Clear user resource. More...
 
void setUserResource (ResourceTypePtr userResource)
 Set user resource. More...
 
void setCallback (CallbackType callback)
 
ResourceTypePtr get () const
 
TResourceType * operator-> () const
 
TResourceType & operator* () const
 
template<>
KANZI_API BrushResourceSharedPtr makeLocal ()
 

Protected Member Functions

ResourceTypePtrresolve ()
 
const ResourceTypePtrresolve () const
 
void updateResource ()
 
void updateChangeFlags () const
 
void notifyCallback ()
 
- Protected Member Functions inherited from kanzi::AbstractResourceReference
virtual ~AbstractResourceReference ()
 

Member Typedef Documentation

template<typename TResourceType>
typedef function<void()> kanzi::ResourceReference< TResourceType >::CallbackType
template<typename TResourceType>
typedef shared_ptr<TResourceType> kanzi::ResourceReference< TResourceType >::ResourceTypePtr

Constructor & Destructor Documentation

template<typename TResourceType >
kanzi::ResourceReference< TResourceType >::ResourceReference ( Node thisObject,
AbstractPropertyType  propertyType 
)
explicit
template<typename TResourceType >
kanzi::ResourceReference< TResourceType >::~ResourceReference ( )

Member Function Documentation

template<typename TResourceType>
kanzi::ResourceReference< TResourceType >::operator bool_type ( ) const
inline
template<typename TResourceType>
virtual void kanzi::ResourceReference< TResourceType >::onIdChanged ( )
inlinevirtual
template<typename TResourceType>
virtual void kanzi::ResourceReference< TResourceType >::onResourceChanged ( )
inlinevirtual
template<typename TResourceType>
virtual void kanzi::ResourceReference< TResourceType >::release ( )
inlinevirtual
template<typename TResourceType>
virtual ResourceSharedPtr kanzi::ResourceReference< TResourceType >::getResource ( )
inlinevirtual
template<typename TResourceType>
ResourceTypePtr kanzi::ResourceReference< TResourceType >::makeLocal ( )
inline

Clone reference to be an internal copy.

Default implementation clones nothing, and returns an empty shared pointer.

template<typename TResourceType>
ResourceTypePtr kanzi::ResourceReference< TResourceType >::getUserResource ( ) const
inline

Access user resource.

Returns
User resource shared pointer.
template<typename TResourceType>
void kanzi::ResourceReference< TResourceType >::resetUserResource ( )
inline

Clear user resource.

template<typename TResourceType>
void kanzi::ResourceReference< TResourceType >::setUserResource ( ResourceTypePtr  userResource)
inline

Set user resource.

Parameters
userResourceNew user resource.
template<typename TResourceType>
void kanzi::ResourceReference< TResourceType >::setCallback ( CallbackType  callback)
inline
template<typename TResourceType>
ResourceTypePtr kanzi::ResourceReference< TResourceType >::get ( ) const
inline
template<typename TResourceType>
TResourceType* kanzi::ResourceReference< TResourceType >::operator-> ( ) const
inline
template<typename TResourceType>
TResourceType& kanzi::ResourceReference< TResourceType >::operator* ( ) const
inline
template<typename TResourceType>
ResourceTypePtr& kanzi::ResourceReference< TResourceType >::resolve ( )
inlineprotected
template<typename TResourceType>
const ResourceTypePtr& kanzi::ResourceReference< TResourceType >::resolve ( ) const
inlineprotected
template<typename TResourceType >
void kanzi::ResourceReference< TResourceType >::updateResource ( )
protected
template<typename TResourceType >
void kanzi::ResourceReference< TResourceType >::updateChangeFlags ( ) const
protected
template<typename TResourceType>
void kanzi::ResourceReference< TResourceType >::notifyCallback ( )
inlineprotected

The documentation for this class was generated from the following files: