| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| <meta name="generator" content="Doxygen 1.8.18"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>Celix: libs/framework/include/celix_dm_component.h File Reference</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td id="projectalign" style="padding-left: 0.5em;"> |
| <div id="projectname">Celix |
|  <span id="projectnumber">2.2.1</span> |
| </div> |
| <div id="projectbrief">An implementation of the OSGi specification adapted to C and C++</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.18 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| /* @license-end */</script> |
| <div id="main-nav"></div> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div id="nav-path" class="navpath"> |
| <ul> |
| <li class="navelem"><a class="el" href="dir_6719ab1f1f7655efc2fa43f7eb574fd1.html">libs</a></li><li class="navelem"><a class="el" href="dir_edbb2ffdc3e165978e68de3a46f2e8a0.html">framework</a></li><li class="navelem"><a class="el" href="dir_bc286dd6b945a73064974dfd7e40f558.html">include</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#define-members">Macros</a> | |
| <a href="#typedef-members">Typedefs</a> | |
| <a href="#enum-members">Enumerations</a> | |
| <a href="#func-members">Functions</a> </div> |
| <div class="headertitle"> |
| <div class="title">celix_dm_component.h File Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| <div class="textblock"><code>#include <stdbool.h></code><br /> |
| <code>#include "celix_types.h"</code><br /> |
| <code>#include "celix_errno.h"</code><br /> |
| <code>#include "properties.h"</code><br /> |
| <code>#include "array_list.h"</code><br /> |
| <code>#include "<a class="el" href="celix__dm__info_8h_source.html">celix_dm_info.h</a>"</code><br /> |
| </div><div class="textblock"><div class="dynheader"> |
| Include dependency graph for celix_dm_component.h:</div> |
| <div class="dyncontent"> |
| <div class="center"><img src="celix__dm__component_8h__incl.png" border="0" usemap="#libs_2framework_2include_2celix__dm__component_8h" alt=""/></div> |
| <map name="libs_2framework_2include_2celix__dm__component_8h" id="libs_2framework_2include_2celix__dm__component_8h"> |
| <area shape="rect" title=" " alt="" coords="176,5,336,47"/> |
| <area shape="rect" title=" " alt="" coords="173,169,248,196"/> |
| <area shape="rect" title=" " alt="" coords="26,95,125,121"/> |
| <area shape="rect" title=" " alt="" coords="149,95,245,121"/> |
| <area shape="rect" title=" " alt="" coords="269,95,360,121"/> |
| <area shape="rect" title=" " alt="" coords="384,95,471,121"/> |
| <area shape="rect" href="celix__dm__info_8h.html" title=" " alt="" coords="495,95,608,121"/> |
| <area shape="rect" title=" " alt="" coords="418,169,538,196"/> |
| <area shape="rect" title=" " alt="" coords="563,169,687,196"/> |
| </map> |
| </div> |
| </div><div class="textblock"><div class="dynheader"> |
| This graph shows which files directly or indirectly include this file:</div> |
| <div class="dyncontent"> |
| <div class="center"><img src="celix__dm__component_8h__dep__incl.png" border="0" usemap="#libs_2framework_2include_2celix__dm__component_8hdep" alt=""/></div> |
| <map name="libs_2framework_2include_2celix__dm__component_8hdep" id="libs_2framework_2include_2celix__dm__component_8hdep"> |
| <area shape="rect" title=" " alt="" coords="5,5,165,47"/> |
| <area shape="rect" href="celix__api_8h.html" title=" " alt="" coords="10,95,161,136"/> |
| </map> |
| </div> |
| </div> |
| <p><a href="celix__dm__component_8h_source.html">Go to the source code of this file.</a></p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> |
| Macros</h2></td></tr> |
| <tr class="memitem:aa19dcff16825fa2e91656ff136d877cf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#aa19dcff16825fa2e91656ff136d877cf">CELIX_DM_COMPONENT_MAX_ID_LENGTH</a>   64</td></tr> |
| <tr class="separator:aa19dcff16825fa2e91656ff136d877cf"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af8861849eb5e4057def1bb12a5111d00"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#af8861849eb5e4057def1bb12a5111d00">CELIX_DM_COMPONENT_MAX_NAME_LENGTH</a>   128</td></tr> |
| <tr class="separator:af8861849eb5e4057def1bb12a5111d00"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aad1f80b04be28b8e7bf495113c2fe452"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#aad1f80b04be28b8e7bf495113c2fe452">CELIX_DMCOMPONENT_SETCALLBACKS</a>(dmCmp, type, init, start, stop, deinit)</td></tr> |
| <tr class="separator:aad1f80b04be28b8e7bf495113c2fe452"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> |
| Typedefs</h2></td></tr> |
| <tr class="memitem:afd49054c559adbeb9627fa3d45d6c02a"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="celix__dm__component_8h.html#ab8b6c8d35fe5b976b8f58a6816e6c4e4">celix_dm_component_state_enum</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#afd49054c559adbeb9627fa3d45d6c02a">celix_dm_component_state_t</a></td></tr> |
| <tr class="separator:afd49054c559adbeb9627fa3d45d6c02a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9c73a72049f39d42d66b6d9c60d185dc"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a>) (void *userData)</td></tr> |
| <tr class="separator:a9c73a72049f39d42d66b6d9c60d185dc"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> |
| Enumerations</h2></td></tr> |
| <tr class="memitem:ab8b6c8d35fe5b976b8f58a6816e6c4e4"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#ab8b6c8d35fe5b976b8f58a6816e6c4e4">celix_dm_component_state_enum</a> { <a class="el" href="celix__dm__component_8h.html#ab8b6c8d35fe5b976b8f58a6816e6c4e4aedd3ab4f7703955241fecb14df3fb59e">DM_CMP_STATE_INACTIVE</a> = 1, |
| <a class="el" href="celix__dm__component_8h.html#ab8b6c8d35fe5b976b8f58a6816e6c4e4a76d77f632cc37534055bb227446f5ffc">DM_CMP_STATE_WAITING_FOR_REQUIRED</a> = 2, |
| <a class="el" href="celix__dm__component_8h.html#ab8b6c8d35fe5b976b8f58a6816e6c4e4ad948b8a0aa722ce528335632176dac3e">DM_CMP_STATE_INSTANTIATED_AND_WAITING_FOR_REQUIRED</a> = 3, |
| <a class="el" href="celix__dm__component_8h.html#ab8b6c8d35fe5b976b8f58a6816e6c4e4a582ed79692df8863f9ae6b5663cf1a46">DM_CMP_STATE_TRACKING_OPTIONAL</a> = 4 |
| }</td></tr> |
| <tr class="separator:ab8b6c8d35fe5b976b8f58a6816e6c4e4"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> |
| Functions</h2></td></tr> |
| <tr class="memitem:adf75af7d75d2c1f7e53d78f23f97d40c"><td class="memItemLeft" align="right" valign="top">celix_dm_component_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#adf75af7d75d2c1f7e53d78f23f97d40c">celix_dmComponent_create</a> (celix_bundle_context_t *context, const char *name)</td></tr> |
| <tr class="separator:adf75af7d75d2c1f7e53d78f23f97d40c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a56a8c5019a43eb96d62fd9e98cb56ba8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a56a8c5019a43eb96d62fd9e98cb56ba8">celix_dmComponent_destroy</a> (celix_dm_component_t *cmp)</td></tr> |
| <tr class="separator:a56a8c5019a43eb96d62fd9e98cb56ba8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab8bd7a13007bda2619c1764886eabeab"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#ab8bd7a13007bda2619c1764886eabeab">celix_dmComponent_setCLanguageProperty</a> (celix_dm_component_t *component, bool setCLangProp)</td></tr> |
| <tr class="separator:ab8bd7a13007bda2619c1764886eabeab"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aafd2f2eff931784f70eb2a37e943446a"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#aafd2f2eff931784f70eb2a37e943446a">celix_dmComponent_addInterface</a> (celix_dm_component_t *component, const char *serviceName, const char *serviceVersion, const void *service, celix_properties_t *properties)</td></tr> |
| <tr class="separator:aafd2f2eff931784f70eb2a37e943446a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3e4a6e8e87cc8d3b3655eaaa06ad261e"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a3e4a6e8e87cc8d3b3655eaaa06ad261e">celix_dmComponent_removeInterface</a> (celix_dm_component_t *component, const void *service)</td></tr> |
| <tr class="separator:a3e4a6e8e87cc8d3b3655eaaa06ad261e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a45a01df6ed75d8530563d52f58a0b165"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a45a01df6ed75d8530563d52f58a0b165">celix_dmComponent_setImplementation</a> (celix_dm_component_t *component, void *implementation)</td></tr> |
| <tr class="separator:a45a01df6ed75d8530563d52f58a0b165"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae0312e00f51f85d8e48b18020964e21f"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#ae0312e00f51f85d8e48b18020964e21f">celix_dmComponent_getInterfaces</a> (celix_dm_component_t *component, celix_array_list_t **servicesNames)</td></tr> |
| <tr class="separator:ae0312e00f51f85d8e48b18020964e21f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad7d4a85042adba432bd8d398d9c106b8"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#ad7d4a85042adba432bd8d398d9c106b8">celix_dmComponent_addServiceDependency</a> (celix_dm_component_t *component, celix_dm_service_dependency_t *dep)</td></tr> |
| <tr class="separator:ad7d4a85042adba432bd8d398d9c106b8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0ce2c610cbe3a329ea6561eb5cda0d8d"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a0ce2c610cbe3a329ea6561eb5cda0d8d">celix_dmComponent_removeServiceDependency</a> (celix_dm_component_t *component, celix_dm_service_dependency_t *dependency)</td></tr> |
| <tr class="separator:a0ce2c610cbe3a329ea6561eb5cda0d8d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af98630b8f8980c906d5aefc5f8a82c99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="celix__dm__component_8h.html#afd49054c559adbeb9627fa3d45d6c02a">celix_dm_component_state_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#af98630b8f8980c906d5aefc5f8a82c99">celix_dmComponent_currentState</a> (celix_dm_component_t *cmp)</td></tr> |
| <tr class="separator:af98630b8f8980c906d5aefc5f8a82c99"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5647f75ea3a3c3755940ee42f51320a8"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a5647f75ea3a3c3755940ee42f51320a8">celix_dmComponent_getImplementation</a> (celix_dm_component_t *cmp)</td></tr> |
| <tr class="separator:a5647f75ea3a3c3755940ee42f51320a8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a30de51befa422dc65ac89ae3d9b8319f"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a30de51befa422dc65ac89ae3d9b8319f">celix_dmComponent_getName</a> (celix_dm_component_t *cmp)</td></tr> |
| <tr class="separator:a30de51befa422dc65ac89ae3d9b8319f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a99be995e9e94514fc4f6782dd48456ba"><td class="memItemLeft" align="right" valign="top">celix_bundle_context_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a99be995e9e94514fc4f6782dd48456ba">celix_dmComponent_getBundleContext</a> (celix_dm_component_t *component)</td></tr> |
| <tr class="separator:a99be995e9e94514fc4f6782dd48456ba"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a017e996f6b1db5e902bf3a9cc043634f"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a017e996f6b1db5e902bf3a9cc043634f">celix_dmComponent_setCallbacks</a> (celix_dm_component_t *component, <a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a> init, <a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a> start, <a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a> stop, <a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a> deinit)</td></tr> |
| <tr class="separator:a017e996f6b1db5e902bf3a9cc043634f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3345d3bfa11070069d745131668d02ae"><td class="memItemLeft" align="right" valign="top">celix_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a3345d3bfa11070069d745131668d02ae">celix_dmComponent_getComponentInfo</a> (celix_dm_component_t *component, <a class="el" href="celix__dm__info_8h.html#a4325313bb7b98b6eded2212a6edd065a">dm_component_info_pt</a> *info)</td></tr> |
| <tr class="separator:a3345d3bfa11070069d745131668d02ae"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7bbf1a0da294be7ba9ae8272f1b938d7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#a7bbf1a0da294be7ba9ae8272f1b938d7">celix_dmComponent_isActive</a> (celix_dm_component_t *component)</td></tr> |
| <tr class="separator:a7bbf1a0da294be7ba9ae8272f1b938d7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af62df6623e978a1cc62b3ca8ab5863c3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="celix__dm__component_8h.html#af62df6623e978a1cc62b3ca8ab5863c3">celix_dmComponent_destroyComponentInfo</a> (<a class="el" href="celix__dm__info_8h.html#a4325313bb7b98b6eded2212a6edd065a">dm_component_info_pt</a> info)</td></tr> |
| <tr class="separator:af62df6623e978a1cc62b3ca8ab5863c3"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <h2 class="groupheader">Macro Definition Documentation</h2> |
| <a id="aa19dcff16825fa2e91656ff136d877cf"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa19dcff16825fa2e91656ff136d877cf">◆ </a></span>CELIX_DM_COMPONENT_MAX_ID_LENGTH</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define CELIX_DM_COMPONENT_MAX_ID_LENGTH   64</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <a id="af8861849eb5e4057def1bb12a5111d00"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af8861849eb5e4057def1bb12a5111d00">◆ </a></span>CELIX_DM_COMPONENT_MAX_NAME_LENGTH</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define CELIX_DM_COMPONENT_MAX_NAME_LENGTH   128</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <a id="aad1f80b04be28b8e7bf495113c2fe452"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aad1f80b04be28b8e7bf495113c2fe452">◆ </a></span>CELIX_DMCOMPONENT_SETCALLBACKS</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define CELIX_DMCOMPONENT_SETCALLBACKS</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">dmCmp, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"> </td> |
| <td class="paramname">type, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"> </td> |
| <td class="paramname">init, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"> </td> |
| <td class="paramname">start, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"> </td> |
| <td class="paramname">stop, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"> </td> |
| <td class="paramname">deinit </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div> |
| <div class="line"> int (*tmp_init)(type) = (init); \</div> |
| <div class="line"> int (*tmp_start)(type) = (start); \</div> |
| <div class="line"> int (*tmp_stop)(type) = (stop); \</div> |
| <div class="line"> int (*tmp_deinit)(type) = (deinit); \</div> |
| <div class="line"> celix_dmComponent_setCallbacks((dmCmp), (<a class="code" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a>)tmp_init, (<a class="code" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a>)tmp_start, (<a class="code" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a>)tmp_stop, (<a class="code" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a>)tmp_deinit); \</div> |
| <div class="line"> } <span class="keywordflow">while</span>(0)</div> |
| </div><!-- fragment --><p>Set the component life cycle callbacks using a MACRO for improving the type safety. </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Typedef Documentation</h2> |
| <a id="a9c73a72049f39d42d66b6d9c60d185dc"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a9c73a72049f39d42d66b6d9c60d185dc">◆ </a></span>celix_dm_cmp_lifecycle_fpt</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef int(* celix_dm_cmp_lifecycle_fpt) (void *userData)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <a id="afd49054c559adbeb9627fa3d45d6c02a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#afd49054c559adbeb9627fa3d45d6c02a">◆ </a></span>celix_dm_component_state_t</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef enum <a class="el" href="celix__dm__component_8h.html#ab8b6c8d35fe5b976b8f58a6816e6c4e4">celix_dm_component_state_enum</a> <a class="el" href="celix__dm__component_8h.html#afd49054c559adbeb9627fa3d45d6c02a">celix_dm_component_state_t</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Enumeration Type Documentation</h2> |
| <a id="ab8b6c8d35fe5b976b8f58a6816e6c4e4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab8b6c8d35fe5b976b8f58a6816e6c4e4">◆ </a></span>celix_dm_component_state_enum</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">enum <a class="el" href="celix__dm__component_8h.html#ab8b6c8d35fe5b976b8f58a6816e6c4e4">celix_dm_component_state_enum</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <table class="fieldtable"> |
| <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab8b6c8d35fe5b976b8f58a6816e6c4e4aedd3ab4f7703955241fecb14df3fb59e"></a>DM_CMP_STATE_INACTIVE </td><td class="fielddoc"></td></tr> |
| <tr><td class="fieldname"><a id="ab8b6c8d35fe5b976b8f58a6816e6c4e4a76d77f632cc37534055bb227446f5ffc"></a>DM_CMP_STATE_WAITING_FOR_REQUIRED </td><td class="fielddoc"></td></tr> |
| <tr><td class="fieldname"><a id="ab8b6c8d35fe5b976b8f58a6816e6c4e4ad948b8a0aa722ce528335632176dac3e"></a>DM_CMP_STATE_INSTANTIATED_AND_WAITING_FOR_REQUIRED </td><td class="fielddoc"></td></tr> |
| <tr><td class="fieldname"><a id="ab8b6c8d35fe5b976b8f58a6816e6c4e4a582ed79692df8863f9ae6b5663cf1a46"></a>DM_CMP_STATE_TRACKING_OPTIONAL </td><td class="fielddoc"></td></tr> |
| </table> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Function Documentation</h2> |
| <a id="aafd2f2eff931784f70eb2a37e943446a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aafd2f2eff931784f70eb2a37e943446a">◆ </a></span>celix_dmComponent_addInterface()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_addInterface </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>serviceName</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>serviceVersion</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const void * </td> |
| <td class="paramname"><em>service</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">celix_properties_t * </td> |
| <td class="paramname"><em>properties</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Adds a C interface to provide as service to the Celix framework.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">serviceName</td><td>the service name. </td></tr> |
| <tr><td class="paramname">version</td><td>The version of the interface (e.g. "1.0.0"), Can be a NULL pointer. </td></tr> |
| <tr><td class="paramname">properties</td><td>To (meta) properties to provide with the service. Can be a NULL pointer. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ad7d4a85042adba432bd8d398d9c106b8"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ad7d4a85042adba432bd8d398d9c106b8">◆ </a></span>celix_dmComponent_addServiceDependency()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_addServiceDependency </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">celix_dm_service_dependency_t * </td> |
| <td class="paramname"><em>dep</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Adds a C service dependency to the component </p> |
| |
| </div> |
| </div> |
| <a id="adf75af7d75d2c1f7e53d78f23f97d40c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#adf75af7d75d2c1f7e53d78f23f97d40c">◆ </a></span>celix_dmComponent_create()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_dm_component_t* celix_dmComponent_create </td> |
| <td>(</td> |
| <td class="paramtype">celix_bundle_context_t * </td> |
| <td class="paramname"><em>context</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>name</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Creates a DM Component Caller has ownership. </p> |
| |
| </div> |
| </div> |
| <a id="af98630b8f8980c906d5aefc5f8a82c99"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af98630b8f8980c906d5aefc5f8a82c99">◆ </a></span>celix_dmComponent_currentState()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="celix__dm__component_8h.html#afd49054c559adbeb9627fa3d45d6c02a">celix_dm_component_state_t</a> celix_dmComponent_currentState </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>cmp</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns the current state of the component. </p> |
| |
| </div> |
| </div> |
| <a id="a56a8c5019a43eb96d62fd9e98cb56ba8"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a56a8c5019a43eb96d62fd9e98cb56ba8">◆ </a></span>celix_dmComponent_destroy()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void celix_dmComponent_destroy </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>cmp</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Destroys a DM Component </p> |
| |
| </div> |
| </div> |
| <a id="af62df6623e978a1cc62b3ca8ab5863c3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af62df6623e978a1cc62b3ca8ab5863c3">◆ </a></span>celix_dmComponent_destroyComponentInfo()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void celix_dmComponent_destroyComponentInfo </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="celix__dm__info_8h.html#a4325313bb7b98b6eded2212a6edd065a">dm_component_info_pt</a> </td> |
| <td class="paramname"><em>info</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Destroys a DM Component info struct. </p> |
| |
| </div> |
| </div> |
| <a id="a99be995e9e94514fc4f6782dd48456ba"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a99be995e9e94514fc4f6782dd48456ba">◆ </a></span>celix_dmComponent_getBundleContext()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_bundle_context_t* celix_dmComponent_getBundleContext </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns bundle context for the bundle where this DM component is part of. </p> |
| |
| </div> |
| </div> |
| <a id="a3345d3bfa11070069d745131668d02ae"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a3345d3bfa11070069d745131668d02ae">◆ </a></span>celix_dmComponent_getComponentInfo()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_getComponentInfo </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="celix__dm__info_8h.html#a4325313bb7b98b6eded2212a6edd065a">dm_component_info_pt</a> * </td> |
| <td class="paramname"><em>info</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Create a DM Component info struct. Containing information about the component. Caller has ownership. </p> |
| |
| </div> |
| </div> |
| <a id="a5647f75ea3a3c3755940ee42f51320a8"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a5647f75ea3a3c3755940ee42f51320a8">◆ </a></span>celix_dmComponent_getImplementation()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void* celix_dmComponent_getImplementation </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>cmp</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns the implementation of the component. e.g. the component handle/self/this pointer. </p> |
| |
| </div> |
| </div> |
| <a id="ae0312e00f51f85d8e48b18020964e21f"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae0312e00f51f85d8e48b18020964e21f">◆ </a></span>celix_dmComponent_getInterfaces()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_getInterfaces </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">celix_array_list_t ** </td> |
| <td class="paramname"><em>servicesNames</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns an arraylist of service names. The caller owns the arraylist and strings (char *) </p> |
| |
| </div> |
| </div> |
| <a id="a30de51befa422dc65ac89ae3d9b8319f"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a30de51befa422dc65ac89ae3d9b8319f">◆ </a></span>celix_dmComponent_getName()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const char* celix_dmComponent_getName </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>cmp</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns the DM component name. This is used when printing information about the component. </p> |
| |
| </div> |
| </div> |
| <a id="a7bbf1a0da294be7ba9ae8272f1b938d7"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a7bbf1a0da294be7ba9ae8272f1b938d7">◆ </a></span>celix_dmComponent_isActive()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">bool celix_dmComponent_isActive </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <a id="a3e4a6e8e87cc8d3b3655eaaa06ad261e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a3e4a6e8e87cc8d3b3655eaaa06ad261e">◆ </a></span>celix_dmComponent_removeInterface()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_removeInterface </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const void * </td> |
| <td class="paramname"><em>service</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Removed a C interface from a component the Celix framework.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">serviceName</td><td>the service name. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>CELIX_SUCCESS when removed, CELIX_ILLEGAL_ARGUMENT when the component does not provide the interface </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a0ce2c610cbe3a329ea6561eb5cda0d8d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a0ce2c610cbe3a329ea6561eb5cda0d8d">◆ </a></span>celix_dmComponent_removeServiceDependency()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_removeServiceDependency </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">celix_dm_service_dependency_t * </td> |
| <td class="paramname"><em>dependency</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Removes a C service dependency to the component </p> |
| |
| </div> |
| </div> |
| <a id="a017e996f6b1db5e902bf3a9cc043634f"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a017e996f6b1db5e902bf3a9cc043634f">◆ </a></span>celix_dmComponent_setCallbacks()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_setCallbacks </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a> </td> |
| <td class="paramname"><em>init</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a> </td> |
| <td class="paramname"><em>start</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a> </td> |
| <td class="paramname"><em>stop</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a> </td> |
| <td class="paramname"><em>deinit</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Set the component life cycle callbacks. The first argument will be the component implementation (</p><dl class="section see"><dt>See also</dt><dd>component_getImplementation) </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ab8bd7a13007bda2619c1764886eabeab"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab8bd7a13007bda2619c1764886eabeab">◆ </a></span>celix_dmComponent_setCLanguageProperty()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_setCLanguageProperty </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">bool </td> |
| <td class="paramname"><em>setCLangProp</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Specify if a default 'service.lang=C' should be added to the properties of interfaces if no 'service.lang' has been provided. Default is false. Note that this should be set before using component_addInterface. </p> |
| |
| </div> |
| </div> |
| <a id="a45a01df6ed75d8530563d52f58a0b165"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a45a01df6ed75d8530563d52f58a0b165">◆ </a></span>celix_dmComponent_setImplementation()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">celix_status_t celix_dmComponent_setImplementation </td> |
| <td>(</td> |
| <td class="paramtype">celix_dm_component_t * </td> |
| <td class="paramname"><em>component</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">void * </td> |
| <td class="paramname"><em>implementation</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Sets the implementation of the component. e.g. the component handle/self/this pointer. </p> |
| |
| </div> |
| </div> |
| </div><!-- contents --> |
| <div class="ttc" id="acelix__dm__component_8h_html_a9c73a72049f39d42d66b6d9c60d185dc"><div class="ttname"><a href="celix__dm__component_8h.html#a9c73a72049f39d42d66b6d9c60d185dc">celix_dm_cmp_lifecycle_fpt</a></div><div class="ttdeci">int(* celix_dm_cmp_lifecycle_fpt)(void *userData)</div><div class="ttdef"><b>Definition:</b> celix_dm_component.h:45</div></div> |
| <!-- start footer part --> |
| <hr class="footer"/><address class="footer"><small> |
| Generated by  <a href="http://www.doxygen.org/index.html"> |
| <img class="footer" src="doxygen.png" alt="doxygen"/> |
| </a> 1.8.18 |
| </small></address> |
| </body> |
| </html> |