Struct chfPluginIf
Defined in File chfPlugin.h
Struct Documentation
-
struct chfPluginIf
Channel filter simplified plugin interface.
The routines in this structure must be implemented by each filter plugin.
Public Members
-
void *(*allocPvt)(void)
Allocate private resources.
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.
- Return
Pointer to private structure, NULL if operation is to be aborted.
-
void (*freePvt)(void *pvt)
Free private resources.
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.
- Param pvt
Pointer to private structure.
-
void (*parse_error)(void *pvt)
A parsing error occurred.
Called after parsing failed with an error.
- Param pvt
Pointer to private structure.
-
int (*parse_ok)(void *pvt)
Configuration has been parsed successfully.
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.
- Param pvt
Pointer to private structure.
- Return
0 for success, -1 if operation is to be aborted.
-
long (*channel_open)(dbChannel *chan, void *pvt)
Open channel.
Called as part of the channel connection setup.
- Param chan
dbChannel for which the connection is being made.
- Param pvt
Pointer to private structure.
- Return
0 for success, -1 if operation is to be aborted.
-
void (*channelRegisterPre)(dbChannel *chan, void *pvt, chPostEventFunc **cb_out, void **arg_out, db_field_log *probe)
Register callbacks for pre-event-queue operation.
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.
- Param chan
dbChannel for which the connection is being made.
- Param pvt
Pointer to private structure.
- Param cb_out
Pointer to this plugin’s post-event callback (NULL to bypass this plugin).
- Param arg_out
Argument that must be supplied when calling this plugin’s post-event callback.
-
void (*channelRegisterPost)(dbChannel *chan, void *pvt, chPostEventFunc **cb_out, void **arg_out, db_field_log *probe)
Register callbacks for post-event-queue operation.
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.
- Param chan
dbChannel for which the connection is being made.
- Param pvt
Pointer to private structure.
- Param cb_out
Pointer to this plugin’s post-event callback (NULL to bypass this plugin).
- Param arg_out
Argument that must be supplied when calling this plugin’s post-event callback.
-
void (*channel_report)(dbChannel *chan, void *pvt, int level, const unsigned short indent)
Channel report request.
Called as part of show… routines.
- Param chan
dbChannel for which the report is requested.
- Param pvt
Pointer to private structure.
- Param level
Interest level.
- Param indent
Number of spaces to print before each output line.
-
void *(*allocPvt)(void)