// ************************************************************************** // // (C) Copyright 2009 Swiss SIMTEC AG // // ************************************************************************** // // $HeadURL$ // $LastChangedBy$ // $LastChangedDate$ // $LastChangedRevision$ // // ************************************************************************** #pragma once #include namespace TrainingAreaBase { namespace TetraIcd { struct TrainingAreaTelegram; } } namespace N_CoPrtCnv { class CoPrtCnvRadioTelegram; class CoPrtCnvCentralTelegram; /** * This class is responsible to convert radio-telegrams into central-telegrams and * vice versa. * @author alois.wismer * @version 1.0 * @created 19-Mrz-2010 13:32:40 */ namespace CoPrtCnvTelegramConverter { /** * Converts central-telegrams to radio-telegrams. * Returns NULL if conversion was failed. * * @param a_telegram */ COPRTCNV_EXPORT CoPrtCnvRadioTelegram *convertToRadio(CoPrtCnvCentralTelegram *a_telegram); COPRTCNV_EXPORT CoPrtCnvRadioTelegram *convertToRadio(const TrainingAreaBase::TetraIcd::TrainingAreaTelegram *a_telegram); /** * converts a radiotelegram into a central. * returns nullptr if conversion failed * * @param a_radioTelegram */ COPRTCNV_EXPORT CoPrtCnvCentralTelegram *convertToCentral(const CoPrtCnvRadioTelegram *a_radioTelegram); COPRTCNV_EXPORT TrainingAreaBase::TetraIcd::TrainingAreaTelegram *convertToTabTele(const CoPrtCnvRadioTelegram *a_radioTelegram); /** * Set the text codec to use for string send to/received from tetra */ COPRTCNV_EXPORT void setTetraTextCodec(const char *codecName); /** * Set to trueif single fire (WIRKFELD_EINZELGESCHOSS) has two bytes for diameter, otherwise only one byte is used */ COPRTCNV_EXPORT void setUse2BytesForSingleFireDiameter(bool bUse); COPRTCNV_EXPORT void setUsePvSan(bool bUse); } }