#ifndef __sqlgenerator_h_
#define __sqlgenerator_h_
// Automatically generated GRT module wrapper. Do not edit.

using namespace grt;

class SQLGeneratorInterfaceWrapper : public grt::ModuleWrapper {
protected:
  friend class grt::GRT;
  SQLGeneratorInterfaceWrapper(grt::Module *module)
  : grt::ModuleWrapper(module) {}

public:
  static const char *static_get_name() { return "SQLGeneratorInterface"; }
  std::string getTargetDBMSName()
  {
    grt::BaseListRef args(get_grt(), AnyType);

    grt::ValueRef ret= _module->call_function("getTargetDBMSName", args);
    return (std::string)StringRef::cast_from(ret);
  }
  int generateSQL(const grt::Ref<GrtNamedObject>& param0, const grt::DictRef& param1, const std::string & param2)
  {
    grt::BaseListRef args(get_grt(), AnyType);
    args.ginsert(param0);
    args.ginsert(param1);
    args.ginsert(grt::StringRef(param2));
    grt::ValueRef ret= _module->call_function("generateSQL", args);
    return *grt::IntegerRef::cast_from(ret);
  }
  std::string generateReport(const grt::Ref<GrtNamedObject>& param0, const grt::DictRef& param1, const std::string & param2)
  {
    grt::BaseListRef args(get_grt(), AnyType);
    args.ginsert(param0);
    args.ginsert(param1);
    args.ginsert(grt::StringRef(param2));
    grt::ValueRef ret= _module->call_function("generateReport", args);
    return (std::string)StringRef::cast_from(ret);
  }
  std::string makeCreateScriptForObject(const grt::Ref<GrtNamedObject>& param0)
  {
    grt::BaseListRef args(get_grt(), AnyType);
    args.ginsert(param0);
    grt::ValueRef ret= _module->call_function("makeCreateScriptForObject", args);
    return (std::string)StringRef::cast_from(ret);
  }
  int makeSQLExportScript(const grt::Ref<GrtNamedObject>& param0, const grt::DictRef& param1, const grt::DictRef& param2, const grt::DictRef& param3)
  {
    grt::BaseListRef args(get_grt(), AnyType);
    args.ginsert(param0);
    args.ginsert(param1);
    args.ginsert(param2);
    args.ginsert(param3);
    grt::ValueRef ret= _module->call_function("makeSQLExportScript", args);
    return *grt::IntegerRef::cast_from(ret);
  }
  int makeSQLSyncScript(const grt::DictRef& param0, const grt::StringListRef& param1, const grt::ListRef<GrtNamedObject>& param2)
  {
    grt::BaseListRef args(get_grt(), AnyType);
    args.ginsert(param0);
    args.ginsert(param1);
    args.ginsert(param2);
    grt::ValueRef ret= _module->call_function("makeSQLSyncScript", args);
    return *grt::IntegerRef::cast_from(ret);
  }
};
#endif
