Dali 3D User Interface Engine
List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
Dali::Internal::TypeRegistry Class Reference

#include <type-registry-impl.h>

Inheritance diagram for Dali::Internal::TypeRegistry:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::TypeRegistry:
Collaboration graph
[legend]

Public Member Functions

Dali::TypeInfo GetTypeInfo (const std::string &uniqueTypeName)
 
Dali::TypeInfo GetTypeInfo (const std::type_info &registerType)
 
size_t GetTypeNameCount () const
 
std::string GetTypeName (size_t index) const
 
bool Register (const std::type_info &theTypeInfo, const std::type_info &baseTypeInfo, Dali::TypeInfo::CreateFunction createInstance, bool callCreateOnInit)
 
bool Register (const std::string &name, const std::type_info &baseTypeInfo, Dali::TypeInfo::CreateFunction createInstance, bool callCreateOnInit)
 
void RegisterSignal (TypeRegistration &typeRegistration, const std::string &name, Dali::TypeInfo::SignalConnectorFunction func)
 
bool RegisterAction (TypeRegistration &registered, const std::string &name, Dali::TypeInfo::ActionFunction f)
 
bool RegisterProperty (TypeRegistration &registered, const std::string &name, Property::Index index, Property::Type type, Dali::TypeInfo::SetPropertyFunction setFunc, Dali::TypeInfo::GetPropertyFunction getFunc)
 Register an event-thread only property with a type. More...
 
bool RegisterAnimatableProperty (TypeRegistration &registered, const std::string &name, Property::Index index, Property::Type type)
 Register a scene graph only property with a type. More...
 
bool RegisterAnimatableProperty (TypeRegistration &registered, const std::string &name, Property::Index index, const Property::Value &defaultValue)
 Register a scene graph only property with a default value. More...
 
bool RegisterAnimatablePropertyComponent (TypeRegistration &registered, const std::string &name, Property::Index index, Property::Index baseIndex, unsigned int componentIndex)
 Register a component of a scene graph only property that supports components (i.e. More...
 
bool DoActionTo (BaseObject *const object, const std::string &actionName, const Property::Map &properties)
 
bool ConnectSignal (BaseObject *object, ConnectionTrackerInterface *connectionTracker, const std::string &signalName, FunctorDelegate *functor)
 Connects a void() functor to a specified signal. More...
 
Dali::TypeInfo GetTypeInfo (const Dali::BaseObject *const pBaseObject)
 
void CallInitFunctions (void) const
 
- Public Member Functions inherited from Dali::BaseObject
template<class T >
bool ConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, const T &functor)
 Connects a void() functor to a specified signal. More...
 
bool DoAction (const std::string &actionName, const Property::Map &attributes)
 Perform action on this object with the given action name and attributes. More...
 
const std::string & GetTypeName () const
 Returns the type name for the Handle. More...
 
bool GetTypeInfo (Dali::TypeInfo &info) const
 Returns the type info for the Handle. More...
 
bool DoConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, FunctorDelegate *functorDelegate)
 Not intended for application developers. More...
 
- Public Member Functions inherited from Dali::RefObject
void Reference ()
 Increment the object's reference count. More...
 
void Unreference ()
 Decrement the object's reference count. More...
 
int ReferenceCount ()
 Retrieve the object's reference count. More...
 

Static Public Member Functions

static TypeRegistryGet ()
 Get the TypeRegistry. More...
 
static std::string RegistrationName (const std::type_info &registerType)
 

Private Types

typedef std::map< std::string,
Dali::TypeInfo
RegistryMap
 
typedef std::vector
< Dali::TypeInfo::CreateFunction
InitFunctions
 

Private Member Functions

 TypeRegistry ()
 
 ~TypeRegistry ()
 
 TypeRegistry (TypeRegistry &)
 Undefined Copy Constructor. More...
 
TypeRegistryoperator= (const TypeRegistry &)
 Undefined Assignment Operator. More...
 

Private Attributes

RegistryMap mRegistryLut
 
InitFunctions mInitFunctions
 

Additional Inherited Members

- Protected Member Functions inherited from Dali::BaseObject
 BaseObject ()
 Default constructor. More...
 
virtual ~BaseObject ()
 A reference counted object may only be deleted by calling Unreference(). More...
 
void RegisterObject ()
 Registers the object as created with the Object registry. More...
 
void UnregisterObject ()
 Unregisters the object from Object registry. More...
 

Detailed Description

Definition at line 40 of file type-registry-impl.h.

Member Typedef Documentation

Definition at line 189 of file type-registry-impl.h.

typedef std::map<std::string, Dali::TypeInfo> Dali::Internal::TypeRegistry::RegistryMap
private

Definition at line 186 of file type-registry-impl.h.

Constructor & Destructor Documentation

Dali::Internal::TypeRegistry::TypeRegistry ( )
private

Definition at line 54 of file type-registry-impl.cpp.

Referenced by Get().

Here is the caller graph for this function:

Dali::Internal::TypeRegistry::~TypeRegistry ( )
private

Definition at line 59 of file type-registry-impl.cpp.

References mRegistryLut.

Dali::Internal::TypeRegistry::TypeRegistry ( TypeRegistry )
private

Undefined Copy Constructor.

Member Function Documentation

void Dali::Internal::TypeRegistry::CallInitFunctions ( void  ) const

Definition at line 160 of file type-registry-impl.cpp.

References mInitFunctions.

bool Dali::Internal::TypeRegistry::ConnectSignal ( BaseObject object,
ConnectionTrackerInterface connectionTracker,
const std::string &  signalName,
FunctorDelegate functor 
)

Connects a void() functor to a specified signal.

.0

Parameters
[in]connectionTrackerA connection tracker which can be used to disconnect.
[in]signalNameName of the signal to connect to.
[in]functorThe functor to copy.
Returns
True if the signal was available.
Precondition
The signal must be available in this object.

Definition at line 286 of file type-registry-impl.cpp.

References Dali::BaseObject::ConnectSignal(), Dali::TypeInfo::GetBaseName(), Dali::GetImplementation(), and GetTypeInfo().

Referenced by Dali::BaseObject::DoConnectSignal().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::TypeRegistry::DoActionTo ( BaseObject *const  object,
const std::string &  actionName,
const Property::Map properties 
)

Definition at line 267 of file type-registry-impl.cpp.

References Dali::TypeInfo::GetBaseName(), Dali::GetImplementation(), and GetTypeInfo().

Referenced by Dali::BaseObject::DoAction().

Here is the call graph for this function:

Here is the caller graph for this function:

TypeRegistry * Dali::Internal::TypeRegistry::Get ( )
static
Dali::TypeInfo Dali::Internal::TypeRegistry::GetTypeInfo ( const std::string &  uniqueTypeName)
Dali::TypeInfo Dali::Internal::TypeRegistry::GetTypeInfo ( const std::type_info &  registerType)

Definition at line 82 of file type-registry-impl.cpp.

References DALI_LOG_INFO, Dali::Internal::DemangleClassName(), and mRegistryLut.

Here is the call graph for this function:

Dali::TypeInfo Dali::Internal::TypeRegistry::GetTypeInfo ( const Dali::BaseObject *const  pBaseObject)

Definition at line 311 of file type-registry-impl.cpp.

References Dali::Internal::CustomActor::GetImplementation(), and GetTypeInfo().

Here is the call graph for this function:

std::string Dali::Internal::TypeRegistry::GetTypeName ( size_t  index) const

Definition at line 108 of file type-registry-impl.cpp.

References mRegistryLut.

size_t Dali::Internal::TypeRegistry::GetTypeNameCount ( ) const

Definition at line 102 of file type-registry-impl.cpp.

References mRegistryLut.

TypeRegistry& Dali::Internal::TypeRegistry::operator= ( const TypeRegistry )
private

Undefined Assignment Operator.

bool Dali::Internal::TypeRegistry::Register ( const std::type_info &  theTypeInfo,
const std::type_info &  baseTypeInfo,
Dali::TypeInfo::CreateFunction  createInstance,
bool  callCreateOnInit 
)

Definition at line 123 of file type-registry-impl.cpp.

References Dali::Internal::DemangleClassName().

Referenced by Dali::TypeRegistration::TypeRegistration().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::TypeRegistry::Register ( const std::string &  name,
const std::type_info &  baseTypeInfo,
Dali::TypeInfo::CreateFunction  createInstance,
bool  callCreateOnInit 
)

Definition at line 131 of file type-registry-impl.cpp.

References DALI_ASSERT_ALWAYS, DALI_LOG_INFO, DALI_LOG_WARNING, Dali::Internal::DemangleClassName(), mInitFunctions, and mRegistryLut.

Here is the call graph for this function:

bool Dali::Internal::TypeRegistry::RegisterAction ( TypeRegistration registered,
const std::string &  name,
Dali::TypeInfo::ActionFunction  f 
)

Definition at line 185 of file type-registry-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::GetImplementation(), mRegistryLut, and Dali::TypeRegistration::RegisteredName().

Referenced by Dali::TypeAction::TypeAction().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::TypeRegistry::RegisterAnimatableProperty ( TypeRegistration registered,
const std::string &  name,
Property::Index  index,
Property::Type  type 
)

Register a scene graph only property with a type.

Parameters
[in]registeredTypeRegistration object used to register the type
[in]nameProperty name
[in]indexProperty index
[in]typeProperty type
Returns
true if registered

Definition at line 219 of file type-registry-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::GetImplementation(), mRegistryLut, and Dali::TypeRegistration::RegisteredName().

Referenced by Dali::AnimatablePropertyRegistration::AnimatablePropertyRegistration().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::TypeRegistry::RegisterAnimatableProperty ( TypeRegistration registered,
const std::string &  name,
Property::Index  index,
const Property::Value defaultValue 
)

Register a scene graph only property with a default value.

Parameters
[in]registeredTypeRegistration object used to register the type
[in]nameProperty name
[in]indexProperty index
[in]valueProperty default value
Returns
true if registered

Definition at line 235 of file type-registry-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::GetImplementation(), mRegistryLut, and Dali::TypeRegistration::RegisteredName().

Here is the call graph for this function:

bool Dali::Internal::TypeRegistry::RegisterAnimatablePropertyComponent ( TypeRegistration registered,
const std::string &  name,
Property::Index  index,
Property::Index  baseIndex,
unsigned int  componentIndex 
)

Register a component of a scene graph only property that supports components (i.e.

Vector2, Vector3 and Vector4)

Parameters
[in]registeredTypeRegistration object used to register the type
[in]nameComponent name
[in]indexProperty index
[in]baseIndexBase animatable property index
[in]componentIndexComponent index
Returns
true if registered

Definition at line 251 of file type-registry-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::GetImplementation(), mRegistryLut, and Dali::TypeRegistration::RegisteredName().

Referenced by Dali::AnimatablePropertyComponentRegistration::AnimatablePropertyComponentRegistration().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::TypeRegistry::RegisterProperty ( TypeRegistration registered,
const std::string &  name,
Property::Index  index,
Property::Type  type,
Dali::TypeInfo::SetPropertyFunction  setFunc,
Dali::TypeInfo::GetPropertyFunction  getFunc 
)

Register an event-thread only property with a type.

Parameters
[in]registeredTypeRegistration object used to register the type
[in]nameProperty name
[in]indexProperty index
[in]typeProperty type
[in]setFuncThe function to set the property (Can be NULL).
[in]getFuncThe function to get the value of a property.
Returns
true if registered

Definition at line 203 of file type-registry-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::GetImplementation(), mRegistryLut, and Dali::TypeRegistration::RegisteredName().

Referenced by Dali::PropertyRegistration::PropertyRegistration().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::TypeRegistry::RegisterSignal ( TypeRegistration typeRegistration,
const std::string &  name,
Dali::TypeInfo::SignalConnectorFunction  func 
)

Definition at line 173 of file type-registry-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::GetImplementation(), mRegistryLut, and Dali::TypeRegistration::RegisteredName().

Referenced by Dali::SignalConnectorType::SignalConnectorType().

Here is the call graph for this function:

Here is the caller graph for this function:

std::string Dali::Internal::TypeRegistry::RegistrationName ( const std::type_info &  registerType)
static

Definition at line 168 of file type-registry-impl.cpp.

References Dali::Internal::DemangleClassName().

Referenced by Dali::TypeRegistration::TypeRegistration().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

InitFunctions Dali::Internal::TypeRegistry::mInitFunctions
private

Definition at line 190 of file type-registry-impl.h.

Referenced by CallInitFunctions(), and Register().

RegistryMap Dali::Internal::TypeRegistry::mRegistryLut
private

The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali