#ifndef LANGUAGECONFIG_H #define LANGUAGECONFIG_H #include #include "Pgsql_oids.h" class NameManglingRules; class TypeMappings; class StructureTemplate; class IndentationConfig; /** * */ class LanguageConfig { public: LanguageConfig(); QString columnNameToFieldName(const QString& column_name) const; QString getTypeName(Oid dbtype) const; std::shared_ptr typeMappings() const { return m_typeMappings; } void setTypeMappings(std::shared_ptr type_mappings) { m_typeMappings = type_mappings; } std::shared_ptr structureTemplate() const { return m_structureTemplate; } std::shared_ptr indentationConfig() const { return m_indentationConfig; } private: /** Default template for declaring a variable of the correct type. * exmaple: "{$type} {$varname};" */ //QString varDeclTemplate; std::shared_ptr m_varNaming; std::shared_ptr m_typeMappings; std::shared_ptr m_structureTemplate; std::shared_ptr m_indentationConfig; enum class VariableStrategy { UseLocalVariables, DeclareClass }; }; #endif // LANGUAGECONFIG_H