blob: cffccb0ee93bd1e58457ad5a30be24c2eb6c481d [file]
/*******************************************************************************
* Copyright (c) 2023 Martin Erich Jobst
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Martin Jobst - initial implementation
*******************************************************************************/
#pragma once
#include "GEN_PUBLISH.h"
class FORTE_PUBLISH_1 : public GEN_PUBLISH {
DECLARE_GENERIC_FIRMWARE_FB(FORTE_PUBLISH_1)
protected:
static const TEventID scmEventREQID = scmSendNotificationEventID;
public:
FORTE_PUBLISH_1(const CStringDictionary::TStringId paInstanceNameId, forte::core::CFBContainer &paContainer);
~FORTE_PUBLISH_1() override = default;
void evt_INIT(const CIEC_BOOL &pa_QI, const CIEC_WSTRING &pa_ID, const CIEC_ANY &pa_SD_1, CIEC_BOOL &pa_QO, CIEC_WSTRING &pa_STATUS) {
QI() = pa_QI;
ID() = pa_ID;
getSDs()[0]->setValue(pa_SD_1.unwrap());
receiveInputEvent(scmEventINITID, nullptr);
pa_QO = QO();
pa_STATUS = STATUS();
}
void evt_REQ(const CIEC_BOOL &pa_QI, const CIEC_WSTRING &pa_ID, const CIEC_ANY &pa_SD_1, CIEC_BOOL &pa_QO, CIEC_WSTRING &pa_STATUS) {
QI() = pa_QI;
ID() = pa_ID;
getSDs()[0]->setValue(pa_SD_1.unwrap());
receiveInputEvent(scmEventREQID, nullptr);
pa_QO = QO();
pa_STATUS = STATUS();
}
void operator()(const CIEC_BOOL &pa_QI, const CIEC_WSTRING &pa_ID, const CIEC_ANY &pa_SD_1, CIEC_BOOL &pa_QO, CIEC_WSTRING &pa_STATUS) {
evt_INIT(pa_QI, pa_ID, pa_SD_1, pa_QO, pa_STATUS);
}
};