Program Listing for File vss_coding.h#
↰ Return to documentation for file (sdv_vss_util\vss_coding.h)
/********************************************************************************
* Copyright (c) 2025-2026 ZF Friedrichshafen AG
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
*
* Contributors:
* Thomas Pfleiderer - initial API and implementation
********************************************************************************/
#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