#ifndef _CUSTOM_PROVIDER_HELPER_H_
#define _CUSTOM_PROVIDER_HELPER_H_ 1
#include <uaserver_config.h>
#include <uaserver_providers.h>
OPCUA_BEGIN_EXTERN_C
extern UaServer_Provider *g_pCustomProvider;
extern UaServer_pProviderInterface *g_pCustomProviderInterface;
extern OpcUa_UInt16 g_uCustomProvider_NamespaceIndex;
enum _UserDataType
{
UserDataTemperature,
UserDataMachine,
UserDataMachineSwitch
};
typedef enum _UserDataType UserDataType;
struct _UserDataCommon
{
UserDataType Type;
};
typedef struct _UserDataCommon UserDataCommon;
struct _TemperatureSensor
{
UserDataType Type;
OpcUa_Double *pValue;
};
typedef struct _TemperatureSensor TemperatureSensor;
struct _MachineSwitch
{
UserDataType Type;
OpcUa_Boolean *pValue;
};
typedef struct _MachineSwitch MachineSwitch;
struct _Machine
{
UserDataType Type;
TemperatureSensor *pTemperatureSensor;
MachineSwitch *pHeaterSwitch;
OpcUa_NodeId nodeId;
OpcUa_String sMachineName;
UaServer_Event *pTemperatureAlarm;
};
typedef struct _Machine Machine;
extern Machine *g_pMyCustomMachine;
extern OpcUa_Boolean g_bMyCustomMachineSwitch;
extern OpcUa_Double g_bMyCustomMachineTemperature;
extern OpcUa_UInt32 g_HeaterSwitchedEventTypeId;
extern OpcUa_UInt32 g_TemperatureAlarmTypeId;
OPCUA_END_EXTERN_C
#endif