12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #ifndef UA_PLUGIN_PUBSUB_H_
- #define UA_PLUGIN_PUBSUB_H_
- #include "ua_server_pubsub.h"
- _UA_BEGIN_DECLS
- #ifdef UA_ENABLE_PUBSUB
- typedef enum {
- UA_PUBSUB_CHANNEL_RDY,
- UA_PUBSUB_CHANNEL_PUB,
- UA_PUBSUB_CHANNEL_SUB,
- UA_PUBSUB_CHANNEL_PUB_SUB,
- UA_PUBSUB_CHANNEL_ERROR,
- UA_PUBSUB_CHANNEL_CLOSED
- } UA_PubSubChannelState;
- struct UA_PubSubChannel;
- typedef struct UA_PubSubChannel UA_PubSubChannel;
- struct UA_PubSubChannel{
- UA_UInt32 publisherId;
- UA_PubSubChannelState state;
- UA_PubSubConnectionConfig *connectionConfig;
- UA_SOCKET sockfd;
- void *handle;
-
-
- UA_StatusCode (*send)(UA_PubSubChannel *channel, UA_ExtensionObject *transportSettings,
- const UA_ByteString *buf);
-
- UA_StatusCode (*regist)(UA_PubSubChannel * channel, UA_ExtensionObject *transportSettings);
-
- UA_StatusCode (*unregist)(UA_PubSubChannel * channel, UA_ExtensionObject *transportSettings);
-
- UA_StatusCode (*receive)(UA_PubSubChannel * channel, UA_ByteString *,
- UA_ExtensionObject *transportSettings, UA_UInt32 timeout);
-
- UA_StatusCode (*close)(UA_PubSubChannel *channel);
- };
- typedef struct UA_PubSubTransportLayer{
- UA_String transportProfileUri;
- UA_PubSubChannel * (*createPubSubChannel)(UA_PubSubConnectionConfig *connectionConfig);
- } UA_PubSubTransportLayer;
- #endif
- _UA_END_DECLS
- #endif
|