<commit_before>cpp/${remoteClass.name}.hpp
/* Autogenerated with Kurento Idl */

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

#include <jsoncpp/json/json.h>
#include <JsonRpcException.hpp>
#include <memory>

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

namespace kurento {

<#list remoteClassDependencies(remoteClass) as dependency>
class ${dependency.name};
</#list>

class ${remoteClass.name}<#if remoteClass.extends??> : public ${remoteClass.extends.name}</#if>
{

public:

  <#if (remoteClass.constructors)??><#rt>
  <#lt><#list remoteClass.constructors as constructor><#rt>
  ${remoteClass.name} (<#rt>
     <#lt><#list constructor.params as param><#rt>
        <#lt>${getCppObjectType(param.type.name)} ${param.name}<#rt>
        <#lt><#if param_has_next>, </#if><#rt>
     <#lt></#list>);
  </#list><#rt>
  <#lt></#if>
  virtual ~${remoteClass.name} ();
  <#list remoteClass.methods as method><#rt>
  <#if method_index = 0 >

  </#if>
  ${getCppObjectType(method.return,false)} ${method.name} (<#rt>
      <#lt><#list method.params as param>${getCppObjectType(param.type.name)} ${param.name}<#if param_has_next>, </#if></#list>);
  </#list>

  <#if (remoteClass.constructors)??>
  class Factory
  {
  public:
    static Factory getFactory() {
      return Factory::factory;
    };

    virtual std::shared_ptr<MediaObject> createObject (const Json::Value
        &params) throw (JsonRpc::CallException);

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

  private:
    <#list remoteClass.constructors as constructor><#rt>
    virtual std::shared_ptr<MediaObject> createObject (<#rt>
     <#lt><#list constructor.params as param><#rt>
        <#lt>${getCppObjectType(param.type.name)} ${param.name}<#rt>
        <#lt><#if param_has_next>, </#if><#rt>
     <#lt></#list>);
   </#list>

    static Factory factory;
  };

  </#if>
};

} /* kurento */

#endif /*  __${camelToUnderscore(remoteClass.name)}_HPP__ */
<commit_msg>CppTemplate: Set methods as virtual, to be implemented by child classes<commit_after>cpp/${remoteClass.name}.hpp
/* Autogenerated with Kurento Idl */

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

#include <jsoncpp/json/json.h>
#include <JsonRpcException.hpp>
#include <memory>

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

namespace kurento {

<#list remoteClassDependencies(remoteClass) as dependency>
class ${dependency.name};
</#list>

class ${remoteClass.name}<#if remoteClass.extends??> : public ${remoteClass.extends.name}</#if>
{

public:

  <#if (remoteClass.constructors)??><#rt>
  <#lt><#list remoteClass.constructors as constructor><#rt>
  ${remoteClass.name} (<#rt>
     <#lt><#list constructor.params as param><#rt>
        <#lt>${getCppObjectType(param.type.name)} ${param.name}<#rt>
        <#lt><#if param_has_next>, </#if><#rt>
     <#lt></#list>);
  </#list><#rt>
  <#lt></#if>
  virtual ~${remoteClass.name} ();
  <#list remoteClass.methods as method><#rt>
  <#if method_index = 0 >

  </#if>
  virtual ${getCppObjectType(method.return,false)} ${method.name} (<#rt>
      <#lt><#list method.params as param>${getCppObjectType(param.type.name)} ${param.name}<#if param_has_next>, </#if></#list>) = 0;
  </#list>

  <#if (remoteClass.constructors)??>
  class Factory
  {
  public:
    static Factory getFactory() {
      return Factory::factory;
    };

    virtual std::shared_ptr<MediaObject> createObject (const Json::Value
        &params) throw (JsonRpc::CallException);

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

  private:
    <#list remoteClass.constructors as constructor><#rt>
    virtual std::shared_ptr<MediaObject> createObject (<#rt>
     <#lt><#list constructor.params as param><#rt>
        <#lt>${getCppObjectType(param.type.name)} ${param.name}<#rt>
        <#lt><#if param_has_next>, </#if><#rt>
     <#lt></#list>);
   </#list>

    static Factory factory;
  };

  </#if>
};

} /* kurento */

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

{'fraction_non_alphanumeric': 0.19432522651406772, 'fraction_numerical': 0.000715307582260372, 'mean_word_length': 4.476501305483029, 'pattern_counts': {'":': 0, '<': 123, '<?xml version=': 0, '>': 123, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5313218', 'n_tokens_mistral': 1524, 'n_tokens_neox': 1479, 'n_words': 264}