All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cpp_server_internal.remoteClass_factory_hpp.ftl Maven / Gradle / Ivy

Go to download

Tool that generates code for RPC between the Kurento Media Server and remote libraries.

There is a newer version: 7.1.0
Show newest version
${remoteClass.name}ImplFactory.hpp
/* Autogenerated with kurento-module-creator */

#ifndef __${camelToUnderscore(remoteClass.name)}_IMPL_FACTORY_HPP__
#define __${camelToUnderscore(remoteClass.name)}_IMPL_FACTORY_HPP__

#include "${remoteClass.name}Impl.hpp"
<#if remoteClass.extends??>
#include "${remoteClass.extends.name}ImplFactory.hpp"

#include 
#include 
#include 

<#list module.code.implementation["cppNamespace"]?split("::") as namespace>
namespace ${namespace}
{


class ${remoteClass.name}ImplFactory : public virtual <#if remoteClass.extends??>${remoteClass.extends.name}Impl<#else>kurento::Factory
{
public:
  ${remoteClass.name}ImplFactory() = default;

  std::string getName() const override {
    return "${remoteClass.name}";
  };

<#if (remoteClass.constructor)??>
private:


<#if (!remoteClass.abstract) && (remoteClass.constructor)??>
  MediaObjectImpl *createObjectPointer (
      const boost::property_tree::ptree &conf,
      const Json::Value ¶ms) const override;


  <#if remoteClass.constructor??><#rt>
  MediaObjectImpl *createObject (const boost::property_tree::ptree &conf<#rt>
   <#lt><#list remoteClass.constructor.params as param><#rt>
      <#lt>, <#rt>
      <#lt>${getCppObjectType(param.type, true)}${param.name}<#rt>
   <#lt>) const;
  
};

<#list module.code.implementation["cppNamespace"]?split("::")?reverse as namespace>
} /* ${namespace} */


#endif /*  __${camelToUnderscore(remoteClass.name)}_IMPL_FACTORY_HPP__ */




© 2015 - 2024 Weber Informatics LLC | Privacy Policy