blob: 18d0c8800152695413ce5f695e46080590af9e9f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 -2019 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:
* Jose Cabral - initial API and implementation and/or initial documentation
*******************************************************************************/
#ifndef _PROCESSINTERFACE_H_
#define _PROCESSINTERFACE_H_
#include <../stdfblib/io/processinterfacebase.h>
#include "fmuValueContainer.h"
#include <vector>
#include <string>
#include <fstream>
class CFMUProcessInterface : public CProcessInterfaceBase{
public:
CFMUProcessInterface(CResource *paSrcRes, const SFBInterfaceSpec *paInterfaceSpec, const CStringDictionary::TStringId paInstanceNameId, TForteByte *paFBConnData, TForteByte *paFBVarsData);
CFMUProcessInterface(const CStringDictionary::TStringId paInstanceNameId, CResource *paSrcRes);
void setValueContainer(fmuValueContainer* paValueContainer);
virtual ~CFMUProcessInterface();
virtual void executeEvent(int ){};
protected:
bool initialise(bool paIsInput);
bool deinitialise();
bool writePin();
bool readPin();
bool readWord();
bool writeWord();
bool readDWord() {
return false; //not implemented
}
bool writeDWord() {
return false; //not implemented
}
private:
static const char * const scmOK;
static const char * const scmNOTINITIALIZED;
static const char * const scmINTERNALERROR;
bool mInitialized;
fmuValueContainer* mValue;
};
//tell the IX and QX FB that this is the process interface to be used
typedef CFMUProcessInterface CProcessInterface;
#endif /* _PROCESSINTERFACE_H_ */