|
112 | 112 | <div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span>{</div> |
113 | 113 | <div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">public</span>:</div> |
114 | 114 | <div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div> |
115 | | -<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="class_r_t_injector.html#a9fa3e0df657b37bd727abfc4943ba3fc"> 61</a></span> <span class="keyword">static</span> <a class="code hl_class" href="class_r_t_injector.html">RTInjector</a>& <a class="code hl_function" href="class_r_t_injector.html#a9fa3e0df657b37bd727abfc4943ba3fc">getInstance</a>() {</div> |
116 | | -<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <a class="code hl_class" href="class_r_t_injector.html">RTInjector</a> instance;</div> |
117 | | -<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span> instance;</div> |
118 | | -<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div> |
| 115 | +<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="class_r_t_injector.html#a9fa3e0df657b37bd727abfc4943ba3fc"> 61</a></span> <span class="keyword">static</span> <a class="code hl_class" href="class_r_t_injector.html">RTInjector</a>& <a class="code hl_function" href="class_r_t_injector.html#a9fa3e0df657b37bd727abfc4943ba3fc">getInstance</a>();</div> |
| 116 | +<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div> |
| 117 | +<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_class" href="class_r_t_injector.html">RTInjector</a>();</div> |
| 118 | +<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_class" href="class_r_t_injector.html">~RTInjector</a>();</div> |
119 | 119 | <div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div> |
120 | | -<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_class" href="class_r_t_injector.html">RTInjector</a>();</div> |
121 | | -<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_class" href="class_r_t_injector.html">~RTInjector</a>();</div> |
122 | | -<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div> |
123 | | -<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="class_r_t_injector.html#abb5d5a47f08b8e6b34e07d13abcfe38b"> 74</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_r_t_injector.html#abb5d5a47f08b8e6b34e07d13abcfe38b">registerCreateFunction</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>, std::function<<a class="code hl_class" href="class_r_t_actor.html">RTActor</a>* (<a class="code hl_class" href="class_r_t_controller.html">RTController</a> *, <a class="code hl_class" href="class_r_t_actor_ref.html">RTActorRef</a> *, <span class="keywordtype">int</span>)> createFunc);</div> |
124 | | -<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div> |
125 | | -<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="class_r_t_injector.html#aaa9b5ed1aada6e6fa00574b839cde6fe"> 81</a></span> std::function<<a class="code hl_class" href="class_r_t_actor.html">RTActor</a>* (<a class="code hl_class" href="class_r_t_controller.html">RTController</a> *, <a class="code hl_class" href="class_r_t_actor_ref.html">RTActorRef</a> *, int)> <a class="code hl_function" href="class_r_t_injector.html#aaa9b5ed1aada6e6fa00574b839cde6fe">getCreateFunction</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>);</div> |
126 | | -<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div> |
127 | | -<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="class_r_t_injector.html#a23f2c45bc802443918532174bc4708b0"> 92</a></span> <a class="code hl_class" href="class_r_t_actor.html">RTActor</a>* <a class="code hl_function" href="class_r_t_injector.html#a23f2c45bc802443918532174bc4708b0">create</a>(<a class="code hl_class" href="class_r_t_controller.html">RTController</a> *rts, <a class="code hl_class" href="class_r_t_actor_ref.html">RTActorRef</a> *ref, <span class="keywordtype">int</span> index);</div> |
| 120 | +<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="class_r_t_injector.html#abb5d5a47f08b8e6b34e07d13abcfe38b"> 71</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_r_t_injector.html#abb5d5a47f08b8e6b34e07d13abcfe38b">registerCreateFunction</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>, std::function<<a class="code hl_class" href="class_r_t_actor.html">RTActor</a>* (<a class="code hl_class" href="class_r_t_controller.html">RTController</a> *, <a class="code hl_class" href="class_r_t_actor_ref.html">RTActorRef</a> *, <span class="keywordtype">int</span>)> createFunc);</div> |
| 121 | +<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div> |
| 122 | +<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="class_r_t_injector.html#aaa9b5ed1aada6e6fa00574b839cde6fe"> 78</a></span> std::function<<a class="code hl_class" href="class_r_t_actor.html">RTActor</a>* (<a class="code hl_class" href="class_r_t_controller.html">RTController</a> *, <a class="code hl_class" href="class_r_t_actor_ref.html">RTActorRef</a> *, int)> <a class="code hl_function" href="class_r_t_injector.html#aaa9b5ed1aada6e6fa00574b839cde6fe">getCreateFunction</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>);</div> |
| 123 | +<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div> |
| 124 | +<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="class_r_t_injector.html#a23f2c45bc802443918532174bc4708b0"> 89</a></span> <a class="code hl_class" href="class_r_t_actor.html">RTActor</a>* <a class="code hl_function" href="class_r_t_injector.html#a23f2c45bc802443918532174bc4708b0">create</a>(<a class="code hl_class" href="class_r_t_controller.html">RTController</a> *rts, <a class="code hl_class" href="class_r_t_actor_ref.html">RTActorRef</a> *ref, <span class="keywordtype">int</span> index);</div> |
| 125 | +<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div> |
| 126 | +<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_class" href="class_r_t_injector.html">RTInjector</a>(<a class="code hl_class" href="class_r_t_injector.html">RTInjector</a> <span class="keyword">const</span>&) = <span class="keyword">delete</span>;</div> |
| 127 | +<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">void</span> operator=(<a class="code hl_class" href="class_r_t_injector.html">RTInjector</a> <span class="keyword">const</span>&) = <span class="keyword">delete</span>;</div> |
128 | 128 | <div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div> |
129 | | -<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_class" href="class_r_t_injector.html">RTInjector</a>(<a class="code hl_class" href="class_r_t_injector.html">RTInjector</a> <span class="keyword">const</span>&) = <span class="keyword">delete</span>;</div> |
130 | | -<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">void</span> operator=(<a class="code hl_class" href="class_r_t_injector.html">RTInjector</a> <span class="keyword">const</span>&) = <span class="keyword">delete</span>;</div> |
131 | | -<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div> |
132 | | -<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="keyword">private</span>:</div> |
133 | | -<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div> |
134 | | -<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> std::unordered_map<std::string, std::function<<a class="code hl_class" href="class_r_t_actor.html">RTActor</a>* (<a class="code hl_class" href="class_r_t_controller.html">RTController</a> *, <a class="code hl_class" href="class_r_t_actor_ref.html">RTActorRef</a> *, int)> > createFuncRegistry;</div> |
135 | | -<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor">#if USE_THREADS</span></div> |
136 | | -<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> RTMutex* _mutex;</div> |
137 | | -<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor">#endif</span></div> |
138 | | -<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div> |
139 | | -<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span>};</div> |
140 | | -<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div> |
141 | | -<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="preprocessor">#endif </span><span class="comment">// __RTInjector_h__</span></div> |
| 129 | +<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="keyword">private</span>:</div> |
| 130 | +<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div> |
| 131 | +<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> std::unordered_map<std::string, std::function<<a class="code hl_class" href="class_r_t_actor.html">RTActor</a>* (<a class="code hl_class" href="class_r_t_controller.html">RTController</a> *, <a class="code hl_class" href="class_r_t_actor_ref.html">RTActorRef</a> *, int)> > createFuncRegistry;</div> |
| 132 | +<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor">#if USE_THREADS</span></div> |
| 133 | +<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> RTMutex* _mutex;</div> |
| 134 | +<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor">#endif</span></div> |
| 135 | +<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div> |
| 136 | +<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span>};</div> |
| 137 | +<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div> |
| 138 | +<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor">#endif </span><span class="comment">// __RTInjector_h__</span></div> |
142 | 139 | <div class="ttc" id="aclass_r_t_actor_html"><div class="ttname"><a href="class_r_t_actor.html">RTActor</a></div><div class="ttdoc">An instance of this class represents a capsule instance.</div><div class="ttdef"><b>Definition:</b> RTActor.h:44</div></div> |
143 | 140 | <div class="ttc" id="aclass_r_t_actor_ref_html"><div class="ttname"><a href="class_r_t_actor_ref.html">RTActorRef</a></div><div class="ttdoc">Represents a capsule part.</div><div class="ttdef"><b>Definition:</b> RTActorRef.h:39</div></div> |
144 | 141 | <div class="ttc" id="aclass_r_t_controller_html"><div class="ttname"><a href="class_r_t_controller.html">RTController</a></div><div class="ttdoc">A controller manages a group of capsule instances that all run in the same physical thread (i....</div><div class="ttdef"><b>Definition:</b> RTController.h:54</div></div> |
145 | 142 | <div class="ttc" id="aclass_r_t_injector_html"><div class="ttname"><a href="class_r_t_injector.html">RTInjector</a></div><div class="ttdoc">Dependency injector for RT applications.</div><div class="ttdef"><b>Definition:</b> RTInjector.h:54</div></div> |
146 | 143 | <div class="ttc" id="aclass_r_t_injector_html_a23f2c45bc802443918532174bc4708b0"><div class="ttname"><a href="class_r_t_injector.html#a23f2c45bc802443918532174bc4708b0">RTInjector::create</a></div><div class="ttdeci">RTActor * create(RTController *rts, RTActorRef *ref, int index)</div><div class="ttdoc">Create a capsule instance.</div></div> |
147 | | -<div class="ttc" id="aclass_r_t_injector_html_a9fa3e0df657b37bd727abfc4943ba3fc"><div class="ttname"><a href="class_r_t_injector.html#a9fa3e0df657b37bd727abfc4943ba3fc">RTInjector::getInstance</a></div><div class="ttdeci">static RTInjector & getInstance()</div><div class="ttdoc">Access the singleton injector instance (created on first access)</div><div class="ttdef"><b>Definition:</b> RTInjector.h:61</div></div> |
| 144 | +<div class="ttc" id="aclass_r_t_injector_html_a9fa3e0df657b37bd727abfc4943ba3fc"><div class="ttname"><a href="class_r_t_injector.html#a9fa3e0df657b37bd727abfc4943ba3fc">RTInjector::getInstance</a></div><div class="ttdeci">static RTInjector & getInstance()</div><div class="ttdoc">Access the singleton injector instance (created on first access)</div></div> |
148 | 145 | <div class="ttc" id="aclass_r_t_injector_html_aaa9b5ed1aada6e6fa00574b839cde6fe"><div class="ttname"><a href="class_r_t_injector.html#aaa9b5ed1aada6e6fa00574b839cde6fe">RTInjector::getCreateFunction</a></div><div class="ttdeci">std::function< RTActor *(RTController *, RTActorRef *, int)> getCreateFunction(const std::string &id)</div><div class="ttdoc">Get a create function registered for incarnating capsule instances in a capsule part.</div></div> |
149 | 146 | <div class="ttc" id="aclass_r_t_injector_html_abb5d5a47f08b8e6b34e07d13abcfe38b"><div class="ttname"><a href="class_r_t_injector.html#abb5d5a47f08b8e6b34e07d13abcfe38b">RTInjector::registerCreateFunction</a></div><div class="ttdeci">void registerCreateFunction(const std::string &id, std::function< RTActor *(RTController *, RTActorRef *, int)> createFunc)</div><div class="ttdoc">Register a create function to be used for incarnating capsule instances in a capsule part.</div></div> |
150 | 147 | </div><!-- fragment --></div><!-- contents --> |
|
0 commit comments