+ /**
+ * Register a type
+ *
+ * @param [in] theTypeInfo Type info for the type to be registered
+ * @param [in] baseTypeInfo Type info for its base class
+ * @param [in] createInstance Instance creation function
+ * @param [in] callCreateOnInit If true call createInstance on DALi initialisation
+ * @param [in] defaultProperties the table of default property metadata
+ * @param [in] defaultPropertyCount count of default properties
+ * @return the name of the registered type.
+ */
+ std::string Register( const std::string& name, const std::type_info& baseTypeInfo,
+ Dali::TypeInfo::CreateFunction createInstance, bool callCreateOnInit,
+ const Dali::PropertyDetails* defaultProperties = nullptr, Property::Index defaultPropertyCount = 0 );
+
+ /**
+ * @copydoc CSharpTypeRegistry::TypeRegistration( const std::string&, const std::type_info&, TypeInfo::CreateFunction );
+ */
+ void Register( const std::string& name, const std::type_info& baseTypeInfo,
+ Dali::CSharpTypeInfo::CreateFunction createInstance );
+
+ /**