Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 12d0f975c6c7fa7093d99077a80c5759 > files > 9

airrac-doc-0.2.1-1.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
		  "http://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 name="robots" content="index,follow"/>
	<title>AirRAC: airrac/service/AIRRAC_Service.cpp Source File</title>
	<link rel="shortcut icon" href="favicon.ico">
	<link href="tabs.css" rel="stylesheet" type="text/css"/>
	<link href="airrac.css" rel="stylesheet" type="text/css"/>
	<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
	<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-24983440-1']);
	  _gaq.push(['_setDomainName', 'none']);
	  _gaq.push(['_setAllowLinker', true]);
	  _gaq.push(['_trackPageview']);
	  (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
  </head>

  <body>
	<div id="top"><!-- do not remove this div! -->
	  
	  <div id="titlearea">
		<table width="100%">
		  <tbody>
			<tr style="height: 56px;">
			  
			  <td style="padding-left: 0.5em;">
				<div id="projectname"><a href="http://airrac.sourceforge.net"><img height="45px" alt="AirRAC Logo" src="airrac_logo.png"></a>
				  
				  &#160;<span id="projectnumber">0.2.1</span>
				  
				</div>
				
				<div id="projectbrief">C++ Simulated Revenue Accounting (RAC) System Library</div>
				
			  </td>
			  
			  

			  <!-- begin SOURCEFORGE_CUSTOM-->
			  <td>
				<div id="sflogo"><a href="http://airrac.sourceforge.net"><img height="45px" alt="SourceForge Logo" src="sfx_logo.png"></a></div>
			  </td>
			  <!-- end SOURCEFORGE_CUSTOM-->

			  
			</tr>
		  </tbody>
		</table>
	  </div>
	  

<!-- Generated by Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('AIRRAC__Service_8cpp.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">AIRRAC_Service.cpp</div>  </div>
</div>
<div class="contents">
<a href="AIRRAC__Service_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00002"></a>00002 <span class="comment">// Import section</span>
<a name="l00003"></a>00003 <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00004"></a>00004 <span class="comment">// STL</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;cassert&gt;</span>
<a name="l00006"></a>00006 <span class="comment">// Boost</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;boost/make_shared.hpp&gt;</span>
<a name="l00008"></a>00008 <span class="comment">// StdAir</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;stdair/basic/BasChronometer.hpp&gt;</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;stdair/bom/BomDisplay.hpp&gt;</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;stdair/service/Logger.hpp&gt;</span>
<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;stdair/STDAIR_Service.hpp&gt;</span>
<a name="l00013"></a>00013 <span class="comment">// Airrac</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="BasConst__AIRRAC__Service_8hpp.html">airrac/basic/BasConst_AIRRAC_Service.hpp</a>&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="FacAirracServiceContext_8hpp.html">airrac/factory/FacAirracServiceContext.hpp</a>&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="YieldParser_8hpp.html">airrac/command/YieldParser.hpp</a>&gt;</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="YieldManager_8hpp.html">airrac/command/YieldManager.hpp</a>&gt;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="AIRRAC__ServiceContext_8hpp.html">airrac/service/AIRRAC_ServiceContext.hpp</a>&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="AIRRAC__Service_8hpp.html">airrac/AIRRAC_Service.hpp</a>&gt;</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="keyword">namespace </span>AIRRAC {
<a name="l00022"></a>00022 
<a name="l00023"></a>00023   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00024"></a>00024   AIRRAC_Service::AIRRAC_Service() : _airracServiceContext (NULL) {
<a name="l00025"></a>00025     assert (<span class="keyword">false</span>);
<a name="l00026"></a>00026   }
<a name="l00027"></a>00027 
<a name="l00028"></a>00028   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00029"></a>00029   AIRRAC_Service::AIRRAC_Service (<span class="keyword">const</span> AIRRAC_Service&amp; iService) {
<a name="l00030"></a>00030     assert (<span class="keyword">false</span>);
<a name="l00031"></a>00031   }
<a name="l00032"></a>00032 
<a name="l00033"></a>00033   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00034"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a77eac1b9b24021e58761df3f9136d33d">00034</a>   AIRRAC_Service::AIRRAC_Service (<span class="keyword">const</span> stdair::BasLogParams&amp; iLogParams)
<a name="l00035"></a>00035     : _airracServiceContext (NULL) {
<a name="l00036"></a>00036     
<a name="l00037"></a>00037     <span class="comment">// Initialise the STDAIR service handler</span>
<a name="l00038"></a>00038     stdair::STDAIR_ServicePtr_T lSTDAIR_Service_ptr =
<a name="l00039"></a>00039       initStdAirService (iLogParams);
<a name="l00040"></a>00040     
<a name="l00041"></a>00041     <span class="comment">// Initialise the service context</span>
<a name="l00042"></a>00042     initServiceContext();
<a name="l00043"></a>00043 
<a name="l00044"></a>00044     <span class="comment">// Add the StdAir service context to the AIRRAC service context</span>
<a name="l00045"></a>00045     <span class="comment">// \note AIRRAC owns the STDAIR service resources here.</span>
<a name="l00046"></a>00046     <span class="keyword">const</span> <span class="keywordtype">bool</span> ownStdairService = <span class="keyword">true</span>;
<a name="l00047"></a>00047     addStdAirService (lSTDAIR_Service_ptr, ownStdairService);
<a name="l00048"></a>00048     
<a name="l00049"></a>00049     <span class="comment">// Initialise the (remaining of the) context</span>
<a name="l00050"></a>00050     initAirracService();
<a name="l00051"></a>00051   }
<a name="l00052"></a>00052 
<a name="l00053"></a>00053   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00054"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a3d90e9fa927cf7053e6b311943de5d0d">00054</a>   AIRRAC_Service::AIRRAC_Service (<span class="keyword">const</span> stdair::BasLogParams&amp; iLogParams,
<a name="l00055"></a>00055                                   <span class="keyword">const</span> stdair::BasDBParams&amp; iDBParams)
<a name="l00056"></a>00056     : _airracServiceContext (NULL) {
<a name="l00057"></a>00057     
<a name="l00058"></a>00058     <span class="comment">// Initialise the STDAIR service handler</span>
<a name="l00059"></a>00059     stdair::STDAIR_ServicePtr_T lSTDAIR_Service_ptr =
<a name="l00060"></a>00060       initStdAirService (iLogParams, iDBParams);
<a name="l00061"></a>00061     
<a name="l00062"></a>00062     <span class="comment">// Initialise the service context</span>
<a name="l00063"></a>00063     initServiceContext();
<a name="l00064"></a>00064 
<a name="l00065"></a>00065     <span class="comment">// Add the StdAir service context to the AIRRAC service context</span>
<a name="l00066"></a>00066     <span class="comment">// \note AIRRAC owns the STDAIR service resources here.</span>
<a name="l00067"></a>00067     <span class="keyword">const</span> <span class="keywordtype">bool</span> ownStdairService = <span class="keyword">true</span>;
<a name="l00068"></a>00068     addStdAirService (lSTDAIR_Service_ptr, ownStdairService);
<a name="l00069"></a>00069     
<a name="l00070"></a>00070     <span class="comment">// Initialise the (remaining of the) context</span>
<a name="l00071"></a>00071     initAirracService();
<a name="l00072"></a>00072   }
<a name="l00073"></a>00073 
<a name="l00074"></a>00074   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00075"></a>00075   AIRRAC_Service::
<a name="l00076"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a7af9a8a3d16d3e584c5fd5477ee8b333">00076</a>   AIRRAC_Service (stdair::STDAIR_ServicePtr_T ioSTDAIR_Service_ptr)
<a name="l00077"></a>00077     : _airracServiceContext (NULL) {
<a name="l00078"></a>00078 
<a name="l00079"></a>00079     <span class="comment">// Initialise the service context</span>
<a name="l00080"></a>00080     initServiceContext();
<a name="l00081"></a>00081 
<a name="l00082"></a>00082     <span class="comment">// Store the STDAIR service object within the (AIRRAC) service context</span>
<a name="l00083"></a>00083     <span class="comment">// \note Airrac does not own the STDAIR service resources here.</span>
<a name="l00084"></a>00084     <span class="keyword">const</span> <span class="keywordtype">bool</span> doesNotOwnStdairService = <span class="keyword">false</span>;
<a name="l00085"></a>00085     addStdAirService (ioSTDAIR_Service_ptr, doesNotOwnStdairService);
<a name="l00086"></a>00086     
<a name="l00087"></a>00087     <span class="comment">// Initialise the context</span>
<a name="l00088"></a>00088     initAirracService();
<a name="l00089"></a>00089   }
<a name="l00090"></a>00090 
<a name="l00091"></a>00091   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00092"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a9026376696291b107c91daa037afca8e">00092</a>   <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a9026376696291b107c91daa037afca8e">AIRRAC_Service::~AIRRAC_Service</a>() {
<a name="l00093"></a>00093     <span class="comment">// Delete/Clean all the objects from memory</span>
<a name="l00094"></a>00094     finalise();
<a name="l00095"></a>00095   }
<a name="l00096"></a>00096   
<a name="l00097"></a>00097   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00098"></a>00098   <span class="keywordtype">void</span> AIRRAC_Service::finalise() {
<a name="l00099"></a>00099     assert (_airracServiceContext != NULL);
<a name="l00100"></a>00100     <span class="comment">// Reset the (Boost.)Smart pointer pointing on the STDAIR_Service object.</span>
<a name="l00101"></a>00101     _airracServiceContext-&gt;reset();
<a name="l00102"></a>00102   }
<a name="l00103"></a>00103 
<a name="l00104"></a>00104   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00105"></a>00105   <span class="keywordtype">void</span> AIRRAC_Service::initServiceContext() {
<a name="l00106"></a>00106     <span class="comment">// Initialise the service context</span>
<a name="l00107"></a>00107     AIRRAC_ServiceContext&amp; lAIRRAC_ServiceContext = 
<a name="l00108"></a>00108       <a class="code" href="classAIRRAC_1_1FacAirracServiceContext.html#aea5dcf03ba01699f7836086f1cf48e0a">FacAirracServiceContext::instance</a>().create();
<a name="l00109"></a>00109     _airracServiceContext = &amp;lAIRRAC_ServiceContext;
<a name="l00110"></a>00110   }
<a name="l00111"></a>00111 
<a name="l00112"></a>00112   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00113"></a>00113   stdair::STDAIR_ServicePtr_T AIRRAC_Service::
<a name="l00114"></a>00114   initStdAirService (<span class="keyword">const</span> stdair::BasLogParams&amp; iLogParams,
<a name="l00115"></a>00115                      <span class="keyword">const</span> stdair::BasDBParams&amp; iDBParams) {
<a name="l00116"></a>00116 
<a name="l00124"></a>00124     stdair::STDAIR_ServicePtr_T lSTDAIR_Service_ptr = 
<a name="l00125"></a>00125       boost::make_shared&lt;stdair::STDAIR_Service&gt; (iLogParams, iDBParams);
<a name="l00126"></a>00126     
<a name="l00127"></a>00127     <span class="keywordflow">return</span> lSTDAIR_Service_ptr;
<a name="l00128"></a>00128 
<a name="l00129"></a>00129   }
<a name="l00130"></a>00130   
<a name="l00131"></a>00131   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00132"></a>00132   stdair::STDAIR_ServicePtr_T AIRRAC_Service::
<a name="l00133"></a>00133   initStdAirService (<span class="keyword">const</span> stdair::BasLogParams&amp; iLogParams) {
<a name="l00134"></a>00134 
<a name="l00142"></a>00142     stdair::STDAIR_ServicePtr_T lSTDAIR_Service_ptr = 
<a name="l00143"></a>00143       boost::make_shared&lt;stdair::STDAIR_Service&gt; (iLogParams);
<a name="l00144"></a>00144     
<a name="l00145"></a>00145     <span class="keywordflow">return</span> lSTDAIR_Service_ptr;
<a name="l00146"></a>00146   }
<a name="l00147"></a>00147   
<a name="l00148"></a>00148   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00149"></a>00149   <span class="keywordtype">void</span> AIRRAC_Service::
<a name="l00150"></a>00150   addStdAirService (stdair::STDAIR_ServicePtr_T ioSTDAIR_Service_ptr,
<a name="l00151"></a>00151                     <span class="keyword">const</span> <span class="keywordtype">bool</span> iOwnStdairService) {
<a name="l00152"></a>00152 
<a name="l00153"></a>00153     <span class="comment">// Retrieve the Airrac service context</span>
<a name="l00154"></a>00154     assert (_airracServiceContext != NULL);
<a name="l00155"></a>00155     AIRRAC_ServiceContext&amp; lAIRRAC_ServiceContext = *_airracServiceContext;
<a name="l00156"></a>00156 
<a name="l00157"></a>00157     <span class="comment">// Store the STDAIR service object within the (AIRRAC) service context</span>
<a name="l00158"></a>00158     lAIRRAC_ServiceContext.setSTDAIR_Service (ioSTDAIR_Service_ptr,
<a name="l00159"></a>00159                                               iOwnStdairService);
<a name="l00160"></a>00160   }
<a name="l00161"></a>00161   
<a name="l00162"></a>00162   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00163"></a>00163   <span class="keywordtype">void</span> AIRRAC_Service::initAirracService() {
<a name="l00164"></a>00164     <span class="comment">// Do nothing at this stage. A sample BOM tree may be built by</span>
<a name="l00165"></a>00165     <span class="comment">// calling the buildSampleBom() method</span>
<a name="l00166"></a>00166   }
<a name="l00167"></a>00167   
<a name="l00168"></a>00168   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00169"></a>00169   <span class="keywordtype">void</span> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a6160821dd3f1d7615f4d40fe05fb0a3c">AIRRAC_Service::</a>
<a name="l00170"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a6160821dd3f1d7615f4d40fe05fb0a3c">00170</a> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a6160821dd3f1d7615f4d40fe05fb0a3c">  parseAndLoad</a> (<span class="keyword">const</span> <a class="code" href="classAIRRAC_1_1YieldFilePath.html">YieldFilePath</a>&amp; iYieldFilename) {
<a name="l00171"></a>00171 
<a name="l00172"></a>00172     <span class="comment">// Retrieve the BOM root object.</span>
<a name="l00173"></a>00173     assert (_airracServiceContext != NULL);
<a name="l00174"></a>00174     <a class="code" href="classAIRRAC_1_1AIRRAC__ServiceContext.html" title="Inner class holding the context for the AIRRAC Service object.">AIRRAC_ServiceContext</a>&amp; lAIRRAC_ServiceContext = *_airracServiceContext;
<a name="l00175"></a>00175     stdair::STDAIR_Service&amp; lSTDAIR_Service =
<a name="l00176"></a>00176       lAIRRAC_ServiceContext.getSTDAIR_Service();
<a name="l00177"></a>00177     stdair::BomRoot&amp; lBomRoot = lSTDAIR_Service.getBomRoot();
<a name="l00178"></a>00178     
<a name="l00179"></a>00179     <span class="comment">// Initialise the airline inventories</span>
<a name="l00180"></a>00180     <a class="code" href="classAIRRAC_1_1YieldParser.html#a9a68b26f86fbaeba7e4be87e02f2a2e0">YieldParser::generateYieldStore</a> (iYieldFilename, lBomRoot);
<a name="l00181"></a>00181   }
<a name="l00182"></a>00182 
<a name="l00183"></a>00183   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00184"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a03d65f3cac0fb488ae3d309f09d76bff">00184</a>   <span class="keywordtype">void</span> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a03d65f3cac0fb488ae3d309f09d76bff">AIRRAC_Service::buildSampleBom</a>() {
<a name="l00185"></a>00185 
<a name="l00186"></a>00186     <span class="comment">// Retrieve the AirRAC service context</span>
<a name="l00187"></a>00187     <span class="keywordflow">if</span> (_airracServiceContext == NULL) {
<a name="l00188"></a>00188       <span class="keywordflow">throw</span> stdair::NonInitialisedServiceException (<span class="stringliteral">&quot;The AirRAC service has not&quot;</span>
<a name="l00189"></a>00189                                                     <span class="stringliteral">&quot; been initialised&quot;</span>);
<a name="l00190"></a>00190     }
<a name="l00191"></a>00191     assert (_airracServiceContext != NULL);
<a name="l00192"></a>00192 
<a name="l00193"></a>00193     <span class="comment">// Retrieve the AirRAC service context and whether it owns the Stdair</span>
<a name="l00194"></a>00194     <span class="comment">// service</span>
<a name="l00195"></a>00195     <a class="code" href="classAIRRAC_1_1AIRRAC__ServiceContext.html" title="Inner class holding the context for the AIRRAC Service object.">AIRRAC_ServiceContext</a>&amp; lAIRRAC_ServiceContext = *_airracServiceContext;
<a name="l00196"></a>00196     <span class="keyword">const</span> <span class="keywordtype">bool</span> doesOwnStdairService =
<a name="l00197"></a>00197       lAIRRAC_ServiceContext.getOwnStdairServiceFlag();
<a name="l00198"></a>00198 
<a name="l00199"></a>00199     <span class="comment">// Retrieve the StdAir service object from the (AirRAC) service context</span>
<a name="l00200"></a>00200     stdair::STDAIR_Service&amp; lSTDAIR_Service =
<a name="l00201"></a>00201       lAIRRAC_ServiceContext.getSTDAIR_Service();
<a name="l00202"></a>00202 
<a name="l00207"></a>00207     <span class="keywordflow">if</span> (doesOwnStdairService == <span class="keyword">true</span>) {
<a name="l00208"></a>00208       <span class="comment">//</span>
<a name="l00209"></a>00209       lSTDAIR_Service.buildSampleBom();
<a name="l00210"></a>00210     }
<a name="l00211"></a>00211 
<a name="l00227"></a>00227   }
<a name="l00228"></a>00228 
<a name="l00229"></a>00229   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00230"></a>00230   <span class="keywordtype">void</span> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a4926ec141f0f069e769396e136759761">AIRRAC_Service::</a>
<a name="l00231"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a4926ec141f0f069e769396e136759761">00231</a> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a4926ec141f0f069e769396e136759761">  buildSampleTravelSolutions</a>(stdair::TravelSolutionList_T&amp; ioTravelSolutionList){
<a name="l00232"></a>00232 
<a name="l00233"></a>00233     <span class="comment">// Retrieve the AIRRAC service context</span>
<a name="l00234"></a>00234     <span class="keywordflow">if</span> (_airracServiceContext == NULL) {
<a name="l00235"></a>00235       <span class="keywordflow">throw</span> stdair::NonInitialisedServiceException (<span class="stringliteral">&quot;The AirRAC service has not&quot;</span>
<a name="l00236"></a>00236                                                     <span class="stringliteral">&quot; been initialised&quot;</span>);
<a name="l00237"></a>00237     }
<a name="l00238"></a>00238     assert (_airracServiceContext != NULL);
<a name="l00239"></a>00239 
<a name="l00240"></a>00240     <a class="code" href="classAIRRAC_1_1AIRRAC__ServiceContext.html" title="Inner class holding the context for the AIRRAC Service object.">AIRRAC_ServiceContext</a>&amp; lAIRRAC_ServiceContext = *_airracServiceContext;
<a name="l00241"></a>00241   
<a name="l00242"></a>00242     <span class="comment">// Retrieve the STDAIR service object from the (AirRAC) service context</span>
<a name="l00243"></a>00243     stdair::STDAIR_Service&amp; lSTDAIR_Service =
<a name="l00244"></a>00244       lAIRRAC_ServiceContext.getSTDAIR_Service();
<a name="l00245"></a>00245 
<a name="l00246"></a>00246     <span class="comment">// Delegate the BOM building to the dedicated service</span>
<a name="l00247"></a>00247     lSTDAIR_Service.buildSampleTravelSolutions (ioTravelSolutionList);
<a name="l00248"></a>00248   }
<a name="l00249"></a>00249 
<a name="l00250"></a>00250   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00251"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#af5ac937a8b6fad7a8a552e2ba321db27">00251</a>   std::string <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#af5ac937a8b6fad7a8a552e2ba321db27">AIRRAC_Service::csvDisplay</a>()<span class="keyword"> const </span>{
<a name="l00252"></a>00252 
<a name="l00253"></a>00253     <span class="comment">// Retrieve the AIRRAC service context</span>
<a name="l00254"></a>00254     <span class="keywordflow">if</span> (_airracServiceContext == NULL) {
<a name="l00255"></a>00255       <span class="keywordflow">throw</span> stdair::NonInitialisedServiceException (<span class="stringliteral">&quot;The Airrac service &quot;</span>
<a name="l00256"></a>00256                                                     <span class="stringliteral">&quot;has not been initialised&quot;</span>);
<a name="l00257"></a>00257     }
<a name="l00258"></a>00258     assert (_airracServiceContext != NULL);
<a name="l00259"></a>00259 
<a name="l00260"></a>00260     <a class="code" href="classAIRRAC_1_1AIRRAC__ServiceContext.html" title="Inner class holding the context for the AIRRAC Service object.">AIRRAC_ServiceContext</a>&amp; lAIRRAC_ServiceContext = *_airracServiceContext;
<a name="l00261"></a>00261   
<a name="l00262"></a>00262     <span class="comment">// Retrieve the STDAIR service object from the (Airrac) service context</span>
<a name="l00263"></a>00263     stdair::STDAIR_Service&amp; lSTDAIR_Service =
<a name="l00264"></a>00264       lAIRRAC_ServiceContext.getSTDAIR_Service();
<a name="l00265"></a>00265 
<a name="l00266"></a>00266     <span class="comment">// Get the root of the BOM tree, on which all of the other BOM objects</span>
<a name="l00267"></a>00267     <span class="comment">// are attached</span>
<a name="l00268"></a>00268     stdair::BomRoot&amp; lBomRoot = lSTDAIR_Service.getBomRoot();
<a name="l00269"></a>00269 
<a name="l00270"></a>00270     <span class="comment">// Delegate the BOM display to the dedicated service</span>
<a name="l00271"></a>00271     std::ostringstream oCSVStr;
<a name="l00272"></a>00272     stdair::BomDisplay::csvSimFQTAirRACDisplay (oCSVStr, lBomRoot);
<a name="l00273"></a>00273     <span class="keywordflow">return</span> oCSVStr.str();
<a name="l00274"></a>00274     
<a name="l00275"></a>00275   }
<a name="l00276"></a>00276 
<a name="l00277"></a>00277   <span class="comment">// //////////////////////////////////////////////////////////////////////</span>
<a name="l00278"></a>00278   std::string <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#af5ac937a8b6fad7a8a552e2ba321db27">AIRRAC_Service::</a>
<a name="l00279"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#a9428368e890ac7feb489fcc9d284fd99">00279</a> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#af5ac937a8b6fad7a8a552e2ba321db27">  csvDisplay</a> (<span class="keyword">const</span> stdair::TravelSolutionList_T&amp; ioTravelSolutionList)<span class="keyword"> const </span>{
<a name="l00280"></a>00280 
<a name="l00281"></a>00281     <span class="comment">// Retrieve the AirRAC service context</span>
<a name="l00282"></a>00282     <span class="keywordflow">if</span> (_airracServiceContext == NULL) {
<a name="l00283"></a>00283       <span class="keywordflow">throw</span> stdair::NonInitialisedServiceException (<span class="stringliteral">&quot;The AirRAC service has not&quot;</span>
<a name="l00284"></a>00284                                                     <span class="stringliteral">&quot; been initialised&quot;</span>);
<a name="l00285"></a>00285     }
<a name="l00286"></a>00286     assert (_airracServiceContext != NULL);
<a name="l00287"></a>00287 
<a name="l00288"></a>00288     <span class="comment">// Retrieve the AirRAC service context</span>
<a name="l00289"></a>00289     <a class="code" href="classAIRRAC_1_1AIRRAC__ServiceContext.html" title="Inner class holding the context for the AIRRAC Service object.">AIRRAC_ServiceContext</a>&amp; lAIRRAC_ServiceContext = *_airracServiceContext;
<a name="l00290"></a>00290   
<a name="l00291"></a>00291     <span class="comment">// Retrieve the STDAIR service object from the (AirRAC) service context</span>
<a name="l00292"></a>00292     stdair::STDAIR_Service&amp; lSTDAIR_Service =
<a name="l00293"></a>00293       lAIRRAC_ServiceContext.getSTDAIR_Service();
<a name="l00294"></a>00294 
<a name="l00295"></a>00295     <span class="comment">// Delegate the BOM building to the dedicated service</span>
<a name="l00296"></a>00296     <span class="keywordflow">return</span> lSTDAIR_Service.csvDisplay (ioTravelSolutionList);
<a name="l00297"></a>00297   }
<a name="l00298"></a>00298 
<a name="l00299"></a>00299   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00300"></a>00300   <span class="keywordtype">void</span> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#ad27f8f3e426ad14e5601969bcad3dfd4">AIRRAC_Service::</a>
<a name="l00301"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#ad27f8f3e426ad14e5601969bcad3dfd4">00301</a> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#ad27f8f3e426ad14e5601969bcad3dfd4">  calculateYields</a> (stdair::TravelSolutionList_T&amp; ioTravelSolutionList) {
<a name="l00302"></a>00302     
<a name="l00303"></a>00303     <span class="comment">// Retrieve the Airrac service context</span>
<a name="l00304"></a>00304     <span class="keywordflow">if</span> (_airracServiceContext == NULL) {
<a name="l00305"></a>00305       <span class="keywordflow">throw</span> stdair::NonInitialisedServiceException (<span class="stringliteral">&quot;The AirRAC service has not&quot;</span>
<a name="l00306"></a>00306                                                     <span class="stringliteral">&quot; been initialised&quot;</span>);
<a name="l00307"></a>00307     }
<a name="l00308"></a>00308     assert (_airracServiceContext != NULL);
<a name="l00309"></a>00309     <a class="code" href="classAIRRAC_1_1AIRRAC__ServiceContext.html" title="Inner class holding the context for the AIRRAC Service object.">AIRRAC_ServiceContext</a>&amp; lAIRRAC_ServiceContext = *_airracServiceContext;
<a name="l00310"></a>00310 
<a name="l00311"></a>00311     <span class="comment">// Retrieve the StdAir service context</span>
<a name="l00312"></a>00312     stdair::STDAIR_Service&amp; lSTDAIR_Service =
<a name="l00313"></a>00313       lAIRRAC_ServiceContext.getSTDAIR_Service();
<a name="l00314"></a>00314     
<a name="l00315"></a>00315     <span class="comment">// Get the root of the BOM tree, on which all of the other BOM objects</span>
<a name="l00316"></a>00316     <span class="comment">// will be attached</span>
<a name="l00317"></a>00317     stdair::BomRoot&amp; lBomRoot = lSTDAIR_Service.getBomRoot();
<a name="l00318"></a>00318 
<a name="l00319"></a>00319     <span class="comment">// Delegate the booking to the dedicated command: set the yields</span>
<a name="l00320"></a>00320     <span class="comment">// for each travel solution of the given list</span>
<a name="l00321"></a>00321     stdair::BasChronometer lYieldChronometer;
<a name="l00322"></a>00322     lYieldChronometer.start();
<a name="l00323"></a>00323     YieldManager::calculateYield (ioTravelSolutionList, lBomRoot);
<a name="l00324"></a>00324     <span class="keyword">const</span> <span class="keywordtype">double</span> lYieldMeasure = lYieldChronometer.elapsed();
<a name="l00325"></a>00325 
<a name="l00326"></a>00326     <span class="comment">// DEBUG</span>
<a name="l00327"></a>00327     STDAIR_LOG_DEBUG (<span class="stringliteral">&quot;Yield calculation: &quot;</span> &lt;&lt; lYieldMeasure &lt;&lt; <span class="stringliteral">&quot; - &quot;</span>
<a name="l00328"></a>00328                       &lt;&lt; lAIRRAC_ServiceContext.display());
<a name="l00329"></a>00329   }
<a name="l00330"></a>00330 
<a name="l00331"></a>00331   <span class="comment">// ////////////////////////////////////////////////////////////////////</span>
<a name="l00332"></a><a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#abb6a17d042a47b961fcafccfa0ffe58e">00332</a>   <span class="keywordtype">void</span> <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#abb6a17d042a47b961fcafccfa0ffe58e">AIRRAC_Service::updateYields</a> () {
<a name="l00333"></a>00333     <span class="comment">// Retrieve the AirRAC service context</span>
<a name="l00334"></a>00334     assert (_airracServiceContext != NULL);
<a name="l00335"></a>00335     <a class="code" href="classAIRRAC_1_1AIRRAC__ServiceContext.html" title="Inner class holding the context for the AIRRAC Service object.">AIRRAC_ServiceContext</a>&amp; lAIRRAC_ServiceContext = *_airracServiceContext;
<a name="l00336"></a>00336 
<a name="l00337"></a>00337     <span class="comment">// Retrieve the StdAir service context</span>
<a name="l00338"></a>00338     stdair::STDAIR_Service&amp; lSTDAIR_Service =
<a name="l00339"></a>00339       lAIRRAC_ServiceContext.getSTDAIR_Service();
<a name="l00340"></a>00340     
<a name="l00341"></a>00341     <span class="comment">// Get the root of the BOM tree, on which all of the other BOM objects</span>
<a name="l00342"></a>00342     <span class="comment">// will be attached</span>
<a name="l00343"></a>00343     stdair::BomRoot&amp; lBomRoot = lSTDAIR_Service.getBomRoot();
<a name="l00344"></a>00344 
<a name="l00345"></a>00345     <span class="comment">// Update the default yields to the booking classes.</span>
<a name="l00346"></a>00346     <a class="code" href="classAIRRAC_1_1AIRRAC__Service.html#abb6a17d042a47b961fcafccfa0ffe58e">YieldManager::updateYields</a> (lBomRoot);
<a name="l00347"></a>00347   }
<a name="l00348"></a>00348 }
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="AIRRAC__Service_8cpp.html">AIRRAC_Service.cpp</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></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>

		
		<li class="footer">Generated on Wed Nov 2 2011 23:02:18 for AirRAC by
		  <a href="http://www.doxygen.org/index.html">
			<img class="footer" src="doxygen.png" alt="doxygen"/></a> 
		  1.7.4
		</li>
		<li class="footer">
		  <a href="http://sourceforge.net/projects/airrac"><img class="footer" src="http://sflogo.sourceforge.net/sflogo.php?group_id=317250&type=12&format=.png" alt="SourceForge Logo"></a>
		</li>
	  </ul>
	</div>
	

	
  </body>
</html>