EPICS Base
7.0.8.1
|
Channel filter simplified plugin interface. More...
#include <chfPlugin.h>
Public Attributes | |
void *(* | allocPvt )(void) |
Allocate private resources. More... | |
void(* | freePvt )(void *pvt) |
Free private resources. More... | |
void(* | parse_error )(void *pvt) |
A parsing error occurred. More... | |
int(* | parse_ok )(void *pvt) |
Configuration has been parsed successfully. More... | |
long(* | channel_open )(dbChannel *chan, void *pvt) |
Open channel. More... | |
void(* | channelRegisterPre )(dbChannel *chan, void *pvt, chPostEventFunc **cb_out, void **arg_out, db_field_log *probe) |
Register callbacks for pre-event-queue operation. More... | |
void(* | channelRegisterPost )(dbChannel *chan, void *pvt, chPostEventFunc **cb_out, void **arg_out, db_field_log *probe) |
Register callbacks for post-event-queue operation. More... | |
void(* | channel_report )(dbChannel *chan, void *pvt, int level, const unsigned short indent) |
Channel report request. More... | |
void(* | channel_close )(dbChannel *chan, void *pvt) |
Channel close request. More... | |
The routines in this structure must be implemented by each filter plugin.
Definition at line 90 of file chfPlugin.h.
void*(* chfPluginIf::allocPvt)(void) |
Called before parsing starts. The plugin should allocate its per-instance structures, returning a pointer to them or NULL requesting an abort of the operation.
allocPvt may be set to NULL, if no resource allocation is needed.
Definition at line 103 of file chfPlugin.h.
void(* chfPluginIf::freePvt)(void *pvt) |
Called as part of abort or shutdown. The plugin should release any resources allocated for this filter; no further calls through this interface will be made.
freePvt may be set to NULL, if no resources need to be released.
pvt | Pointer to private structure. |
Definition at line 115 of file chfPlugin.h.
void(* chfPluginIf::parse_error)(void *pvt) |
Called after parsing failed with an error.
pvt | Pointer to private structure. |
Definition at line 124 of file chfPlugin.h.
int(* chfPluginIf::parse_ok)(void *pvt) |
Called after parsing has finished ok. The plugin may check the validity of the parsed data, returning -1 to request an abort of the operation.
pvt | Pointer to private structure. |
Definition at line 135 of file chfPlugin.h.
long(* chfPluginIf::channel_open)(dbChannel *chan, void *pvt) |
Called as part of the channel connection setup.
chan | dbChannel for which the connection is being made. |
pvt | Pointer to private structure. |
Definition at line 146 of file chfPlugin.h.
void(* chfPluginIf::channelRegisterPre)(dbChannel *chan, void *pvt, chPostEventFunc **cb_out, void **arg_out, db_field_log *probe) |
Called as part of the channel connection setup.
This function is called to establish the stack of plugins that an event is passed through between the database and the event queue.
The plugin must set pe_out to point to its own post-event callback in order to be called when a data update is sent from the database towards the event queue.
The plugin may find out the type of data it will receive by looking at 'probe'. If the plugin will change the data type and/or size, it must update 'probe' accordingly.
chan | dbChannel for which the connection is being made. |
pvt | Pointer to private structure. |
cb_out | Pointer to this plugin's post-event callback (NULL to bypass this plugin). |
arg_out | Argument that must be supplied when calling this plugin's post-event callback. |
Definition at line 170 of file chfPlugin.h.
void(* chfPluginIf::channelRegisterPost)(dbChannel *chan, void *pvt, chPostEventFunc **cb_out, void **arg_out, db_field_log *probe) |
Called as part of the channel connection setup.
This function is called to establish the stack of plugins that an event is passed through between the event queue and the final user (CA server or database access).
The plugin must set pe_out to point to its own post-event callback in order to be called when a data update is sent from the event queue towards the final user.
The plugin may find out the type of data it will receive by looking at 'probe'. If the plugin will change the data type and/or size, it must update 'probe' accordingly.
chan | dbChannel for which the connection is being made. |
pvt | Pointer to private structure. |
cb_out | Pointer to this plugin's post-event callback (NULL to bypass this plugin). |
arg_out | Argument that must be supplied when calling this plugin's post-event callback. |
Definition at line 197 of file chfPlugin.h.
void(* chfPluginIf::channel_report)(dbChannel *chan, void *pvt, int level, const unsigned short indent) |
Called as part of show... routines.
chan | dbChannel for which the report is requested. |
pvt | Pointer to private structure. |
level | Interest level. |
indent | Number of spaces to print before each output line. |
Definition at line 210 of file chfPlugin.h.
void(* chfPluginIf::channel_close)(dbChannel *chan, void *pvt) |
Called as part of connection shutdown.
chan | dbChannel for which the connection is being shut down. |
pvt | Pointer to private structure. |
Definition at line 218 of file chfPlugin.h.