iotivity 0.9.0
[platform/upstream/iotivity.git] / service / protocol-plugin / lib / cpluff / doc / reference / c-api / group__cTypedefsFuncs.html
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">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.1 -->
8 <div class="tabs">
9   <ul>
10     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11     <li><a href="modules.html"><span>Modules</span></a></li>
12     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
13     <li><a href="files.html"><span>Files</span></a></li>
14     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
15   </ul></div>
16 <h1>Callback function types<br>
17 <small>
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. 
21 <p>
22
23 <p>
24 <table border="0" cellpadding="0" cellspacing="0">
25 <tr><td></td></tr>
26 <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
27 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</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>
28
29 <tr><td class="mdescLeft">&nbsp;</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(*)&nbsp;</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>
31
32 <tr><td class="mdescLeft">&nbsp;</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(*)&nbsp;</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>
34
35 <tr><td class="mdescLeft">&nbsp;</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(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a> (void *plugin_data)</td></tr>
37
38 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A run function registered by a plug-in to perform work.  <a href="#gf55fb990664aaa069e72a8fa4da20034"></a><br></td></tr>
39 </table>
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)" -->
42 <div class="memitem">
43 <div class="memproto">
44       <table class="memname">
45         <tr>
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>
47         </tr>
48       </table>
49 </div>
50 <div class="memdoc">
51
52 <p>
53 A listener function called synchronously after a plugin state change. 
54 <p>
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>&nbsp;</td><td>the plug-in identifier </td></tr>
59     <tr><td valign="top"></td><td valign="top"><em>old_state</em>&nbsp;</td><td>the old plug-in state </td></tr>
60     <tr><td valign="top"></td><td valign="top"><em>new_state</em>&nbsp;</td><td>the new plug-in state </td></tr>
61     <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>the user data pointer supplied at listener registration </td></tr>
62   </table>
63 </dl>
64
65 </div>
66 </div><p>
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)" -->
68 <div class="memitem">
69 <div class="memproto">
70       <table class="memname">
71         <tr>
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>
73         </tr>
74       </table>
75 </div>
76 <div class="memdoc">
77
78 <p>
79 A logger function called to log selected plug-in framework messages. 
80 <p>
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>&nbsp;</td><td>the severity of the message </td></tr>
85     <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>the message to be logged, possibly localized </td></tr>
86     <tr><td valign="top"></td><td valign="top"><em>apid</em>&nbsp;</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>&nbsp;</td><td>the user data pointer given when the logger was registered </td></tr>
88   </table>
89 </dl>
90
91 </div>
92 </div><p>
93 <a class="anchor" name="g91b11fd391854d0854cfde0779f8d707"></a><!-- doxytag: member="cpluff.h::cp_fatal_error_func_t" ref="g91b11fd391854d0854cfde0779f8d707" args="(const char *msg)" -->
94 <div class="memitem">
95 <div class="memproto">
96       <table class="memname">
97         <tr>
98           <td class="memname">typedef void(*) <a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a>(const char *msg)          </td>
99         </tr>
100       </table>
101 </div>
102 <div class="memdoc">
103
104 <p>
105 A fatal error handler for handling unrecoverable errors. 
106 <p>
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>&nbsp;</td><td>the possibly localized error message </td></tr>
111   </table>
112 </dl>
113
114 </div>
115 </div><p>
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">
120         <tr>
121           <td class="memname">typedef int(*) <a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a>(void *plugin_data)          </td>
122         </tr>
123       </table>
124 </div>
125 <div class="memdoc">
126
127 <p>
128 A run function registered by a plug-in to perform work. 
129 <p>
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>&nbsp;</td><td>the plug-in instance data pointer </td></tr>
134   </table>
135 </dl>
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>
137
138 </div>
139 </div><p>
140 <hr size="1">
141 <p class="footer">
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>
144 </p>
145 <p class="generated-by">
146 Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
147 </p>
148 </body>
149 </html>