Program Listing for File vss_coding.h#

Return to documentation for file (sdv_vss_util\vss_coding.h)

#ifndef VSS_CODING_H
#define VSS_CODING_H

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>
#include <interfaces/dispatch.h>

#include "codegen_base.h"
#include "vss_helper.h"

class CVSSCodingCommon : public CCodeGeneratorBase, CVSSHelper
{

public:
    CVSSCodingCommon(const std::string& rsPrefix) : m_ssPrefix(rsPrefix) {}

    void GetCommonKeyWordMap(const SSignalVDDefinition& signal, CKeywordMap& mapKeywords, const std::string& rsVersion) const;

    void GetCommonKeyWordMap(const SSignalBSDefinition& signal, CKeywordMap& mapKeywords, const std::string& rsVersion) const;

    std::string Code_SignalIdentifier(const std::vector <SSignalVDDefinition>& allSignals, const std::string& ssFileName,
        const std::string& ssVersion) const;

    std::string Code_VSSFileVersion(const std::string& ssVersion) const;

    std::string Code_SafeGuard(const std::string& ssFileName) const;

    std::string Code_CMakeProject(const std::string& targetLibName, const std::string& targetComponentName) const;

protected:

    std::string Code_SignalIdentifierList(const std::vector <SSignalVDDefinition>& allSignals, const SSignalVDDefinition& signal,
        const SFunctionVDDefinition& func, const std::string& signalTitle, const std::string& canSignalTitle, const std::string& cTypeTitle) const;

    std::string Code_AllSignalsIdentifierList(const std::vector <SSignalVDDefinition>& allSignals,
        const std::string& signalTitle, const std::string& canSignalTitle, const std::string& cTypeTitle) const;

    std::string m_ssPrefix;
};

#endif // !defined VSS_CODING_H