blob: 51a1838752ed9754fda332741d226b4e674c54ab [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2017 - 2018 fortiss GmbH
* 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:
* Johannes Messmer - initial API and implementation and/or initial documentation
* Jose Cabral - Cleaning of namespaces
*******************************************************************************/
#ifndef SRC_CORE_IO_CONFIGFB_ADAPTER_SPLIT_H_
#define SRC_CORE_IO_CONFIGFB_ADAPTER_SPLIT_H_
#include <adapter.h>
namespace forte {
namespace core {
namespace io {
class IOConfigFBSplitAdapter : public CAdapter {
public:
IOConfigFBSplitAdapter(CResource *paSrcRes, const SFBInterfaceSpec *patInterfaceSpecSocket, const CStringDictionary::TStringId paInstanceNameId,
const SFBInterfaceSpec *paInterfaceSpecPlug, bool paIsPlug, TForteByte *paFBConnData, TForteByte *paFBVarsData);
virtual ~IOConfigFBSplitAdapter();
CIEC_BOOL &QO() {
return *static_cast<CIEC_BOOL*>((isSocket()) ? getDI(0) : getDO(0));
}
CIEC_BOOL &QI() {
return *static_cast<CIEC_BOOL*>((isSocket()) ? getDO(0) : getDI(0));
}
CIEC_UINT &MasterId() {
return *static_cast<CIEC_UINT*>((isSocket()) ? getDO(1) : getDI(1));
}
static const TEventID scmEventINITID = 0;
int INIT() const {
return m_nParentAdapterListEventID + scmEventINITID;
}
static const TEventID scmEventINITOID = 0;
int INITO() const {
return m_nParentAdapterListEventID + scmEventINITOID;
}
};
} //namespace IO
} //namepsace core
} //namespace forte
#endif /* SRC_CORE_IO_CONFIGFB_ADAPTER_SPLIT_H_ */