cpp_interface.remoteClass_interface_cpp.ftl Maven / Gradle / Ivy
${remoteClass.name}.cpp
/* Autogenerated with kurento-module-creator */
#include "${remoteClass.name}.hpp"
#include
<#list module.code.implementation["cppNamespace"]?split("::") as namespace>
namespace ${namespace}
{
static std::vector hierarchy${remoteClass.name};
std::once_flag initFlag${remoteClass.name};
static void
initHierarchy ()
{
<#list typeHierarchy(remoteClass) as hierarchy>
hierarchy${remoteClass.name}.push_back("${hierarchy}");
}
const std::vector &
${remoteClass.name}::getHierarchy () const
{
std::call_once (initFlag${remoteClass.name},initHierarchy);
return hierarchy${remoteClass.name};
}
const std::string&
${remoteClass.name}::getType () const {
static std::string typeName = "${remoteClass.name}";
return typeName;
}
const std::string&
${remoteClass.name}::getQualifiedType () const {
static std::string qualifiedTypeName = getModule() + "." + getType();
return qualifiedTypeName;
}
const std::string&
${remoteClass.name}::getModule () const {
static std::string moduleName = <#if module.name == "core" || module.name == "elements" || module.name == "filters">"kurento"<#else>"${module.name}";
return moduleName;
}
<#list module.code.implementation["cppNamespace"]?split("::")?reverse as namespace>
} /* ${namespace} */