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

cpp_interface.remoteClass_interface_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}.hpp
/* Autogenerated with kurento-module-creator */

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

#include 
#include 
#include 
#include 
<#if (remoteClass.extends)??>
#include "${remoteClass.extends.name}.hpp"

<#if remoteClass.events[0] ?? >
<#list remoteClass.events as event>
#include "${event.name}.hpp"

#include 


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

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


namespace kurento
{
class JsonSerializer;
void Serialize (std::shared_ptr<${module.code.implementation["cppNamespace"]}::${remoteClass.name}> &object, JsonSerializer &serializer);
}
${organizeDependencies(typeDependencies(remoteClass),false)}
<#list module.code.implementation["cppNamespace"]?split("::") as namespace>
namespace ${namespace}
{

class ${remoteClass.name}<#if remoteClass.extends??><#rt>
   <#lt> : public virtual ${remoteClass.extends.name}
   <#else>
   <#lt> : public std::enable_shared_from_this<${remoteClass.name}>

{

public:
  ${remoteClass.name} () {};
  virtual ~${remoteClass.name} () {};
  <#macro methodHeader method>
  virtual ${getCppObjectType(method.return,false)} ${method.name} (<#rt>
      <#lt><#list method.params as param>${getCppObjectType(param.type)}${param.name}<#if param_has_next>, ) = 0;
  
  <#list remoteClass.methods as method><#rt>
    <#if method_index = 0 >

    
    <#list method.expandIfOpsParams() as expandedMethod ><#rt>
      <#lt><@methodHeader expandedMethod />
    
    <#lt><@methodHeader method />
  

  virtual const std::string& getType () const;
  virtual const std::string& getQualifiedType () const;
  virtual const std::string& getModule () const;
  virtual const std::vector& getHierarchy () const;

  virtual void Serialize (JsonSerializer &serializer) = 0;
<#list remoteClass.properties as property>

  virtual ${getCppObjectType (property.type, false)} get${property.name?cap_first} () = 0;
  <#if !property.final && !property.readOnly>
  virtual void set${property.name?cap_first} (${getCppObjectType (property.type, true)}${property.name}) = 0;
  


};

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


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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy