1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>C-Pluff C API: Callback function types</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
7 <!-- Generated by Doxygen 1.5.1 -->
10 <li><a href="index.html"><span>Main Page</span></a></li>
11 <li><a href="modules.html"><span>Modules</span></a></li>
12 <li><a href="annotated.html"><span>Data Structures</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 <li><a href="pages.html"><span>Related Pages</span></a></li>
16 <h1>Callback function types<br>
18 [<a class="el" href="group__cTypedefs.html">Typedefs</a>]</small>
19 </h1><hr><a name="_details"></a><h2>Detailed Description</h2>
20 Typedefs for client supplied callback functions.
24 <table border="0" cellpadding="0" cellspacing="0">
26 <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
27 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> (const char *plugin_id, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> old_state, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> new_state, void *user_data)</td></tr>
29 <tr><td class="mdescLeft"> </td><td class="mdescRight">A listener function called synchronously after a plugin state change. <a href="#g24fde3d7324169d8448700123aa97c7a"></a><br></td></tr>
30 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> (<a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity, const char *msg, const char *apid, void *user_data)</td></tr>
32 <tr><td class="mdescLeft"> </td><td class="mdescRight">A logger function called to log selected plug-in framework messages. <a href="#ga53e481fd552856aff67d8584f7e5614"></a><br></td></tr>
33 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a> (const char *msg)</td></tr>
35 <tr><td class="mdescLeft"> </td><td class="mdescRight">A fatal error handler for handling unrecoverable errors. <a href="#g91b11fd391854d0854cfde0779f8d707"></a><br></td></tr>
36 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a> (void *plugin_data)</td></tr>
38 <tr><td class="mdescLeft"> </td><td class="mdescRight">A run function registered by a plug-in to perform work. <a href="#gf55fb990664aaa069e72a8fa4da20034"></a><br></td></tr>
40 <hr><h2>Typedef Documentation</h2>
41 <a class="anchor" name="g24fde3d7324169d8448700123aa97c7a"></a><!-- doxytag: member="cpluff.h::cp_plugin_listener_func_t" ref="g24fde3d7324169d8448700123aa97c7a" args="(const char *plugin_id, cp_plugin_state_t old_state, cp_plugin_state_t new_state, void *user_data)" -->
43 <div class="memproto">
44 <table class="memname">
46 <td class="memname">typedef void(*) <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a>(const char *plugin_id, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> old_state, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> new_state, void *user_data) </td>
53 A listener function called synchronously after a plugin state change.
55 The function should return promptly. <a class="el" href="group__cFuncsInit.html">Library initialization</a>, <a class="el" href="group__cFuncsContext.html">plug-in context management</a>, <a class="el" href="group__cFuncsPlugin.html">plug-in management</a>, listener registration (<a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cp_register_plistener</a> and <a class="el" href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e">cp_unregister_plistener</a>) and <a class="el" href="group__cFuncsSymbols.html">dynamic symbol</a> functions must not be called from within a plug-in listener invocation. Listener functions are registered using <a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cp_register_plistener</a>.<p>
56 <dl compact><dt><b>Parameters:</b></dt><dd>
57 <table border="0" cellspacing="2" cellpadding="0">
58 <tr><td valign="top"></td><td valign="top"><em>plugin_id</em> </td><td>the plug-in identifier </td></tr>
59 <tr><td valign="top"></td><td valign="top"><em>old_state</em> </td><td>the old plug-in state </td></tr>
60 <tr><td valign="top"></td><td valign="top"><em>new_state</em> </td><td>the new plug-in state </td></tr>
61 <tr><td valign="top"></td><td valign="top"><em>user_data</em> </td><td>the user data pointer supplied at listener registration </td></tr>
67 <a class="anchor" name="ga53e481fd552856aff67d8584f7e5614"></a><!-- doxytag: member="cpluff.h::cp_logger_func_t" ref="ga53e481fd552856aff67d8584f7e5614" args="(cp_log_severity_t severity, const char *msg, const char *apid, void *user_data)" -->
69 <div class="memproto">
70 <table class="memname">
72 <td class="memname">typedef void(*) <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a>(<a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity, const char *msg, const char *apid, void *user_data) </td>
79 A logger function called to log selected plug-in framework messages.
81 The messages may be localized. Plug-in framework API functions must not be called from within a logger function invocation. In a multi-threaded environment logger function invocations are serialized by the framework. Logger functions are registered using <a class="el" href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff">cp_register_logger</a>.<p>
82 <dl compact><dt><b>Parameters:</b></dt><dd>
83 <table border="0" cellspacing="2" cellpadding="0">
84 <tr><td valign="top"></td><td valign="top"><em>severity</em> </td><td>the severity of the message </td></tr>
85 <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>the message to be logged, possibly localized </td></tr>
86 <tr><td valign="top"></td><td valign="top"><em>apid</em> </td><td>the identifier of the activating plug-in or NULL for the main program </td></tr>
87 <tr><td valign="top"></td><td valign="top"><em>user_data</em> </td><td>the user data pointer given when the logger was registered </td></tr>
93 <a class="anchor" name="g91b11fd391854d0854cfde0779f8d707"></a><!-- doxytag: member="cpluff.h::cp_fatal_error_func_t" ref="g91b11fd391854d0854cfde0779f8d707" args="(const char *msg)" -->
95 <div class="memproto">
96 <table class="memname">
98 <td class="memname">typedef void(*) <a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a>(const char *msg) </td>
105 A fatal error handler for handling unrecoverable errors.
107 If the error handler returns then the framework aborts the program. Plug-in framework API functions must not be called from within a fatal error handler invocation. The fatal error handler function is set using <a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a>.<p>
108 <dl compact><dt><b>Parameters:</b></dt><dd>
109 <table border="0" cellspacing="2" cellpadding="0">
110 <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>the possibly localized error message </td></tr>
116 <a class="anchor" name="gf55fb990664aaa069e72a8fa4da20034"></a><!-- doxytag: member="cpluff.h::cp_run_func_t" ref="gf55fb990664aaa069e72a8fa4da20034" args="(void *plugin_data)" -->
117 <div class="memitem">
118 <div class="memproto">
119 <table class="memname">
121 <td class="memname">typedef int(*) <a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a>(void *plugin_data) </td>
128 A run function registered by a plug-in to perform work.
130 The run function should perform a finite chunk of work and it should return a non-zero value if there is more work to be done. Run functions are registered using <a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cp_run_function</a> and the usage is discussed in more detail in the <a class="el" href="group__cFuncsPluginExec.html">serial execution</a> section.<p>
131 <dl compact><dt><b>Parameters:</b></dt><dd>
132 <table border="0" cellspacing="2" cellpadding="0">
133 <tr><td valign="top"></td><td valign="top"><em>plugin_data</em> </td><td>the plug-in instance data pointer </td></tr>
136 <dl class="return" compact><dt><b>Returns:</b></dt><dd>non-zero if there is more work to be done or zero if finished </dd></dl>
142 <a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
143 Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
145 <p class="generated-by">
146 Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1