blob: 19868803916916c39bdf2d6c0dfc0bd89070356b [file] [log] [blame]
<!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_service_dependency.h Source File</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
&#160;<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&amp;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&amp;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="headertitle">
<div class="title">celix_dm_service_dependency.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="celix__dm__service__dependency_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * distributed with this work for additional information</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * software distributed under the License is distributed on an</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * KIND, either express or implied. See the License for the</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * specific language governing permissions and limitations</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * under the License.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef CELIX_DM_SERVICE_DEPENDENCY_H_</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define CELIX_DM_SERVICE_DEPENDENCY_H_</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;celix_types.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;celix_errno.h&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;celix_threads.h&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="celix__dm__info_8h.html">celix_dm_info.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88c"> 34</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88c">celix_dm_service_dependency_strategy_enum</a> {</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88ca6c94c0c92189ea864b218b45d2526db1"> 35</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88ca6c94c0c92189ea864b218b45d2526db1">DM_SERVICE_DEPENDENCY_STRATEGY_LOCKING</a>,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88caf4c6748a0a1d0e04997c11847c737428">DM_SERVICE_DEPENDENCY_STRATEGY_SUSPEND</a></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88caf4c6748a0a1d0e04997c11847c737428"> 37</a></span>&#160;} <a class="code" href="celix__dm__service__dependency_8h.html#a00447f0e837918fcf6e39698ef375f46">celix_dm_service_dependency_strategy_t</a>;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a3aab7f5d65c74eb819047e5ec1f4c05f"> 39</a></span>&#160;<span class="keyword">typedef</span> int (*<a class="code" href="celix__dm__service__dependency_8h.html#a3aab7f5d65c74eb819047e5ec1f4c05f">celix_dm_service_update_fp</a>)(<span class="keywordtype">void</span> *handle, <span class="keywordtype">void</span>* service);</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a8a77266cc94a0f019b29d75a8e54995d"> 40</a></span>&#160;<span class="keyword">typedef</span> int (*<a class="code" href="celix__dm__service__dependency_8h.html#a8a77266cc94a0f019b29d75a8e54995d">celix_dm_service_swap_fp</a>)(<span class="keywordtype">void</span> *handle, <span class="keywordtype">void</span>* oldService, <span class="keywordtype">void</span>* newService);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#afb8ee50fcfc77f274578d85a70bb2b94"> 42</a></span>&#160;<span class="keyword">typedef</span> int (*<a class="code" href="celix__dm__service__dependency_8h.html#afb8ee50fcfc77f274578d85a70bb2b94">celix_dm_service_update_with_props_fp</a>)(<span class="keywordtype">void</span> *handle, <span class="keywordtype">void</span>* service, <span class="keyword">const</span> celix_properties_t *props);</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a6b4b49e1cbd6865c5dc14e94086f629f"> 43</a></span>&#160;<span class="keyword">typedef</span> int (*<a class="code" href="celix__dm__service__dependency_8h.html#a6b4b49e1cbd6865c5dc14e94086f629f">celix_dm_service_swap_with_props_fp</a>)(<span class="keywordtype">void</span> *handle, <span class="keywordtype">void</span>* oldService, <span class="keywordtype">void</span>* newService, <span class="keyword">const</span> celix_properties_t *newProps);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html"> 45</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcelix__dm__service__dependency__callback__options.html">celix_dm_service_dependency_callback_options</a> {</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html#a84e8cecdb9dd19f072d1b9c28fa95c8b"> 46</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#a3aab7f5d65c74eb819047e5ec1f4c05f">celix_dm_service_update_fp</a> <a class="code" href="structcelix__dm__service__dependency__callback__options.html#a84e8cecdb9dd19f072d1b9c28fa95c8b">set</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html#a9663db4ef079c6300f95dadfe2c03813"> 47</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#a3aab7f5d65c74eb819047e5ec1f4c05f">celix_dm_service_update_fp</a> <a class="code" href="structcelix__dm__service__dependency__callback__options.html#a9663db4ef079c6300f95dadfe2c03813">add</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html#a10fe45460fc65e1590a58477f515424b"> 48</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#a3aab7f5d65c74eb819047e5ec1f4c05f">celix_dm_service_update_fp</a> <a class="code" href="structcelix__dm__service__dependency__callback__options.html#a10fe45460fc65e1590a58477f515424b">remove</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html#a35b874e6fa5a6c3af03f09e6492e8b48"> 49</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#a8a77266cc94a0f019b29d75a8e54995d">celix_dm_service_swap_fp</a> <a class="code" href="structcelix__dm__service__dependency__callback__options.html#a35b874e6fa5a6c3af03f09e6492e8b48">swap</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html#a286bb094f7e4b4a9066e9b235aa8ade9"> 51</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#afb8ee50fcfc77f274578d85a70bb2b94">celix_dm_service_update_with_props_fp</a> <a class="code" href="structcelix__dm__service__dependency__callback__options.html#a286bb094f7e4b4a9066e9b235aa8ade9">setWithProps</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html#a5cf7a8e9026d08803798c70cb6a30330"> 52</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#afb8ee50fcfc77f274578d85a70bb2b94">celix_dm_service_update_with_props_fp</a> <a class="code" href="structcelix__dm__service__dependency__callback__options.html#a5cf7a8e9026d08803798c70cb6a30330">addWithProps</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html#a54ee61c8ab040dc87de22588013316fd"> 53</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#afb8ee50fcfc77f274578d85a70bb2b94">celix_dm_service_update_with_props_fp</a> <a class="code" href="structcelix__dm__service__dependency__callback__options.html#a54ee61c8ab040dc87de22588013316fd">removeWithProps</a>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structcelix__dm__service__dependency__callback__options.html#a1e0bfcf2034cd6d69d954256d101598d"> 54</a></span>&#160; <a class="code" href="celix__dm__service__dependency_8h.html#a6b4b49e1cbd6865c5dc14e94086f629f">celix_dm_service_swap_with_props_fp</a> <a class="code" href="structcelix__dm__service__dependency__callback__options.html#a1e0bfcf2034cd6d69d954256d101598d">swapWithProps</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#ace7f03a4e7746a8ca8218afd172752f8"> 55</a></span>&#160;} <a class="code" href="celix__dm__service__dependency_8h.html#ace7f03a4e7746a8ca8218afd172752f8">celix_dm_service_dependency_callback_options_t</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#define CELIX_EMPTY_DM_SERVICE_DEPENDENCY_CALLBACK_OPTIONS { .set = NULL, \</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a1b153c6b38f75362450aad5b3ad729f7"> 58</a></span>&#160;<span class="preprocessor"> .add = NULL, \</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor"> .remove = NULL, \</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor"> .swap = NULL, \</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor"> .setWithProps = NULL, \</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"> .addWithProps = NULL, \</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor"> .removeWithProps = NULL, \</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"> .swapWithProps = NULL }</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a588b147bec75a501fac3b35076fc98a3"> 70</a></span>&#160;celix_dm_service_dependency_t* <a class="code" href="celix__dm__service__dependency_8h.html#a588b147bec75a501fac3b35076fc98a3">celix_dmServiceDependency_create</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#ac282334d66c3cfc4fda1b67245172979"> 76</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="celix__dm__service__dependency_8h.html#ac282334d66c3cfc4fda1b67245172979">celix_dmServiceDependency_destroy</a>(celix_dm_service_dependency_t *dep);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a0c33bcf502f8683bce3cf382c4bdc76a"> 81</a></span>&#160;celix_status_t <a class="code" href="celix__dm__service__dependency_8h.html#a0c33bcf502f8683bce3cf382c4bdc76a">celix_dmServiceDependency_setRequired</a>(celix_dm_service_dependency_t *dependency, <span class="keywordtype">bool</span> required);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a9aec79471c46aecc7412523fe839e549"> 87</a></span>&#160;celix_status_t <a class="code" href="celix__dm__service__dependency_8h.html#a9aec79471c46aecc7412523fe839e549">celix_dmServiceDependency_setAddCLanguageFilter</a>(celix_dm_service_dependency_t *dependency, <span class="keywordtype">bool</span> addCLangFilter);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a9d833904b765bee7073ec41828ea7d2e"> 103</a></span>&#160;celix_status_t <a class="code" href="celix__dm__service__dependency_8h.html#a9d833904b765bee7073ec41828ea7d2e">celix_dmServiceDependency_setStrategy</a>(celix_dm_service_dependency_t *dependency, <a class="code" href="celix__dm__service__dependency_8h.html#a00447f0e837918fcf6e39698ef375f46">celix_dm_service_dependency_strategy_t</a> strategy);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a8365396c6363ad98b66725243f97f8ea"> 108</a></span>&#160;<a class="code" href="celix__dm__service__dependency_8h.html#a00447f0e837918fcf6e39698ef375f46">celix_dm_service_dependency_strategy_t</a> <a class="code" href="celix__dm__service__dependency_8h.html#a8365396c6363ad98b66725243f97f8ea">celix_dmServiceDependency_getStrategy</a>(celix_dm_service_dependency_t *dependency);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a2602a6526ef6cde42d606c9ed958cec7"> 117</a></span>&#160;celix_status_t <a class="code" href="celix__dm__service__dependency_8h.html#a2602a6526ef6cde42d606c9ed958cec7">celix_dmServiceDependency_setService</a>(celix_dm_service_dependency_t *dependency, <span class="keyword">const</span> <span class="keywordtype">char</span>* serviceName, <span class="keyword">const</span> <span class="keywordtype">char</span>* serviceVersionRange, <span class="keyword">const</span> <span class="keywordtype">char</span>* filter);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a487a41d56ea2bf1aa51cd7f7e83ff844"> 122</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="celix__dm__service__dependency_8h.html#a487a41d56ea2bf1aa51cd7f7e83ff844">celix_dmServiceDependency_getFilter</a>(celix_dm_service_dependency_t *dependency);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a1a731a456c8e617acfa4d81a6357959c"> 129</a></span>&#160;celix_status_t <a class="code" href="celix__dm__service__dependency_8h.html#a1a731a456c8e617acfa4d81a6357959c">celix_dmServiceDependency_setCallback</a>(celix_dm_service_dependency_t *dependency, <a class="code" href="celix__dm__service__dependency_8h.html#a3aab7f5d65c74eb819047e5ec1f4c05f">celix_dm_service_update_fp</a> set);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a9bdfec7b27301bd71dd4f45fcdd11568"> 137</a></span>&#160;celix_status_t <a class="code" href="celix__dm__service__dependency_8h.html#a9bdfec7b27301bd71dd4f45fcdd11568">celix_dmServiceDependency_setCallbackWithProperties</a>(celix_dm_service_dependency_t *dependency, <a class="code" href="celix__dm__service__dependency_8h.html#afb8ee50fcfc77f274578d85a70bb2b94">celix_dm_service_update_with_props_fp</a> set);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a31898ef1ad5f9695dc85a24202020ebe"> 145</a></span>&#160;celix_status_t <a class="code" href="celix__dm__service__dependency_8h.html#a31898ef1ad5f9695dc85a24202020ebe">celix_dmServiceDependency_setCallbacksWithOptions</a>(celix_dm_service_dependency_t *dependency, <span class="keyword">const</span> <a class="code" href="structcelix__dm__service__dependency__callback__options.html">celix_dm_service_dependency_callback_options_t</a> *opts);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#aebe0669933d37f9fd1c3fdc873127d78"> 152</a></span>&#160;celix_status_t <a class="code" href="celix__dm__service__dependency_8h.html#aebe0669933d37f9fd1c3fdc873127d78">celix_dmServiceDependency_setCallbackHandle</a>(celix_dm_service_dependency_t *dependency, <span class="keywordtype">void</span>* handle);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#a0b84d9164563664da40491151f7d7131"> 158</a></span>&#160;<a class="code" href="structcelix__dm__service__dependency__info__struct.html">dm_service_dependency_info_t</a>* <a class="code" href="celix__dm__service__dependency_8h.html#a0b84d9164563664da40491151f7d7131">celix_dmServiceDependency_createInfo</a>(celix_dm_service_dependency_t* dep);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="celix__dm__service__dependency_8h.html#acb96da27c0087a05d885b0f55756de8a"> 163</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="celix__dm__service__dependency_8h.html#acb96da27c0087a05d885b0f55756de8a">celix_dmServiceDependency_destroyInfo</a>(celix_dm_service_dependency_t *dep, <a class="code" href="structcelix__dm__service__dependency__info__struct.html">dm_service_dependency_info_t</a> *info);</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;}</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* CELIX_DM_SERVICE_DEPENDENCY_H_ */</span><span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a1a731a456c8e617acfa4d81a6357959c"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a1a731a456c8e617acfa4d81a6357959c">celix_dmServiceDependency_setCallback</a></div><div class="ttdeci">celix_status_t celix_dmServiceDependency_setCallback(celix_dm_service_dependency_t *dependency, celix_dm_service_update_fp set)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a2602a6526ef6cde42d606c9ed958cec7"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a2602a6526ef6cde42d606c9ed958cec7">celix_dmServiceDependency_setService</a></div><div class="ttdeci">celix_status_t celix_dmServiceDependency_setService(celix_dm_service_dependency_t *dependency, const char *serviceName, const char *serviceVersionRange, const char *filter)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_ac282334d66c3cfc4fda1b67245172979"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#ac282334d66c3cfc4fda1b67245172979">celix_dmServiceDependency_destroy</a></div><div class="ttdeci">void celix_dmServiceDependency_destroy(celix_dm_service_dependency_t *dep)</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html_a1e0bfcf2034cd6d69d954256d101598d"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html#a1e0bfcf2034cd6d69d954256d101598d">celix_dm_service_dependency_callback_options::swapWithProps</a></div><div class="ttdeci">celix_dm_service_swap_with_props_fp swapWithProps</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:54</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html_a54ee61c8ab040dc87de22588013316fd"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html#a54ee61c8ab040dc87de22588013316fd">celix_dm_service_dependency_callback_options::removeWithProps</a></div><div class="ttdeci">celix_dm_service_update_with_props_fp removeWithProps</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:53</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html_a9663db4ef079c6300f95dadfe2c03813"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html#a9663db4ef079c6300f95dadfe2c03813">celix_dm_service_dependency_callback_options::add</a></div><div class="ttdeci">celix_dm_service_update_fp add</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:47</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a80a698d57b244ab54ffad631a41ae88c"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88c">celix_dm_service_dependency_strategy_enum</a></div><div class="ttdeci">celix_dm_service_dependency_strategy_enum</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:34</div></div>
<div class="ttc" id="acelix__dm__info_8h_html"><div class="ttname"><a href="celix__dm__info_8h.html">celix_dm_info.h</a></div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__info__struct_html"><div class="ttname"><a href="structcelix__dm__service__dependency__info__struct.html">celix_dm_service_dependency_info_struct</a></div><div class="ttdef"><b>Definition:</b> celix_dm_info.h:42</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html_a10fe45460fc65e1590a58477f515424b"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html#a10fe45460fc65e1590a58477f515424b">celix_dm_service_dependency_callback_options::remove</a></div><div class="ttdeci">celix_dm_service_update_fp remove</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:48</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a9d833904b765bee7073ec41828ea7d2e"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a9d833904b765bee7073ec41828ea7d2e">celix_dmServiceDependency_setStrategy</a></div><div class="ttdeci">celix_status_t celix_dmServiceDependency_setStrategy(celix_dm_service_dependency_t *dependency, celix_dm_service_dependency_strategy_t strategy)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_ace7f03a4e7746a8ca8218afd172752f8"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#ace7f03a4e7746a8ca8218afd172752f8">celix_dm_service_dependency_callback_options_t</a></div><div class="ttdeci">struct celix_dm_service_dependency_callback_options celix_dm_service_dependency_callback_options_t</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a487a41d56ea2bf1aa51cd7f7e83ff844"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a487a41d56ea2bf1aa51cd7f7e83ff844">celix_dmServiceDependency_getFilter</a></div><div class="ttdeci">const char * celix_dmServiceDependency_getFilter(celix_dm_service_dependency_t *dependency)</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html_a35b874e6fa5a6c3af03f09e6492e8b48"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html#a35b874e6fa5a6c3af03f09e6492e8b48">celix_dm_service_dependency_callback_options::swap</a></div><div class="ttdeci">celix_dm_service_swap_fp swap</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:49</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html_a84e8cecdb9dd19f072d1b9c28fa95c8b"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html#a84e8cecdb9dd19f072d1b9c28fa95c8b">celix_dm_service_dependency_callback_options::set</a></div><div class="ttdeci">celix_dm_service_update_fp set</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:46</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a588b147bec75a501fac3b35076fc98a3"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a588b147bec75a501fac3b35076fc98a3">celix_dmServiceDependency_create</a></div><div class="ttdeci">celix_dm_service_dependency_t * celix_dmServiceDependency_create(void)</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html_a286bb094f7e4b4a9066e9b235aa8ade9"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html#a286bb094f7e4b4a9066e9b235aa8ade9">celix_dm_service_dependency_callback_options::setWithProps</a></div><div class="ttdeci">celix_dm_service_update_with_props_fp setWithProps</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:51</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html_a5cf7a8e9026d08803798c70cb6a30330"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html#a5cf7a8e9026d08803798c70cb6a30330">celix_dm_service_dependency_callback_options::addWithProps</a></div><div class="ttdeci">celix_dm_service_update_with_props_fp addWithProps</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:52</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a0b84d9164563664da40491151f7d7131"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a0b84d9164563664da40491151f7d7131">celix_dmServiceDependency_createInfo</a></div><div class="ttdeci">dm_service_dependency_info_t * celix_dmServiceDependency_createInfo(celix_dm_service_dependency_t *dep)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a80a698d57b244ab54ffad631a41ae88ca6c94c0c92189ea864b218b45d2526db1"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88ca6c94c0c92189ea864b218b45d2526db1">DM_SERVICE_DEPENDENCY_STRATEGY_LOCKING</a></div><div class="ttdeci">@ DM_SERVICE_DEPENDENCY_STRATEGY_LOCKING</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:35</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a6b4b49e1cbd6865c5dc14e94086f629f"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a6b4b49e1cbd6865c5dc14e94086f629f">celix_dm_service_swap_with_props_fp</a></div><div class="ttdeci">int(* celix_dm_service_swap_with_props_fp)(void *handle, void *oldService, void *newService, const celix_properties_t *newProps)</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:43</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a3aab7f5d65c74eb819047e5ec1f4c05f"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a3aab7f5d65c74eb819047e5ec1f4c05f">celix_dm_service_update_fp</a></div><div class="ttdeci">int(* celix_dm_service_update_fp)(void *handle, void *service)</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:39</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a0c33bcf502f8683bce3cf382c4bdc76a"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a0c33bcf502f8683bce3cf382c4bdc76a">celix_dmServiceDependency_setRequired</a></div><div class="ttdeci">celix_status_t celix_dmServiceDependency_setRequired(celix_dm_service_dependency_t *dependency, bool required)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_acb96da27c0087a05d885b0f55756de8a"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#acb96da27c0087a05d885b0f55756de8a">celix_dmServiceDependency_destroyInfo</a></div><div class="ttdeci">void celix_dmServiceDependency_destroyInfo(celix_dm_service_dependency_t *dep, dm_service_dependency_info_t *info)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_afb8ee50fcfc77f274578d85a70bb2b94"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#afb8ee50fcfc77f274578d85a70bb2b94">celix_dm_service_update_with_props_fp</a></div><div class="ttdeci">int(* celix_dm_service_update_with_props_fp)(void *handle, void *service, const celix_properties_t *props)</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:42</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a9aec79471c46aecc7412523fe839e549"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a9aec79471c46aecc7412523fe839e549">celix_dmServiceDependency_setAddCLanguageFilter</a></div><div class="ttdeci">celix_status_t celix_dmServiceDependency_setAddCLanguageFilter(celix_dm_service_dependency_t *dependency, bool addCLangFilter)</div></div>
<div class="ttc" id="astructcelix__dm__service__dependency__callback__options_html"><div class="ttname"><a href="structcelix__dm__service__dependency__callback__options.html">celix_dm_service_dependency_callback_options</a></div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:45</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a9bdfec7b27301bd71dd4f45fcdd11568"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a9bdfec7b27301bd71dd4f45fcdd11568">celix_dmServiceDependency_setCallbackWithProperties</a></div><div class="ttdeci">celix_status_t celix_dmServiceDependency_setCallbackWithProperties(celix_dm_service_dependency_t *dependency, celix_dm_service_update_with_props_fp set)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a80a698d57b244ab54ffad631a41ae88caf4c6748a0a1d0e04997c11847c737428"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a80a698d57b244ab54ffad631a41ae88caf4c6748a0a1d0e04997c11847c737428">DM_SERVICE_DEPENDENCY_STRATEGY_SUSPEND</a></div><div class="ttdeci">@ DM_SERVICE_DEPENDENCY_STRATEGY_SUSPEND</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:36</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a8a77266cc94a0f019b29d75a8e54995d"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a8a77266cc94a0f019b29d75a8e54995d">celix_dm_service_swap_fp</a></div><div class="ttdeci">int(* celix_dm_service_swap_fp)(void *handle, void *oldService, void *newService)</div><div class="ttdef"><b>Definition:</b> celix_dm_service_dependency.h:40</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a00447f0e837918fcf6e39698ef375f46"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a00447f0e837918fcf6e39698ef375f46">celix_dm_service_dependency_strategy_t</a></div><div class="ttdeci">enum celix_dm_service_dependency_strategy_enum celix_dm_service_dependency_strategy_t</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_aebe0669933d37f9fd1c3fdc873127d78"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#aebe0669933d37f9fd1c3fdc873127d78">celix_dmServiceDependency_setCallbackHandle</a></div><div class="ttdeci">celix_status_t celix_dmServiceDependency_setCallbackHandle(celix_dm_service_dependency_t *dependency, void *handle)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a8365396c6363ad98b66725243f97f8ea"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a8365396c6363ad98b66725243f97f8ea">celix_dmServiceDependency_getStrategy</a></div><div class="ttdeci">celix_dm_service_dependency_strategy_t celix_dmServiceDependency_getStrategy(celix_dm_service_dependency_t *dependency)</div></div>
<div class="ttc" id="acelix__dm__service__dependency_8h_html_a31898ef1ad5f9695dc85a24202020ebe"><div class="ttname"><a href="celix__dm__service__dependency_8h.html#a31898ef1ad5f9695dc85a24202020ebe">celix_dmServiceDependency_setCallbacksWithOptions</a></div><div class="ttdeci">celix_status_t celix_dmServiceDependency_setCallbacksWithOptions(celix_dm_service_dependency_t *dependency, const celix_dm_service_dependency_callback_options_t *opts)</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>