EPICS Base  7.0.6.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Attributes | List of all members
chfPluginIf Struct Reference

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...
 

Detailed Description

The routines in this structure must be implemented by each filter plugin.

Definition at line 90 of file chfPlugin.h.

Member Data Documentation

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.

Returns
Pointer to private structure, NULL if operation is to be aborted.

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.

Parameters
pvtPointer to private structure.

Definition at line 115 of file chfPlugin.h.

void(* chfPluginIf::parse_error)(void *pvt)

Called after parsing failed with an error.

Parameters
pvtPointer 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.

Parameters
pvtPointer to private structure.
Returns
0 for success, -1 if operation is to be aborted.

Definition at line 135 of file chfPlugin.h.

long(* chfPluginIf::channel_open)(dbChannel *chan, void *pvt)

Called as part of the channel connection setup.

Parameters
chandbChannel for which the connection is being made.
pvtPointer to private structure.
Returns
0 for success, -1 if operation is to be aborted.

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.

Parameters
chandbChannel for which the connection is being made.
pvtPointer to private structure.
cb_outPointer to this plugin's post-event callback (NULL to bypass this plugin).
arg_outArgument 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.

Parameters
chandbChannel for which the connection is being made.
pvtPointer to private structure.
cb_outPointer to this plugin's post-event callback (NULL to bypass this plugin).
arg_outArgument 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.

Parameters
chandbChannel for which the report is requested.
pvtPointer to private structure.
levelInterest level.
indentNumber 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.

Parameters
chandbChannel for which the connection is being shut down.
pvtPointer to private structure.

Definition at line 218 of file chfPlugin.h.


The documentation for this struct was generated from the following file: