00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef INTEGRA_BRIDGE_H
00022 #define INTEGRA_BRIDGE_H
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00030 #include <Integra/integra_port.h>
00031
00032 typedef void (*bridge_send_callback)(const ntg_port *, const ntg_value *);
00033
00046 typedef struct ntg_bridge_interface {
00047
00054 int (*module_load)(const ntg_id id, const char *implementation_name);
00055
00061 int (*module_remove)(ntg_id id);
00062
00074 int (*module_connect)(const ntg_port *target, const ntg_port *source);
00075
00077 int (*module_disconnect)(const ntg_port *target, const ntg_port *source);
00078
00080 void (*send_value)(const ntg_port *target, const ntg_value *value);
00081
00089 void (*bridge_init)(const char *ip, const int port);
00090
00101 void (*post)(const char *message);
00102
00113 void *(*bridge_callback)(int argc, void *data);
00114
00133 void *(*server_receive_callback)(ntg_id id, unsigned int port,
00134 const int argc, const ntg_value *message, bridge_send_callback);
00135
00136 } ntg_bridge_interface;
00137
00139 const ntg_bridge_interface *ntg_bridge_interface_new(void);
00140
00141 typedef const ntg_bridge_interface *(*ntg_bridge_interface_generator)(void);
00142
00143 #ifdef __cplusplus
00144 }
00145 #endif
00146
00147 #endif