📄 a00743.html
字号:
</div>
<div class="memdoc">
<p>
This function creates a <a class="el" href="a00746.html">TransportImpl</a> object using the specified <a class="el" href="a00747.html">TransportImplFactory</a> instance. See comments in definition section of this function.
</div>
</div><p>
<a class="anchor" name="a0841fa22ed206f9a1be9640acfa7058"></a><!-- doxytag: member="OpenDDS::DCPS::TransportFactory::get_configuration" ref="a0841fa22ed206f9a1be9640acfa7058" args="(TransportIdType transport_id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00639.html">OpenDDS::DCPS::TransportConfiguration_rch</a> OpenDDS::DCPS::TransportFactory::get_configuration </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a01275.html#3bc80074a988eec5e1def4a3d65906fa">TransportIdType</a> </td>
<td class="paramname"> <em>transport_id</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This interface is used when the transport_id is configured via the configuration file. In this case, the <a class="el" href="a00741.html">TransportConfiguration</a> object should be already registered as transport_id in the configuration_map_. If the configuration is not registered then an exception (<a class="el" href="a00587.html">Transport::NotConfigured</a>) is raised.
</div>
</div><p>
<a class="anchor" name="30ade038a804b71a88178835713e6cc4"></a><!-- doxytag: member="OpenDDS::DCPS::TransportFactory::get_or_create_configuration" ref="30ade038a804b71a88178835713e6cc4" args="(TransportIdType transport_id, ACE_TString transport_type)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00639.html">OpenDDS::DCPS::TransportConfiguration_rch</a> OpenDDS::DCPS::TransportFactory::get_or_create_configuration </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a01275.html#3bc80074a988eec5e1def4a3d65906fa">TransportIdType</a> </td>
<td class="paramname"> <em>transport_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ACE_TString </td>
<td class="paramname"> <em>transport_type</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This interface is the easiest way for user to get the <a class="el" href="a00741.html">TransportConfiguration</a> object without knowing whether the application is configured via a configuration file or not. Necessary conflict is checked in this method. If the transport_id is already configured and the transport type in the <a class="el" href="a00741.html">TransportConfiguration</a> object is different from provided transport_type then the an exception (<a class="el" href="a00487.html">Transport::ConfigurationConflict</a>) is raised.:
</div>
</div><p>
<a class="anchor" name="60918a703afb6e3b9cdd02efc995fabd"></a><!-- doxytag: member="OpenDDS::DCPS::TransportFactory::get_or_create_factory" ref="60918a703afb6e3b9cdd02efc995fabd" args="(FactoryIdType factory_id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00639.html">OpenDDS::DCPS::TransportImplFactory_rch</a> OpenDDS::DCPS::TransportFactory::get_or_create_factory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a01275.html#7fc8dc3a40aea1cebaa1ddb23585dc2d">FactoryIdType</a> </td>
<td class="paramname"> <em>factory_id</em> </td>
<td> ) </td>
<td width="100%"><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the previously created <a class="el" href="a00747.html">TransportImplFactory</a> object reference or create a new <a class="el" href="a00747.html">TransportImplFactory</a> object with factory_id. Note each type transport supports one instance of <a class="el" href="a00747.html">TransportImplFactory</a> in current implementation, so the factory_id is correspond to the transport_type.
</div>
</div><p>
<a class="anchor" name="43ca6c25a3a481b5c96626b2d59caabc"></a><!-- doxytag: member="OpenDDS::DCPS::TransportFactory::instance" ref="43ca6c25a3a481b5c96626b2d59caabc" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00743.html">OpenDDS::DCPS::TransportFactory</a> * OpenDDS::DCPS::TransportFactory::instance </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return a singleton instance of this class.
<p>
</div>
</div><p>
<a class="anchor" name="4f21b8de422270a3576e54fb30ff9000"></a><!-- doxytag: member="OpenDDS::DCPS::TransportFactory::load_transport_configuration" ref="4f21b8de422270a3576e54fb30ff9000" args="(ACE_Configuration_Heap &cf)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int OpenDDS::DCPS::TransportFactory::load_transport_configuration </td>
<td>(</td>
<td class="paramtype">ACE_Configuration_Heap & </td>
<td class="paramname"> <em>cf</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Transfer the configuration in ACE_Configuration_Heap object to the <a class="el" href="a00743.html">TransportFactory</a> object which uses hash map to cache those configuration. This is called by the <a class="el" href="a00675.html">Service_Participant</a> at initialization time. This function iterates each sections in the configuration file, if it's transport section then a <a class="el" href="a00741.html">TransportConfiguration</a> object is created and added to the configuration_map_.
</div>
</div><p>
<a class="anchor" name="342530e00ec4616f2c898b3bb9a462ae"></a><!-- doxytag: member="OpenDDS::DCPS::TransportFactory::obtain" ref="342530e00ec4616f2c898b3bb9a462ae" args="(TransportIdType impl_id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00639.html">OpenDDS::DCPS::TransportImpl_rch</a> OpenDDS::DCPS::TransportFactory::obtain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a01275.html#3bc80074a988eec5e1def4a3d65906fa">TransportIdType</a> </td>
<td class="paramname"> <em>impl_id</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Client application calls this to retrieve a previously create()'d <a class="el" href="a00746.html">TransportImpl</a> object, providing the <a class="el" href="a00746.html">TransportImpl</a> instance id to identify the particular <a class="el" href="a00746.html">TransportImpl</a> object to be returned.
</div>
</div><p>
<a class="anchor" name="043c5605d8513ada301eefeda7718467"></a><!-- doxytag: member="OpenDDS::DCPS::TransportFactory::register_configuration" ref="043c5605d8513ada301eefeda7718467" args="(TransportIdType transport_id, TransportConfiguration_rch config)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void OpenDDS::DCPS::TransportFactory::register_configuration </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a01275.html#3bc80074a988eec5e1def4a3d65906fa">TransportIdType</a> </td>
<td class="paramname"> <em>transport_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00639.html">TransportConfiguration_rch</a> </td>
<td class="paramname"> <em>config</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Bind the transport_id->TransportConfigInfo object to the configuration_map_.
<p>
</div>
</div><p>
<a class="anchor" name="9afe6df18d8f801b0cea25a06402aa40"></a><!-- doxytag: member="OpenDDS::DCPS::TransportFactory::register_factory" ref="9afe6df18d8f801b0cea25a06402aa40" args="(FactoryIdType factory_id, TransportImplFactory_rch impl_factory)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void OpenDDS::DCPS::TransportFactory::register_factory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a01275.html#7fc8dc3a40aea1cebaa1ddb23585dc2d">FactoryIdType</a> </td>
<td class="paramname"> <em>factory_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00639.html">TransportImplFactory_rch</a> </td>
<td class="paramname"> <em>factory</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -