<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!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 http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: CommandHandlerRegistry Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.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/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.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;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">20.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classarmnn_1_1profiling_1_1_command_handler_registry.xhtml','');});
</script>
<div id="doc-content">
<!-- 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 class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classarmnn_1_1profiling_1_1_command_handler_registry-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CommandHandlerRegistry Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_command_handler_registry_8hpp_source.xhtml">CommandHandlerRegistry.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a46f9edb3e365423b93373629e9a13509"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml#a46f9edb3e365423b93373629e9a13509">CommandHandlerRegistry</a> ()=default</td></tr>
<tr class="separator:a46f9edb3e365423b93373629e9a13509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7875d60ac5ca76c70f599367ec61261a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml#a7875d60ac5ca76c70f599367ec61261a">RegisterFunctor</a> (<a class="el" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a> *functor, uint32_t familyId, uint32_t packetId, uint32_t version)</td></tr>
<tr class="separator:a7875d60ac5ca76c70f599367ec61261a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae56042d93e16ea2c1e99233fc0451d51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml#ae56042d93e16ea2c1e99233fc0451d51">RegisterFunctor</a> (<a class="el" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a> *functor)</td></tr>
<tr class="separator:ae56042d93e16ea2c1e99233fc0451d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab421312295ae76edb4a540900d96103b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml#ab421312295ae76edb4a540900d96103b">GetFunctor</a> (uint32_t familyId, uint32_t packetId, uint32_t version) const</td></tr>
<tr class="separator:ab421312295ae76edb4a540900d96103b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_command_handler_registry_8hpp_source.xhtml#l00032">32</a> of file <a class="el" href="_command_handler_registry_8hpp_source.xhtml">CommandHandlerRegistry.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a46f9edb3e365423b93373629e9a13509"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46f9edb3e365423b93373629e9a13509">&#9670;&nbsp;</a></span>CommandHandlerRegistry()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml">CommandHandlerRegistry</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab421312295ae76edb4a540900d96103b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab421312295ae76edb4a540900d96103b">&#9670;&nbsp;</a></span>GetFunctor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a> * GetFunctor </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>familyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>packetId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_command_handler_registry_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="_command_handler_registry_8cpp_source.xhtml">CommandHandlerRegistry.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_profiling_tests_8cpp_source.xhtml#l00379">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_command_handler_8cpp_source.xhtml#l00034">CommandHandler::Stop()</a>.</p>
<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    CommandHandlerKey key(familyId, packetId, version);</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">   39</span>&#160;    <span class="comment">// Check that the requested key exists</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keywordflow">if</span> (registry.find(key) == registry.end())</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">   42</span>&#160;        <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">armnn::InvalidArgumentException</a>(</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                    boost::str(boost::format(<span class="stringliteral">&quot;Functor with requested PacketId=%1% and Version=%2% does not exist&quot;</span>)</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                               % packetId</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                               % version));</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    }</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    CommandHandlerFunctor* commandHandlerFunctor = registry.at(key);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordflow">if</span> (commandHandlerFunctor == <span class="keyword">nullptr</span>)</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">   51</span>&#160;        <span class="keywordflow">throw</span> RuntimeException(</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                    boost::str(boost::format(<span class="stringliteral">&quot;Invalid functor registered for PacketId=%1% and Version=%2%&quot;</span>)</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                               % packetId</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                               % version));</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</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="keywordflow">return</span> commandHandlerFunctor;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_invalid_argument_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_invalid_argument_exception.xhtml">armnn::InvalidArgumentException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00080">Exceptions.hpp:80</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7875d60ac5ca76c70f599367ec61261a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7875d60ac5ca76c70f599367ec61261a">&#9670;&nbsp;</a></span>RegisterFunctor() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RegisterFunctor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>familyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>packetId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_command_handler_registry_8cpp_source.xhtml#l00017">17</a> of file <a class="el" href="_command_handler_registry_8cpp_source.xhtml">CommandHandlerRegistry.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_profiling_tests_8cpp_source.xhtml#l00131">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_gatord_mock_main_8cpp_source.xhtml#l00018">main()</a>, <a class="el" href="_profiling_service_8hpp_source.xhtml#l00160">ProfilingService::ProfilingService()</a>, and <a class="el" href="_command_handler_registry_8cpp_source.xhtml#l00028">CommandHandlerRegistry::RegisterFunctor()</a>.</p>
<div class="fragment"><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;{</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    BOOST_ASSERT_MSG(functor, <span class="stringliteral">&quot;Provided functor should not be a nullptr&quot;</span>);</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    CommandHandlerKey key(familyId, packetId, version);</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    registry[key] = functor;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ae56042d93e16ea2c1e99233fc0451d51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae56042d93e16ea2c1e99233fc0451d51">&#9670;&nbsp;</a></span>RegisterFunctor() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RegisterFunctor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_command_handler_registry_8cpp_source.xhtml#l00028">28</a> of file <a class="el" href="_command_handler_registry_8cpp_source.xhtml">CommandHandlerRegistry.cpp</a>.</p>

<p class="reference">References <a class="el" href="_command_handler_functor_8cpp_source.xhtml#l00014">CommandHandlerFunctor::GetFamilyId()</a>, <a class="el" href="_command_handler_functor_8cpp_source.xhtml#l00019">CommandHandlerFunctor::GetPacketId()</a>, <a class="el" href="_command_handler_functor_8cpp_source.xhtml#l00024">CommandHandlerFunctor::GetVersion()</a>, and <a class="el" href="_command_handler_registry_8cpp_source.xhtml#l00017">CommandHandlerRegistry::RegisterFunctor()</a>.</p>
<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    BOOST_ASSERT_MSG(functor, <span class="stringliteral">&quot;Provided functor should not be a nullptr&quot;</span>);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml#a7875d60ac5ca76c70f599367ec61261a">RegisterFunctor</a>(functor, functor-&gt;GetFamilyId(), functor-&gt;GetPacketId(), functor-&gt;GetVersion());</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;}</div><div class="ttc" id="classarmnn_1_1profiling_1_1_command_handler_registry_xhtml_a7875d60ac5ca76c70f599367ec61261a"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml#a7875d60ac5ca76c70f599367ec61261a">armnn::profiling::CommandHandlerRegistry::RegisterFunctor</a></div><div class="ttdeci">void RegisterFunctor(CommandHandlerFunctor *functor, uint32_t familyId, uint32_t packetId, uint32_t version)</div><div class="ttdef"><b>Definition:</b> <a href="_command_handler_registry_8cpp_source.xhtml#l00017">CommandHandlerRegistry.cpp:17</a></div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/profiling/<a class="el" href="_command_handler_registry_8hpp_source.xhtml">CommandHandlerRegistry.hpp</a></li>
<li>src/profiling/<a class="el" href="_command_handler_registry_8cpp_source.xhtml">CommandHandlerRegistry.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="namespacearmnn_1_1profiling.xhtml">profiling</a></li><li class="navelem"><a class="el" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml">CommandHandlerRegistry</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:21 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
