<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>asio_base.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>asio__base_8h.html</filename>
    <includes id="interface_8h" name="interface.h" local="no" imported="no">socketcan_interface/interface.h</includes>
    <includes id="dispatcher_8h" name="dispatcher.h" local="no" imported="no">socketcan_interface/dispatcher.h</includes>
    <class kind="class">can::AsioDriver</class>
    <namespace>can</namespace>
  </compound>
  <compound kind="file">
    <name>bcm.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>bcm_8h.html</filename>
    <includes id="interface_8h" name="interface.h" local="no" imported="no">socketcan_interface/interface.h</includes>
    <class kind="class">can::BCMsocket</class>
    <class kind="struct">can::BCMsocket::Message</class>
    <namespace>can</namespace>
  </compound>
  <compound kind="file">
    <name>canbcm.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/src/</path>
    <filename>canbcm_8cpp.html</filename>
    <includes id="bcm_8h" name="bcm.h" local="no" imported="no">socketcan_interface/bcm.h</includes>
    <includes id="string_8h" name="string.h" local="no" imported="no">socketcan_interface/string.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>canbcm_8cpp.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>candump.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/src/</path>
    <filename>candump_8cpp.html</filename>
    <includes id="socketcan_8h" name="socketcan.h" local="no" imported="no">socketcan_interface/socketcan.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>candump_8cpp.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print_frame</name>
      <anchorfile>candump_8cpp.html</anchorfile>
      <anchor>a6481f15e925c1883d32114beb62cc9df</anchor>
      <arglist>(const Frame &amp;f)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print_state</name>
      <anchorfile>candump_8cpp.html</anchorfile>
      <anchor>afbe31d6f10d2060ae37828befc8d525d</anchor>
      <arglist>(const State &amp;s)</arglist>
    </member>
    <member kind="variable">
      <type>DriverInterfaceSharedPtr</type>
      <name>g_driver</name>
      <anchorfile>candump_8cpp.html</anchorfile>
      <anchor>a5e43746c303483ed5b18ad9cdff24e92</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::shared_ptr&lt; class_loader::ClassLoader &gt;</type>
      <name>g_loader</name>
      <anchorfile>candump_8cpp.html</anchorfile>
      <anchor>a216878ec560a5c5658098d92e077602f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>delegates.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>delegates_8h.html</filename>
    <class kind="class">can::DelegateHelper</class>
    <namespace>can</namespace>
  </compound>
  <compound kind="file">
    <name>dispatcher.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>dispatcher_8h.html</filename>
    <includes id="interface_8h" name="interface.h" local="no" imported="no">socketcan_interface/interface.h</includes>
    <class kind="class">can::SimpleDispatcher::DispatcherBase</class>
    <class kind="class">can::FilteredDispatcher</class>
    <class kind="class">can::SimpleDispatcher::DispatcherBase::GuardedListener</class>
    <class kind="class">can::SimpleDispatcher</class>
    <namespace>can</namespace>
  </compound>
  <compound kind="file">
    <name>dummy.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>dummy_8h.html</filename>
    <includes id="interface_8h" name="interface.h" local="yes" imported="no">interface.h</includes>
    <includes id="dispatcher_8h" name="dispatcher.h" local="yes" imported="no">dispatcher.h</includes>
    <includes id="string_8h" name="string.h" local="yes" imported="no">string.h</includes>
    <class kind="class">can::DummyInterface</class>
    <namespace>can</namespace>
    <member kind="typedef">
      <type>std::shared_ptr&lt; DummyInterface &gt;</type>
      <name>DummyInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a1cd969cee368b92ada5b6a44d27d6b4a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>filter.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>filter_8h.html</filename>
    <includes id="interface_8h" name="interface.h" local="yes" imported="no">interface.h</includes>
    <class kind="class">can::FilteredFrameListener</class>
    <class kind="class">can::FrameFilter</class>
    <class kind="class">can::FrameMaskFilter</class>
    <class kind="class">can::FrameRangeFilter</class>
    <namespace>can</namespace>
    <member kind="typedef">
      <type>std::shared_ptr&lt; FrameFilter &gt;</type>
      <name>FrameFilterSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>aaf2f241d0289db3b8a821376fc1af9a8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>interface.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>interface_8h.html</filename>
    <includes id="delegates_8h" name="delegates.h" local="yes" imported="no">socketcan_interface/delegates.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">socketcan_interface/logging.h</includes>
    <includes id="settings_8h" name="settings.h" local="yes" imported="no">socketcan_interface/settings.h</includes>
    <class kind="class">can::CommInterface</class>
    <class kind="class">can::DriverInterface</class>
    <class kind="struct">can::ErrorHeader</class>
    <class kind="struct">can::ExtendedHeader</class>
    <class kind="struct">can::Frame</class>
    <class kind="struct">can::Header</class>
    <class kind="class">can::Listener</class>
    <class kind="struct">can::MsgHeader</class>
    <class kind="class">can::State</class>
    <class kind="class">can::StateInterface</class>
    <namespace>can</namespace>
    <member kind="typedef">
      <type>std::shared_ptr&lt; CommInterface &gt;</type>
      <name>CommInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac12e9769e910dc6d7af0e91ba7f92dd8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; DriverInterface &gt;</type>
      <name>DriverInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac5b8c401dc0aa24de134b2f4d335947e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>CommInterface::FrameListenerConstSharedPtr</type>
      <name>FrameListenerConstSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a20cdf9717c61bb4189326657006cf44f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; StateInterface &gt;</type>
      <name>StateInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a0609447a329b181eb14588d427c325db</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>StateInterface::StateListenerConstSharedPtr</type>
      <name>StateListenerConstSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a9be70eb96f305f430a0ef56ab74a45eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>logging.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>logging_8h.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>LOG</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a91b49bafd458832990d17737f6512a5f</anchor>
      <arglist>(args)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ROSCANOPEN_DEBUG</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>ac886f1497b253ef732266c7566ea79d9</anchor>
      <arglist>(name, args)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ROSCANOPEN_ERROR</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>aff82536e3fdf729f4eee18ffe0001694</anchor>
      <arglist>(name, args)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ROSCANOPEN_INFO</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a1986408b55e5c7467de3e0365391eb9c</anchor>
      <arglist>(name, args)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ROSCANOPEN_LOG</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a4a0cc8c1876dbc36025b71337d5cdd8b</anchor>
      <arglist>(name, file, line, level, args)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ROSCANOPEN_WARN</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a22cc5da1db1cee485d2eafb8fa54c611</anchor>
      <arglist>(name, args)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>__attribute__</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>acd6b55490bb7f43c3d8b72666aab0483</anchor>
      <arglist>((deprecated(&quot;please use ROSCANOPEN_* macros&quot;))) void roscanopen_log_deprecated(const std</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>make_shared.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>make__shared_8h.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>ROSCANOPEN_MAKE_SHARED</name>
      <anchorfile>make__shared_8h.html</anchorfile>
      <anchor>a2b5b90dd6fe6ea73abf0a99c21ac89c9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>reader.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>reader_8h.html</filename>
    <includes id="interface_8h" name="interface.h" local="no" imported="no">socketcan_interface/interface.h</includes>
    <class kind="class">can::BufferedReader</class>
    <class kind="class">can::BufferedReader::ScopedEnabler</class>
    <namespace>can</namespace>
  </compound>
  <compound kind="file">
    <name>settings.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>settings_8h.html</filename>
    <class kind="class">can::NoSettings</class>
    <class kind="class">can::Settings</class>
    <class kind="class">can::SettingsMap</class>
    <namespace>can</namespace>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const Settings &gt;</type>
      <name>SettingsConstSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a1bb3073f562a8a86221d7ffdfbc3e3fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; Settings &gt;</type>
      <name>SettingsSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a98f8615f2db23e62277d3e47a751638d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>socketcan.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>socketcan_8h.html</filename>
    <includes id="asio__base_8h" name="asio_base.h" local="no" imported="no">socketcan_interface/asio_base.h</includes>
    <includes id="dispatcher_8h" name="dispatcher.h" local="no" imported="no">socketcan_interface/dispatcher.h</includes>
    <includes id="string_8h" name="string.h" local="no" imported="no">socketcan_interface/string.h</includes>
    <class kind="class">can::SocketCANInterface</class>
    <class kind="class">can::ThreadedInterface</class>
    <namespace>can</namespace>
    <member kind="define">
      <type>#define</type>
      <name>add_bit</name>
      <anchorfile>socketcan_8h.html</anchorfile>
      <anchor>ab81cd88adff550e234b52dc59daf08e9</anchor>
      <arglist>(e)</arglist>
    </member>
    <member kind="typedef">
      <type>SocketCANInterface</type>
      <name>SocketCANDriver</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a30c369e2f4e7c2ea9fdb270145f62e03</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; SocketCANDriver &gt;</type>
      <name>SocketCANDriverSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ab23fffba0e49919d4c6835e3830a0d84</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; SocketCANInterface &gt;</type>
      <name>SocketCANInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a4f5ac2326e9744629480e8650feb957b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ThreadedInterface&lt; SocketCANInterface &gt;</type>
      <name>ThreadedSocketCANInterface</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a5e1c3242c9df9f6e2c1a27ca97599ca4</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; ThreadedSocketCANInterface &gt;</type>
      <name>ThreadedSocketCANInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a43c92521d992b669d325f58ddae4925e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>socketcan_interface_plugin.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/src/</path>
    <filename>socketcan__interface__plugin_8cpp.html</filename>
    <includes id="socketcan_8h" name="socketcan.h" local="no" imported="no">socketcan_interface/socketcan.h</includes>
    <member kind="function">
      <type></type>
      <name>CLASS_LOADER_REGISTER_CLASS</name>
      <anchorfile>socketcan__interface__plugin_8cpp.html</anchorfile>
      <anchor>a8dc358badcabb2770093cb67b0eb7c15</anchor>
      <arglist>(can::SocketCANInterface, can::DriverInterface)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>string.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/src/</path>
    <filename>string_8cpp.html</filename>
    <includes id="string_8h" name="string.h" local="no" imported="no">socketcan_interface/string.h</includes>
    <namespace>can</namespace>
    <member kind="function">
      <type>std::string</type>
      <name>buffer2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac00770968c29e260b176bc872259e935</anchor>
      <arglist>(const std::string &amp;in, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>byte2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac52aa7381dd89a67fc96215cdcf37265</anchor>
      <arglist>(const uint8_t &amp;d, bool pad, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dec2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ae92a4164dcb8d09f87e2df76500ea66d</anchor>
      <arglist>(char &amp;h, const uint8_t &amp;d, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hex2buffer</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a86407d72a5a5caef4aa25cc5596088f2</anchor>
      <arglist>(std::string &amp;out, const std::string &amp;in_raw, bool pad)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hex2dec</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a3e30907207d610d9cea305270d0fbed7</anchor>
      <arglist>(uint8_t &amp;d, const char &amp;h)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>adf4dd88745d2f51f5723981afafec9ed</anchor>
      <arglist>(std::ostream &amp;stream, const Frame &amp;f)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a8c31622de2c08c964b08664e42742e80</anchor>
      <arglist>(std::ostream &amp;stream, const Header &amp;h)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a497d617d6f34485a8b451075de711f4f</anchor>
      <arglist>(const char *s)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a0096d029d010c40cf847d8f4706e6d1a</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a3e0d57ea6cb3c46366e1acddde17005b</anchor>
      <arglist>(const uint32_t &amp;id)</arglist>
    </member>
    <member kind="function">
      <type>Frame</type>
      <name>toframe</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a80935c0c174ab851284c49ef40126809</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>Header</type>
      <name>toheader</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a66d9be79a457145a90226c7effc10309</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>tohex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a0357eb720187fbae6b257d2ef78b5ca5</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>tostring</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a5d203303b80b110498aac2c63c96caa2</anchor>
      <arglist>(const Frame &amp;f, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>tostring</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ae8eeddfd2b28ef92bb47f5adcf5015b8</anchor>
      <arglist>(const Header &amp;h, bool lc)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>string.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>string_8h.html</filename>
    <includes id="interface_8h" name="interface.h" local="yes" imported="no">interface.h</includes>
    <includes id="filter_8h" name="filter.h" local="yes" imported="no">filter.h</includes>
    <namespace>can</namespace>
    <member kind="function">
      <type>std::string</type>
      <name>buffer2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac00770968c29e260b176bc872259e935</anchor>
      <arglist>(const std::string &amp;in, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>byte2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac52aa7381dd89a67fc96215cdcf37265</anchor>
      <arglist>(const uint8_t &amp;d, bool pad, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dec2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ae92a4164dcb8d09f87e2df76500ea66d</anchor>
      <arglist>(char &amp;h, const uint8_t &amp;d, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hex2buffer</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a86407d72a5a5caef4aa25cc5596088f2</anchor>
      <arglist>(std::string &amp;out, const std::string &amp;in_raw, bool pad)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hex2dec</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a3e30907207d610d9cea305270d0fbed7</anchor>
      <arglist>(uint8_t &amp;d, const char &amp;h)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>adf4dd88745d2f51f5723981afafec9ed</anchor>
      <arglist>(std::ostream &amp;stream, const Frame &amp;f)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a8c31622de2c08c964b08664e42742e80</anchor>
      <arglist>(std::ostream &amp;stream, const Header &amp;h)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a497d617d6f34485a8b451075de711f4f</anchor>
      <arglist>(const char *s)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a0096d029d010c40cf847d8f4706e6d1a</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a05b0adf8d52699ee24b573364fa70461</anchor>
      <arglist>(const T &amp;ct)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a3e0d57ea6cb3c46366e1acddde17005b</anchor>
      <arglist>(const uint32_t &amp;id)</arglist>
    </member>
    <member kind="function">
      <type>FilteredFrameListener::FilterVector</type>
      <name>tofilters</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a11fb074dec7a91dfcb364b2728d50c10</anchor>
      <arglist>(const T &amp;v)</arglist>
    </member>
    <member kind="function">
      <type>Frame</type>
      <name>toframe</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a80935c0c174ab851284c49ef40126809</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>Header</type>
      <name>toheader</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a66d9be79a457145a90226c7effc10309</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>tostring</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a5d203303b80b110498aac2c63c96caa2</anchor>
      <arglist>(const Frame &amp;f, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>tostring</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ae8eeddfd2b28ef92bb47f5adcf5015b8</anchor>
      <arglist>(const Header &amp;h, bool lc)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_delegates.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/test/</path>
    <filename>test__delegates_8cpp.html</filename>
    <includes id="delegates_8h" name="delegates.h" local="no" imported="no">socketcan_interface/delegates.h</includes>
    <includes id="dummy_8h" name="dummy.h" local="no" imported="no">socketcan_interface/dummy.h</includes>
    <class kind="class">BoolTest</class>
    <class kind="class">Receiver</class>
    <member kind="function">
      <type>void</type>
      <name>fill_any</name>
      <anchorfile>test__delegates_8cpp.html</anchorfile>
      <anchor>ac4b11982013795b690a5433f457eb8a6</anchor>
      <arglist>(Receiver &amp;r, const can::Frame &amp;f)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>fill_r2</name>
      <anchorfile>test__delegates_8cpp.html</anchorfile>
      <anchor>a5d4fad2132742b9d7cf5d6af60cf976f</anchor>
      <arglist>(const can::Frame &amp;f)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__delegates_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__delegates_8cpp.html</anchorfile>
      <anchor>a3c7c732f6c18ed436b01b283034dd725</anchor>
      <arglist>(DelegatesTest, testBoolFunc)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__delegates_8cpp.html</anchorfile>
      <anchor>ad4d05e0377d1065821c1c4aba3b3e5ff</anchor>
      <arglist>(DelegatesTest, testFrameDelegate)</arglist>
    </member>
    <member kind="variable">
      <type>Receiver</type>
      <name>g_r2</name>
      <anchorfile>test__delegates_8cpp.html</anchorfile>
      <anchor>addcec19f9cfca6e8a1658c3f0a46d59d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_dispatcher.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/test/</path>
    <filename>test__dispatcher_8cpp.html</filename>
    <includes id="dispatcher_8h" name="dispatcher.h" local="no" imported="no">socketcan_interface/dispatcher.h</includes>
    <class kind="class">Counter</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__dispatcher_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__dispatcher_8cpp.html</anchorfile>
      <anchor>aacb44b63214e26cec8c408a820e34bc4</anchor>
      <arglist>(DispatcherTest, testDelegateOnly)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__dispatcher_8cpp.html</anchorfile>
      <anchor>a1f537ec0ae01fe3c85e8e1662c3f00bf</anchor>
      <arglist>(DispatcherTest, testFilteredDispatcher)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__dispatcher_8cpp.html</anchorfile>
      <anchor>aabafde5841fb8d8ffb7dcb1f56329093</anchor>
      <arglist>(DispatcherTest, testSimpleDispatcher)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_dummy_interface.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/test/</path>
    <filename>test__dummy__interface_8cpp.html</filename>
    <includes id="dispatcher_8h" name="dispatcher.h" local="no" imported="no">socketcan_interface/dispatcher.h</includes>
    <includes id="dummy_8h" name="dummy.h" local="no" imported="no">socketcan_interface/dummy.h</includes>
    <class kind="class">DummyInterfaceTest</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__dummy__interface_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__dummy__interface_8cpp.html</anchorfile>
      <anchor>aa70a2df7002e8fcfaddab0fb84dd4c6c</anchor>
      <arglist>(DummyInterfaceTest, testCase1)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_filter.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/test/</path>
    <filename>test__filter_8cpp.html</filename>
    <includes id="filter_8h" name="filter.h" local="no" imported="no">socketcan_interface/filter.h</includes>
    <includes id="string_8h" name="string.h" local="no" imported="no">socketcan_interface/string.h</includes>
    <includes id="dummy_8h" name="dummy.h" local="no" imported="no">socketcan_interface/dummy.h</includes>
    <class kind="class">Counter</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__filter_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__filter_8cpp.html</anchorfile>
      <anchor>a7fc6a1ca50bca94f9693fb32d30408c8</anchor>
      <arglist>(FilterTest, listenerTest)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__filter_8cpp.html</anchorfile>
      <anchor>ad392be4dbea6749ac0fe771a11d16fab</anchor>
      <arglist>(FilterTest, maskTests)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__filter_8cpp.html</anchorfile>
      <anchor>afc72dfacf3bebc139a4499216e6eb065</anchor>
      <arglist>(FilterTest, rangeTest)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__filter_8cpp.html</anchorfile>
      <anchor>a6ae3df2290d5a62091599ca5a35a2732</anchor>
      <arglist>(FilterTest, simpleMask)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_settings.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/test/</path>
    <filename>test__settings_8cpp.html</filename>
    <includes id="settings_8h" name="settings.h" local="no" imported="no">socketcan_interface/settings.h</includes>
    <includes id="xmlrpc__settings_8h" name="xmlrpc_settings.h" local="no" imported="no">socketcan_interface/xmlrpc_settings.h</includes>
    <includes id="socketcan_8h" name="socketcan.h" local="no" imported="no">socketcan_interface/socketcan.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__settings_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__settings_8cpp.html</anchorfile>
      <anchor>af3410e9049a3ebc6d315d7c76533493d</anchor>
      <arglist>(SettingTest, socketcan_masks)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__settings_8cpp.html</anchorfile>
      <anchor>a6c13a49595daecda0ff5bbfc8d9fa29c</anchor>
      <arglist>(SettingTest, xmlrpc)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_string.cpp</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/test/</path>
    <filename>test__string_8cpp.html</filename>
    <includes id="string_8h" name="string.h" local="no" imported="no">socketcan_interface/string.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__string_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__string_8cpp.html</anchorfile>
      <anchor>adbd0bf2c72055d9a74aafb98feab6b97</anchor>
      <arglist>(StringTest, stringconversion)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>threading.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>threading_8h.html</filename>
    <includes id="interface_8h" name="interface.h" local="no" imported="no">socketcan_interface/interface.h</includes>
    <class kind="class">can::StateWaiter</class>
    <class kind="class">can::ThreadedInterface</class>
    <namespace>can</namespace>
  </compound>
  <compound kind="file">
    <name>xmlrpc_settings.h</name>
    <path>/tmp/ws/src/ros_canopen/socketcan_interface/include/socketcan_interface/</path>
    <filename>xmlrpc__settings_8h.html</filename>
    <includes id="logging_8h" name="logging.h" local="no" imported="no">socketcan_interface/logging.h</includes>
    <includes id="settings_8h" name="settings.h" local="no" imported="no">socketcan_interface/settings.h</includes>
    <class kind="class">XmlRpcSettings</class>
  </compound>
  <compound kind="class">
    <name>can::AsioDriver</name>
    <filename>classcan_1_1AsioDriver.html</filename>
    <templarg></templarg>
    <base>can::DriverInterface</base>
    <member kind="function" virtualness="virtual">
      <type>virtual FrameListenerConstSharedPtr</type>
      <name>createMsgListener</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>acaf2d032b93a33fba4f8714b67441fe9</anchor>
      <arglist>(const Frame::Header &amp;h, const FrameFunc &amp;delegate)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual FrameListenerConstSharedPtr</type>
      <name>createMsgListener</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a4aaada55824ab7f5327d588109ec503b</anchor>
      <arglist>(const FrameFunc &amp;delegate)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual StateListenerConstSharedPtr</type>
      <name>createStateListener</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a0cc98a3119a4342fead5463195d2c90e</anchor>
      <arglist>(const StateFunc &amp;delegate)</arglist>
    </member>
    <member kind="function">
      <type>State</type>
      <name>getState</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>ad031522c470533156afbbcd21b7a30e0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>run</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a725aec2d1311fa3f4cfc0a0ead3a1a30</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>send</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a3bcdd2c72a009f56df5f5c0d50e40c9e</anchor>
      <arglist>(const Frame &amp;msg)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>shutdown</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a04a33380ebeb577decd2df14513ec683</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~AsioDriver</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a57154e1bc5fb958b0d20ae0c80277229</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type></type>
      <name>AsioDriver</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>adb12ea6fbbf4c1e066f26a0c7f19befd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>dispatchFrame</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a8a2b94dca8b893a4b411d746f68f0017</anchor>
      <arglist>(const Frame &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual bool</type>
      <name>enqueue</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aaf4c61ec4ae8ed16f08c0d77862a4f9f</anchor>
      <arglist>(const Frame &amp;msg)=0</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>frameReceived</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a1dd3cd45352de9734208f4ba65d158c3</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setDriverState</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a0f425a3fc11c72163cc9cf620447a6f8</anchor>
      <arglist>(State::DriverState state)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setErrorCode</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aff3cea51c1736960cb4c50eef6c7785c</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setInternalError</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a5bac9ff0089bb2f777755a2a980817f1</anchor>
      <arglist>(unsigned int internal_error)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setNotReady</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aa79fc956ff370b01afb9f500f4b2c77b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual void</type>
      <name>triggerReadSome</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a7237560689740468853a12b215e13439</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Frame</type>
      <name>input_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aac2ed5c502f6369ba693e452c24522a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::asio::io_service</type>
      <name>io_service_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a210976572cca31026ef5b0ec432937f0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Socket</type>
      <name>socket_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a3872044e4b6f461dd3745e9505b216a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::asio::strand</type>
      <name>strand_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a32f46743ee0f3284e43f37b40c0c2111</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>FilteredDispatcher&lt; unsigned int, CommInterface::FrameListener &gt;</type>
      <name>FrameDispatcher</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a0b82fa09c92bdb36ae63408ad48e8bba</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>SimpleDispatcher&lt; StateInterface::StateListener &gt;</type>
      <name>StateDispatcher</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a9216b0adaa0c2ad9da0c71bef3b4fce2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>FrameDispatcher</type>
      <name>frame_dispatcher_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a4e787a440fe0a21521c7e4c3c2ef0c09</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>socket_mutex_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a68eb2091d0cba5a9e0299b3c3d8ae253</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>State</type>
      <name>state_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a63fcb1291d548ab8fee5e696262df535</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>StateDispatcher</type>
      <name>state_dispatcher_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aac95d741f7f009ee6096898e3ccba5b2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>state_mutex_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a0a2e8c45e9e94fa5cd1e6caa061f4eb3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>AsioDriver&lt; boost::asio::posix::stream_descriptor &gt;</name>
    <filename>classcan_1_1AsioDriver.html</filename>
    <base>can::DriverInterface</base>
    <member kind="function" virtualness="virtual">
      <type>virtual FrameListenerConstSharedPtr</type>
      <name>createMsgListener</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>acaf2d032b93a33fba4f8714b67441fe9</anchor>
      <arglist>(const Frame::Header &amp;h, const FrameFunc &amp;delegate)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual FrameListenerConstSharedPtr</type>
      <name>createMsgListener</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a4aaada55824ab7f5327d588109ec503b</anchor>
      <arglist>(const FrameFunc &amp;delegate)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual StateListenerConstSharedPtr</type>
      <name>createStateListener</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a0cc98a3119a4342fead5463195d2c90e</anchor>
      <arglist>(const StateFunc &amp;delegate)</arglist>
    </member>
    <member kind="function">
      <type>State</type>
      <name>getState</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>ad031522c470533156afbbcd21b7a30e0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>run</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a725aec2d1311fa3f4cfc0a0ead3a1a30</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>send</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a3bcdd2c72a009f56df5f5c0d50e40c9e</anchor>
      <arglist>(const Frame &amp;msg)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>shutdown</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a04a33380ebeb577decd2df14513ec683</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~AsioDriver</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a57154e1bc5fb958b0d20ae0c80277229</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type></type>
      <name>AsioDriver</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>adb12ea6fbbf4c1e066f26a0c7f19befd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>dispatchFrame</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a8a2b94dca8b893a4b411d746f68f0017</anchor>
      <arglist>(const Frame &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual bool</type>
      <name>enqueue</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aaf4c61ec4ae8ed16f08c0d77862a4f9f</anchor>
      <arglist>(const Frame &amp;msg)=0</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>frameReceived</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a1dd3cd45352de9734208f4ba65d158c3</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setDriverState</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a0f425a3fc11c72163cc9cf620447a6f8</anchor>
      <arglist>(State::DriverState state)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setErrorCode</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aff3cea51c1736960cb4c50eef6c7785c</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setInternalError</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a5bac9ff0089bb2f777755a2a980817f1</anchor>
      <arglist>(unsigned int internal_error)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setNotReady</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aa79fc956ff370b01afb9f500f4b2c77b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual void</type>
      <name>triggerReadSome</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a7237560689740468853a12b215e13439</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Frame</type>
      <name>input_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aac2ed5c502f6369ba693e452c24522a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::asio::io_service</type>
      <name>io_service_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a210976572cca31026ef5b0ec432937f0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::asio::posix::stream_descriptor</type>
      <name>socket_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a3872044e4b6f461dd3745e9505b216a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::asio::strand</type>
      <name>strand_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a32f46743ee0f3284e43f37b40c0c2111</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>FilteredDispatcher&lt; unsigned int, CommInterface::FrameListener &gt;</type>
      <name>FrameDispatcher</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a0b82fa09c92bdb36ae63408ad48e8bba</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>SimpleDispatcher&lt; StateInterface::StateListener &gt;</type>
      <name>StateDispatcher</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a9216b0adaa0c2ad9da0c71bef3b4fce2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>FrameDispatcher</type>
      <name>frame_dispatcher_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a4e787a440fe0a21521c7e4c3c2ef0c09</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>socket_mutex_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a68eb2091d0cba5a9e0299b3c3d8ae253</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>State</type>
      <name>state_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a63fcb1291d548ab8fee5e696262df535</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>StateDispatcher</type>
      <name>state_dispatcher_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>aac95d741f7f009ee6096898e3ccba5b2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>state_mutex_</name>
      <anchorfile>classcan_1_1AsioDriver.html</anchorfile>
      <anchor>a0a2e8c45e9e94fa5cd1e6caa061f4eb3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::BCMsocket</name>
    <filename>classcan_1_1BCMsocket.html</filename>
    <class kind="struct">can::BCMsocket::Message</class>
    <member kind="function">
      <type></type>
      <name>BCMsocket</name>
      <anchorfile>classcan_1_1BCMsocket.html</anchorfile>
      <anchor>a8f63769191ffb07a7a56bc041ffb4d8e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1BCMsocket.html</anchorfile>
      <anchor>ae0cc96a34eadfb80731162cce137fa4e</anchor>
      <arglist>(const std::string &amp;device)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>shutdown</name>
      <anchorfile>classcan_1_1BCMsocket.html</anchorfile>
      <anchor>a3c284803775da4072febc52aef0bf0c9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>startTX</name>
      <anchorfile>classcan_1_1BCMsocket.html</anchorfile>
      <anchor>a9467be40ca55e763fcdbe716eeea1bcf</anchor>
      <arglist>(DurationType period, Header header, size_t num, Frame *frames)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>stopTX</name>
      <anchorfile>classcan_1_1BCMsocket.html</anchorfile>
      <anchor>aa4fcc5b8978e559445fb18262bb28e82</anchor>
      <arglist>(Header header)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~BCMsocket</name>
      <anchorfile>classcan_1_1BCMsocket.html</anchorfile>
      <anchor>a761078db34274f03aa3100912bf9796b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>s_</name>
      <anchorfile>classcan_1_1BCMsocket.html</anchorfile>
      <anchor>aa3dd8bff4752badcf5a3fda245cf757f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>BoolTest</name>
    <filename>classBoolTest.html</filename>
    <member kind="function">
      <type></type>
      <name>BoolTest</name>
      <anchorfile>classBoolTest.html</anchorfile>
      <anchor>aca451693bcd066209a3216a1a3b2e681</anchor>
      <arglist>(bool ret)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>BoolTest</name>
      <anchorfile>classBoolTest.html</anchorfile>
      <anchor>aed8c9263c87fe43ca01eeb9c2975b188</anchor>
      <arglist>(const BoolTest &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>BoolTest &amp;</type>
      <name>operator=</name>
      <anchorfile>classBoolTest.html</anchorfile>
      <anchor>a77c9c38240a3f8d53af11fdfa71d0a33</anchor>
      <arglist>(const BoolTest &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>test_bool</name>
      <anchorfile>classBoolTest.html</anchorfile>
      <anchor>a1cd46f11acdd53f48f8bef0810c9c462</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>ret_</name>
      <anchorfile>classBoolTest.html</anchorfile>
      <anchor>a449d633c5c9fef8abf367b8a9c04baca</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::BufferedReader</name>
    <filename>classcan_1_1BufferedReader.html</filename>
    <class kind="class">can::BufferedReader::ScopedEnabler</class>
    <member kind="function">
      <type></type>
      <name>BufferedReader</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a8901b990ca304b8595784fdc485c4d0c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>BufferedReader</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a226538b18cecc89fa3893196fa39be01</anchor>
      <arglist>(bool enable, size_t max_len=0)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>disable</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a3d909a9156c063020f56e4b8633332e9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>enable</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>ad3076da93192f43d10c1fdf22f0fa635</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>flush</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a4513fa51f0af9f0dff2cd50683fa394d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEnabled</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>aba3c6f848e60ae6ff322435bd558cc51</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>listen</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a20bb3e23e375fe5c44c0aa4e87227f8c</anchor>
      <arglist>(CommInterfaceSharedPtr interface)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>listen</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>adaf6c309a0c16ec3dc23019819899959</anchor>
      <arglist>(CommInterfaceSharedPtr interface, const Frame::Header &amp;h)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>read</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>aa3e26df568054029d215427375576d8c</anchor>
      <arglist>(can::Frame *msg, const DurationType &amp;duration)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>readUntil</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a09aff7c1c79d0f8ac70f6699f75c2753</anchor>
      <arglist>(can::Frame *msg, boost::chrono::high_resolution_clock::time_point abs_time)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>setEnabled</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a309a1462ab7d8d1ede867c976a4f273a</anchor>
      <arglist>(bool enabled)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxLen</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a0360f5e7d21ef978721d211f1778a191</anchor>
      <arglist>(size_t max_len)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handleFrame</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a4c1f45e77c691e83602121204d89392f</anchor>
      <arglist>(const can::Frame &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>trim</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a4908c7ec4262f58472f925e309e49005</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::deque&lt; can::Frame &gt;</type>
      <name>buffer_</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a500e4e0cab3501cfc3dc5273cb65a031</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::condition_variable</type>
      <name>cond_</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>acf51f78f5f73927db9f446f3accf666f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>enabled_</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a66934a73a190899573323d75bdbaecdb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>CommInterface::FrameListenerConstSharedPtr</type>
      <name>listener_</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>abceef8f946d0bd6536b64a3a34c960da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>max_len_</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a1f05f8fc543c9c39d3fc46148d1af2ed</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classcan_1_1BufferedReader.html</anchorfile>
      <anchor>a5266b93bfd461e53a605a3b11ff60f43</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::CommInterface</name>
    <filename>classcan_1_1CommInterface.html</filename>
    <member kind="typedef">
      <type>DelegateHelper&lt; FrameFunc &gt;</type>
      <name>FrameDelegate</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>a773c3c3a28844dee27d72763b5c74701</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const Frame &amp;)&gt;</type>
      <name>FrameFunc</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>a6a7e1f1a08b60a6b74626ba413fe2fd7</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Listener&lt; const FrameFunc, const Frame &amp; &gt;</type>
      <name>FrameListener</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>adc77ff213b8b2230215cdf6a1caabf68</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>FrameListener::ListenerConstSharedPtr</type>
      <name>FrameListenerConstSharedPtr</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>a1125f5bd33a1885f54b039474b1d57a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual FrameListenerConstSharedPtr</type>
      <name>createMsgListener</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>a5c3d5463a9f2dfa813f015524cda5b01</anchor>
      <arglist>(const Frame::Header &amp;, const FrameFunc &amp;delegate)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual FrameListenerConstSharedPtr</type>
      <name>createMsgListener</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>ad696d93f467fec4c5f403120ce9dae55</anchor>
      <arglist>(const FrameFunc &amp;delegate)=0</arglist>
    </member>
    <member kind="function">
      <type>FrameListenerConstSharedPtr</type>
      <name>createMsgListenerM</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>af55384f8da95a3dbd4d4623691c8c891</anchor>
      <arglist>(const Frame::Header &amp;header, Instance inst, Callable callable)</arglist>
    </member>
    <member kind="function">
      <type>FrameListenerConstSharedPtr</type>
      <name>createMsgListenerM</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>a493f144ef71a234fcffbf37e6917141d</anchor>
      <arglist>(Instance inst, Callable callable)</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>send</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>abefa2631cb2e9341cbb5fd7f87c97585</anchor>
      <arglist>(const Frame &amp;msg)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~CommInterface</name>
      <anchorfile>classcan_1_1CommInterface.html</anchorfile>
      <anchor>a013d65a78d201350a11f94fdbf2d1928</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Counter</name>
    <filename>classCounter.html</filename>
    <member kind="function">
      <type>void</type>
      <name>count</name>
      <anchorfile>classCounter.html</anchorfile>
      <anchor>a21b0a76457ee874c23f21e36ede2733e</anchor>
      <arglist>(const can::Frame &amp;frame)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>count</name>
      <anchorfile>classCounter.html</anchorfile>
      <anchor>a8e7ce4dd82b0c95d57f42ce75a3c33ff</anchor>
      <arglist>(const can::Frame &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Counter</name>
      <anchorfile>classCounter.html</anchorfile>
      <anchor>a1e05f69b5240fbab3e7ab351672167f0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Counter</name>
      <anchorfile>classCounter.html</anchorfile>
      <anchor>a1e05f69b5240fbab3e7ab351672167f0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>count_</name>
      <anchorfile>classCounter.html</anchorfile>
      <anchor>a3185feb878e6fec1ac3bbb9d789dc607</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>counter_</name>
      <anchorfile>classCounter.html</anchorfile>
      <anchor>a985452a31bfb241920f80617cb4a2889</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::DelegateHelper</name>
    <filename>classcan_1_1DelegateHelper.html</filename>
    <templarg></templarg>
    <member kind="function">
      <type></type>
      <name>DelegateHelper</name>
      <anchorfile>classcan_1_1DelegateHelper.html</anchorfile>
      <anchor>a56bc69e1f5615232cb1d230f7b07677c</anchor>
      <arglist>(Callable &amp;&amp;c)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DelegateHelper</name>
      <anchorfile>classcan_1_1DelegateHelper.html</anchorfile>
      <anchor>a6f722503d5bc5f64dce466159910fc95</anchor>
      <arglist>(Object &amp;&amp;o, typename T::result_type(Instance::*member)(Args... args))</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::SimpleDispatcher::DispatcherBase</name>
    <filename>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</filename>
    <class kind="class">can::SimpleDispatcher::DispatcherBase::GuardedListener</class>
    <member kind="function">
      <type>void</type>
      <name>dispatch_nolock</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>a98fbb2289642b94d42bb576831beef23</anchor>
      <arglist>(const Type &amp;obj) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DispatcherBase</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>a8899dc4a089ef348b8243211d71f05f3</anchor>
      <arglist>(boost::mutex &amp;mutex)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>numListeners</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>a624d064f22b89ea3016baafac36b3db9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>remove</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>a0d69ebe7c51017e0fc2b394de75a560c</anchor>
      <arglist>(Listener *d)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>ae25977d19a18316e4851f7dab235f07b</anchor>
      <arglist>(DispatcherBaseSharedPtr dispatcher, const Callable &amp;callable)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>DispatcherBase</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>aeaa15d4ff672bc9dab2707a6e1685dcb</anchor>
      <arglist>(const DispatcherBase &amp;)=delete</arglist>
    </member>
    <member kind="function" protection="private">
      <type>DispatcherBase &amp;</type>
      <name>operator=</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>a9832b07175060471f4ea441d785d461a</anchor>
      <arglist>(const DispatcherBase &amp;)=delete</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::list&lt; const Listener * &gt;</type>
      <name>listeners_</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>ae83b30a3c0567ccce126289003c3a387</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex &amp;</type>
      <name>mutex_</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase.html</anchorfile>
      <anchor>a80cc9430626aa514dc713750b3b6669a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::DriverInterface</name>
    <filename>classcan_1_1DriverInterface.html</filename>
    <base>can::CommInterface</base>
    <base>can::StateInterface</base>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>doesLoopBack</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a2a04024e18a318c9f33698813511be7e</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual State</type>
      <name>getState</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a9f976821f00bb867b401f43d55a37ffd</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a883b26251a264521e6ec8202c9838c46</anchor>
      <arglist>(const std::string &amp;device, bool loopback)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a1ea480b044a70a62855da86baacb8d6f</anchor>
      <arglist>(const std::string &amp;device, bool loopback, SettingsConstSharedPtr settings)</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>recover</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a06d965bb2109fb1c0f3fe02dc67aa3b4</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>run</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a2c8e0ed41196034515769198c3a9dd2d</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>shutdown</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a7d1c7f354b480c1325cac341ef4e5d95</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>translateError</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a37c88a1593027a7c01f8be4e39ec2728</anchor>
      <arglist>(unsigned int internal_error, std::string &amp;str)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~DriverInterface</name>
      <anchorfile>classcan_1_1DriverInterface.html</anchorfile>
      <anchor>a80dad6236bfc95f080dfefc51c98601c</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::DummyInterface</name>
    <filename>classcan_1_1DummyInterface.html</filename>
    <base>can::DriverInterface</base>
    <member kind="function">
      <type>bool</type>
      <name>add</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a913941d9568838af08e519720e3fc972</anchor>
      <arglist>(const Frame &amp;k, const Frame &amp;v, bool multi)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>add</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a7da062c4e9f4fc93801ae63686b54a04</anchor>
      <arglist>(const Frame &amp;k, const std::string &amp;v, bool multi)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>add</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>ab104faa01d7b3fc932acc16908531aa0</anchor>
      <arglist>(const std::string &amp;k, const Frame &amp;v, bool multi)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>add</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a93407b6e20e3499eee4738bd2553d3d2</anchor>
      <arglist>(const std::string &amp;k, const std::string &amp;v, bool multi)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual FrameListenerConstSharedPtr</type>
      <name>createMsgListener</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>ac7eaf269de739eb58716c1be73ef6003</anchor>
      <arglist>(const Frame::Header &amp;h, const FrameFunc &amp;delegate)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual FrameListenerConstSharedPtr</type>
      <name>createMsgListener</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a7cb53a1cb8be955a74b3f6eb5ac32b38</anchor>
      <arglist>(const FrameFunc &amp;delegate)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual StateListenerConstSharedPtr</type>
      <name>createStateListener</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a5e41ba7db4ddc6c2cc449610089f18d3</anchor>
      <arglist>(const StateFunc &amp;delegate)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>doesLoopBack</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a554c166eb9a2d07ab9906cd8a5f15cdd</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DummyInterface</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>aa12b5a9ae7e25b9d499ab08081995f11</anchor>
      <arglist>(bool loopback)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual State</type>
      <name>getState</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a394655d821656de0d08d967f58afe609</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>adc7922410517c71604b07f83f0c5ef75</anchor>
      <arglist>(const std::string &amp;device, bool loopback)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>recover</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>addcd60802ad4bf9298aa6c10912b9f28</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>run</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>ae6af25448d8f0c51b04dd9170209feb5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>send</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a64b89269ebf0ee38f5ebd30bd5bd4c91</anchor>
      <arglist>(const Frame &amp;msg)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>shutdown</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a0d859829ef91dea9f687e44d3c5426a9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>translateError</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a77d25ba58187a336b884321d97e66510</anchor>
      <arglist>(unsigned int internal_error, std::string &amp;str)</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>FilteredDispatcher&lt; unsigned int, CommInterface::FrameListener &gt;</type>
      <name>FrameDispatcher</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>aee98002a5799abff144e5f4c3306a563</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>std::unordered_map&lt; std::string, Frame &gt;</type>
      <name>Map</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a5cdbdb28a63ba70c8d6274cd3e986591</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>SimpleDispatcher&lt; StateInterface::StateListener &gt;</type>
      <name>StateDispatcher</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a22c1d614cb15a363db0025303ed1a6dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>add_noconv</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>ad9d5aa3dd98ccc55093dd8e8065ca52b</anchor>
      <arglist>(const std::string &amp;k, const Frame &amp;v, bool multi)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>FrameDispatcher</type>
      <name>frame_dispatcher_</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a3fbf85a2557e29cbfd698dd5a6acf798</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>loopback_</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>aa29241c6e3716e1a5a7466467663ac7e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Map</type>
      <name>map_</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a6fd2ef46a38e87dd642bfb17804447fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>State</type>
      <name>state_</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a2a38627987cc160ba702fa85e26e71ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>StateDispatcher</type>
      <name>state_dispatcher_</name>
      <anchorfile>classcan_1_1DummyInterface.html</anchorfile>
      <anchor>a79a07022aa7a83c266e58dee52429890</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>DummyInterfaceTest</name>
    <filename>classDummyInterfaceTest.html</filename>
    <member kind="function">
      <type></type>
      <name>DummyInterfaceTest</name>
      <anchorfile>classDummyInterfaceTest.html</anchorfile>
      <anchor>acb8b6ccb039589a3023da90617c6e1f1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>handle</name>
      <anchorfile>classDummyInterfaceTest.html</anchorfile>
      <anchor>ab34c7097b72bef0d2b74ead5a6c4b3d7</anchor>
      <arglist>(const can::Frame &amp;f)</arglist>
    </member>
    <member kind="variable">
      <type>can::DummyInterface</type>
      <name>dummy</name>
      <anchorfile>classDummyInterfaceTest.html</anchorfile>
      <anchor>a65d8377debc40931928ca0f4529d3334</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>can::FrameListenerConstSharedPtr</type>
      <name>listener</name>
      <anchorfile>classDummyInterfaceTest.html</anchorfile>
      <anchor>a67b25dd540ce2fe1fe24c0df4d08ee29</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::list&lt; std::string &gt;</type>
      <name>responses</name>
      <anchorfile>classDummyInterfaceTest.html</anchorfile>
      <anchor>a2050bb5e7a2e1e4ec3f1c6c9bebc011e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>can::ErrorHeader</name>
    <filename>structcan_1_1ErrorHeader.html</filename>
    <base>can::Header</base>
    <member kind="function">
      <type></type>
      <name>ErrorHeader</name>
      <anchorfile>structcan_1_1ErrorHeader.html</anchorfile>
      <anchor>a6a65cc17288034501f8ea68db60f68f5</anchor>
      <arglist>(unsigned int i=0)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>can::ExtendedHeader</name>
    <filename>structcan_1_1ExtendedHeader.html</filename>
    <base>can::Header</base>
    <member kind="function">
      <type></type>
      <name>ExtendedHeader</name>
      <anchorfile>structcan_1_1ExtendedHeader.html</anchorfile>
      <anchor>a0f2caf9d407d741a02f2270402f4fcca</anchor>
      <arglist>(unsigned int i=0, bool rtr=false)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::FilteredDispatcher</name>
    <filename>classcan_1_1FilteredDispatcher.html</filename>
    <templarg></templarg>
    <templarg></templarg>
    <templarg></templarg>
    <base>can::SimpleDispatcher</base>
    <member kind="function">
      <type>ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a774e08888706feba6bd8a9beced7acbc</anchor>
      <arglist>(const Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>BaseClass::ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a53112e5de33c8c498d09d7785646533d</anchor>
      <arglist>(const K &amp;key, const typename BaseClass::Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>BaseClass::ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a17981965c46d8151401a1c9b4a154f0f</anchor>
      <arglist>(const T &amp;key, const typename BaseClass::Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dispatch</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a6c0768de4c99fd106304aab23d42ea50</anchor>
      <arglist>(const K &amp;key, const typename BaseClass::Type &amp;obj)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dispatch</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a29fabf96368eb9c3600f08d9beb057dd</anchor>
      <arglist>(const typename BaseClass::Type &amp;obj)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator typename BaseClass::Callable</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a088ecfdb0c35ff79a58104b24fd477ff</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>SimpleDispatcher&lt; Listener &gt;</type>
      <name>BaseClass</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a98ec386c24e602d8c42cb4482e8cb3d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; K, typename BaseClass::DispatcherBaseSharedPtr, Hash &gt;</type>
      <name>filtered_</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a5f1287602ee3f720e754b47553116ada</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>FilteredDispatcher&lt; unsigned int, CommInterface::FrameListener &gt;</name>
    <filename>classcan_1_1FilteredDispatcher.html</filename>
    <base>SimpleDispatcher&lt; CommInterface::FrameListener &gt;</base>
    <member kind="function">
      <type>ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a774e08888706feba6bd8a9beced7acbc</anchor>
      <arglist>(const Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>BaseClass::ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a17981965c46d8151401a1c9b4a154f0f</anchor>
      <arglist>(const T &amp;key, const typename BaseClass::Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>BaseClass::ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a53112e5de33c8c498d09d7785646533d</anchor>
      <arglist>(const unsigned int &amp;key, const typename BaseClass::Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dispatch</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a29fabf96368eb9c3600f08d9beb057dd</anchor>
      <arglist>(const typename BaseClass::Type &amp;obj)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dispatch</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a6c0768de4c99fd106304aab23d42ea50</anchor>
      <arglist>(const unsigned int &amp;key, const typename BaseClass::Type &amp;obj)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator typename BaseClass::Callable</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a088ecfdb0c35ff79a58104b24fd477ff</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>SimpleDispatcher&lt; CommInterface::FrameListener &gt;</type>
      <name>BaseClass</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a98ec386c24e602d8c42cb4482e8cb3d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; unsigned int, typename BaseClass::DispatcherBaseSharedPtr, std::hash&lt; unsigned int &gt; &gt;</type>
      <name>filtered_</name>
      <anchorfile>classcan_1_1FilteredDispatcher.html</anchorfile>
      <anchor>a5f1287602ee3f720e754b47553116ada</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::FilteredFrameListener</name>
    <filename>classcan_1_1FilteredFrameListener.html</filename>
    <base>can::Listener</base>
    <member kind="typedef">
      <type>std::vector&lt; FrameFilterSharedPtr &gt;</type>
      <name>FilterVector</name>
      <anchorfile>classcan_1_1FilteredFrameListener.html</anchorfile>
      <anchor>ad90fa087feac8cb2fb2e41dcdbf8734d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FilteredFrameListener</name>
      <anchorfile>classcan_1_1FilteredFrameListener.html</anchorfile>
      <anchor>a7864d5fa645e9e43c25d5c3a3383a5b3</anchor>
      <arglist>(CommInterfaceSharedPtr comm, const Callable &amp;callable, const FilterVector &amp;filters)</arglist>
    </member>
    <member kind="variable">
      <type>const std::vector&lt; FrameFilterSharedPtr &gt;</type>
      <name>filters_</name>
      <anchorfile>classcan_1_1FilteredFrameListener.html</anchorfile>
      <anchor>a52dd6b297df0c265d051801584a1754b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>CommInterface::FrameListenerConstSharedPtr</type>
      <name>listener_</name>
      <anchorfile>classcan_1_1FilteredFrameListener.html</anchorfile>
      <anchor>a6b6b9358c4f442abbc2988b0705ec2b2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>can::Frame</name>
    <filename>structcan_1_1Frame.html</filename>
    <base>can::Header</base>
    <member kind="typedef">
      <type>unsigned char</type>
      <name>value_type</name>
      <anchorfile>structcan_1_1Frame.html</anchorfile>
      <anchor>a70aea543e6a0714e43dbf06f69e16743</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>value_type *</type>
      <name>c_array</name>
      <anchorfile>structcan_1_1Frame.html</anchorfile>
      <anchor>ab8c2b1fc5f6bfc6fc932e519d0a61de3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const value_type *</type>
      <name>c_array</name>
      <anchorfile>structcan_1_1Frame.html</anchorfile>
      <anchor>a11a6c4194282897257ba10620e2f961a</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Frame</name>
      <anchorfile>structcan_1_1Frame.html</anchorfile>
      <anchor>a2852cc1708524a85e21f290bd4522dc4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Frame</name>
      <anchorfile>structcan_1_1Frame.html</anchorfile>
      <anchor>ab22cdb568c9ed93b7d3c5e0e46a4321e</anchor>
      <arglist>(const Header &amp;h, unsigned char l=0)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isValid</name>
      <anchorfile>structcan_1_1Frame.html</anchorfile>
      <anchor>ad5bca7c3d811568c5706639d0f24913e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; value_type, 8 &gt;</type>
      <name>data</name>
      <anchorfile>structcan_1_1Frame.html</anchorfile>
      <anchor>a96feb22d49aeb5ba18d0df8b0dea1e13</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned char</type>
      <name>dlc</name>
      <anchorfile>structcan_1_1Frame.html</anchorfile>
      <anchor>a9cf4ca35011e015cd8cedadd99079d0f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::FrameFilter</name>
    <filename>classcan_1_1FrameFilter.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>pass</name>
      <anchorfile>classcan_1_1FrameFilter.html</anchorfile>
      <anchor>ac9560f3ab12ab06096cb570282b58678</anchor>
      <arglist>(const can::Frame &amp;frame) const =0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~FrameFilter</name>
      <anchorfile>classcan_1_1FrameFilter.html</anchorfile>
      <anchor>a2c76fb8f6fa72e285bff25c187669e75</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::FrameMaskFilter</name>
    <filename>classcan_1_1FrameMaskFilter.html</filename>
    <base>can::FrameFilter</base>
    <member kind="function">
      <type></type>
      <name>FrameMaskFilter</name>
      <anchorfile>classcan_1_1FrameMaskFilter.html</anchorfile>
      <anchor>a89303c78d184c24bb3a2e0e52466b1ae</anchor>
      <arglist>(uint32_t can_id, uint32_t mask=MASK_RELAXED, bool invert=false)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>pass</name>
      <anchorfile>classcan_1_1FrameMaskFilter.html</anchorfile>
      <anchor>a8cf08bf81e902df1512c6a067b0a0777</anchor>
      <arglist>(const can::Frame &amp;frame) const</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const uint32_t</type>
      <name>MASK_ALL</name>
      <anchorfile>classcan_1_1FrameMaskFilter.html</anchorfile>
      <anchor>a9ddb99e372c702c591a864376001115a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const uint32_t</type>
      <name>MASK_RELAXED</name>
      <anchorfile>classcan_1_1FrameMaskFilter.html</anchorfile>
      <anchor>a4a9b50cb6d5a1bd493a077712a0832b2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const bool</type>
      <name>invert_</name>
      <anchorfile>classcan_1_1FrameMaskFilter.html</anchorfile>
      <anchor>ad470558f40ef64fcb86f68a893da8a24</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint32_t</type>
      <name>mask_</name>
      <anchorfile>classcan_1_1FrameMaskFilter.html</anchorfile>
      <anchor>a4c1af7a93f355a4db9675f751d59394c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint32_t</type>
      <name>masked_id_</name>
      <anchorfile>classcan_1_1FrameMaskFilter.html</anchorfile>
      <anchor>ae79ff802578a98ec5f55cd19fa681910</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::FrameRangeFilter</name>
    <filename>classcan_1_1FrameRangeFilter.html</filename>
    <base>can::FrameFilter</base>
    <member kind="function">
      <type></type>
      <name>FrameRangeFilter</name>
      <anchorfile>classcan_1_1FrameRangeFilter.html</anchorfile>
      <anchor>aede1b71af989ecafa121e562dbe66b6f</anchor>
      <arglist>(uint32_t min_id, uint32_t max_id, bool invert=false)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>pass</name>
      <anchorfile>classcan_1_1FrameRangeFilter.html</anchorfile>
      <anchor>a6c09b74fc5d8c37195f31fb63320bebb</anchor>
      <arglist>(const can::Frame &amp;frame) const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const bool</type>
      <name>invert_</name>
      <anchorfile>classcan_1_1FrameRangeFilter.html</anchorfile>
      <anchor>ad0db9a35f3d0bf1edb9ad65379f3b82e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint32_t</type>
      <name>max_id_</name>
      <anchorfile>classcan_1_1FrameRangeFilter.html</anchorfile>
      <anchor>a19b13d454c8e98753f6ec784c500df0c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint32_t</type>
      <name>min_id_</name>
      <anchorfile>classcan_1_1FrameRangeFilter.html</anchorfile>
      <anchor>aff2c85b3201f3f5d5dddb2f295579750</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::SimpleDispatcher::DispatcherBase::GuardedListener</name>
    <filename>classcan_1_1SimpleDispatcher_1_1DispatcherBase_1_1GuardedListener.html</filename>
    <base>can::Listener</base>
    <member kind="function">
      <type></type>
      <name>GuardedListener</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase_1_1GuardedListener.html</anchorfile>
      <anchor>a9d6294889b5eda318c3187522dbd2e94</anchor>
      <arglist>(DispatcherBaseSharedPtr g, const Callable &amp;callable)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~GuardedListener</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase_1_1GuardedListener.html</anchorfile>
      <anchor>ab6c9328751251eaca4f24661de56353e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::weak_ptr&lt; DispatcherBase &gt;</type>
      <name>guard_</name>
      <anchorfile>classcan_1_1SimpleDispatcher_1_1DispatcherBase_1_1GuardedListener.html</anchorfile>
      <anchor>aadcde98ffc4b017a5d24e0c944dbee29</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>can::Header</name>
    <filename>structcan_1_1Header.html</filename>
    <member kind="function">
      <type>unsigned int</type>
      <name>fullid</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a43c96a70cd3a6183909b57f4df753197</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Header</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a7721928800dbfd3b54ed14ef31de7278</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Header</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>aaf279ea409b0816bf6700b7a61dc4b49</anchor>
      <arglist>(unsigned int i, bool extended, bool rtr, bool error)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isValid</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>ad2307fb743f801fef59db0d39070b00e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>unsigned int</type>
      <name>key</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>aba3200f69b5127532f971628bacb5e88</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator unsigned int</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a63ae6fb3f085c343be98f5758ef6b314</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>id</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a83b55eb73bca5040c937b0a0f6a5fb1d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>is_error</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a6e8e7d75884baab4344056f970469a6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>is_extended</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a8b7f49bd54b7e8d31de0227362451e93</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>is_rtr</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a26ac74beddcc3682308ee7d85ea8f4b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const unsigned int</type>
      <name>ERROR_MASK</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>aacd8cf220cef21879449583c7953f936</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const unsigned int</type>
      <name>EXTENDED_MASK</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a96a722208e308844e0a1933073d7cd75</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const unsigned int</type>
      <name>ID_MASK</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a5bf1e014719189230354b7bcc48853b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const unsigned int</type>
      <name>RTR_MASK</name>
      <anchorfile>structcan_1_1Header.html</anchorfile>
      <anchor>a2f36732c6333ee4edbf0ee5383ad27ec</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::Listener</name>
    <filename>classcan_1_1Listener.html</filename>
    <templarg></templarg>
    <templarg></templarg>
    <member kind="typedef">
      <type>T</type>
      <name>Callable</name>
      <anchorfile>classcan_1_1Listener.html</anchorfile>
      <anchor>a7e385f396ee1c1a1e01e9da69b3a64d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const Listener &gt;</type>
      <name>ListenerConstSharedPtr</name>
      <anchorfile>classcan_1_1Listener.html</anchorfile>
      <anchor>abe4c035a517d70fd0f38c40872107a7e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>U</type>
      <name>Type</name>
      <anchorfile>classcan_1_1Listener.html</anchorfile>
      <anchor>aef5bb2f6fd482dfc0ffc39d8f8703505</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Listener</name>
      <anchorfile>classcan_1_1Listener.html</anchorfile>
      <anchor>ae9ae7d1b693f1f18a4792ee5cb7414c6</anchor>
      <arglist>(const T &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>operator()</name>
      <anchorfile>classcan_1_1Listener.html</anchorfile>
      <anchor>ac5524c8b634c326895214af0196880dd</anchor>
      <arglist>(const U &amp;u) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Listener</name>
      <anchorfile>classcan_1_1Listener.html</anchorfile>
      <anchor>a2ae692da975363f741bb9cdc25e9f094</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const T</type>
      <name>callable_</name>
      <anchorfile>classcan_1_1Listener.html</anchorfile>
      <anchor>a79d64004bc2e24835939cb21d984ae7a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>can::BCMsocket::Message</name>
    <filename>structcan_1_1BCMsocket_1_1Message.html</filename>
    <member kind="function">
      <type>bcm_msg_head &amp;</type>
      <name>head</name>
      <anchorfile>structcan_1_1BCMsocket_1_1Message.html</anchorfile>
      <anchor>ab26e9b7761491c87d8a318e51112dff1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Message</name>
      <anchorfile>structcan_1_1BCMsocket_1_1Message.html</anchorfile>
      <anchor>aff7c84c3fce31c4f4766dd50cfe2e31d</anchor>
      <arglist>(size_t n)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setHeader</name>
      <anchorfile>structcan_1_1BCMsocket_1_1Message.html</anchorfile>
      <anchor>a878d0ae94adcf1c76a7d2864c8611532</anchor>
      <arglist>(Header header)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setIVal2</name>
      <anchorfile>structcan_1_1BCMsocket_1_1Message.html</anchorfile>
      <anchor>a451b25725ebe10cf476aa8c663b17978</anchor>
      <arglist>(T period)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>write</name>
      <anchorfile>structcan_1_1BCMsocket_1_1Message.html</anchorfile>
      <anchor>a5889e2176a9518b223820e20c8da7a22</anchor>
      <arglist>(int s)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Message</name>
      <anchorfile>structcan_1_1BCMsocket_1_1Message.html</anchorfile>
      <anchor>a4e18517b1d7dd9509a6274119efffb13</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>data</name>
      <anchorfile>structcan_1_1BCMsocket_1_1Message.html</anchorfile>
      <anchor>a6a7f0f788afceb5697fe456748e02dd0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>structcan_1_1BCMsocket_1_1Message.html</anchorfile>
      <anchor>a516cb1c309ca6e797b45113baf6ccc4d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>can::MsgHeader</name>
    <filename>structcan_1_1MsgHeader.html</filename>
    <base>can::Header</base>
    <member kind="function">
      <type></type>
      <name>MsgHeader</name>
      <anchorfile>structcan_1_1MsgHeader.html</anchorfile>
      <anchor>aae89c887fbadb2f8f7e090618fdeb11f</anchor>
      <arglist>(unsigned int i=0, bool rtr=false)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::NoSettings</name>
    <filename>classcan_1_1NoSettings.html</filename>
    <base>can::Settings</base>
    <member kind="function" static="yes">
      <type>static SettingsConstSharedPtr</type>
      <name>create</name>
      <anchorfile>classcan_1_1NoSettings.html</anchorfile>
      <anchor>a22bcfe4807b60e0e4965350ac6a34087</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual bool</type>
      <name>getRepr</name>
      <anchorfile>classcan_1_1NoSettings.html</anchorfile>
      <anchor>a8ff3edd79a2a3cb6da3407e5c82c9024</anchor>
      <arglist>(const std::string &amp;n, std::string &amp;repr) const</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Receiver</name>
    <filename>classReceiver.html</filename>
    <member kind="function">
      <type>void</type>
      <name>handle</name>
      <anchorfile>classReceiver.html</anchorfile>
      <anchor>a012f61f36502955f0b4f150fed526b03</anchor>
      <arglist>(const can::Frame &amp;f)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Receiver</name>
      <anchorfile>classReceiver.html</anchorfile>
      <anchor>a3be89d7984c46c6ebf75db711e569442</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Receiver</name>
      <anchorfile>classReceiver.html</anchorfile>
      <anchor>a577752689ccbea96dee1bdb54af5164e</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="variable">
      <type>std::list&lt; std::string &gt;</type>
      <name>responses</name>
      <anchorfile>classReceiver.html</anchorfile>
      <anchor>a5d1b1e29bdbb374a39b1ec2c092c0e2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>Receiver &amp;</type>
      <name>operator=</name>
      <anchorfile>classReceiver.html</anchorfile>
      <anchor>a2e559dec8552c1fd44030e21ddb676a9</anchor>
      <arglist>(const Receiver &amp;)=delete</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>Receiver</name>
      <anchorfile>classReceiver.html</anchorfile>
      <anchor>a1b2bd089f6f8196c5a8d734bbf0a60f7</anchor>
      <arglist>(const Receiver &amp;)=delete</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::BufferedReader::ScopedEnabler</name>
    <filename>classcan_1_1BufferedReader_1_1ScopedEnabler.html</filename>
    <member kind="function">
      <type></type>
      <name>ScopedEnabler</name>
      <anchorfile>classcan_1_1BufferedReader_1_1ScopedEnabler.html</anchorfile>
      <anchor>a9bd158ff76f6efd88bb8a0eaa74566dd</anchor>
      <arglist>(BufferedReader &amp;reader)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ScopedEnabler</name>
      <anchorfile>classcan_1_1BufferedReader_1_1ScopedEnabler.html</anchorfile>
      <anchor>ae2e357410c7937e4545af294aa3500f6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>before_</name>
      <anchorfile>classcan_1_1BufferedReader_1_1ScopedEnabler.html</anchorfile>
      <anchor>a12d34e5e23e32777cc7a478b73a69106</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>BufferedReader &amp;</type>
      <name>reader_</name>
      <anchorfile>classcan_1_1BufferedReader_1_1ScopedEnabler.html</anchorfile>
      <anchor>a28f642af07ecadeca44fac8e978f532f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::Settings</name>
    <filename>classcan_1_1Settings.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>get</name>
      <anchorfile>classcan_1_1Settings.html</anchorfile>
      <anchor>a8720b98e7e914b05508eede1deb2d9ea</anchor>
      <arglist>(const std::string &amp;n, T &amp;val) const</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>get_optional</name>
      <anchorfile>classcan_1_1Settings.html</anchorfile>
      <anchor>a72ea9f44e4fd86bdc20169db9ccdff7a</anchor>
      <arglist>(const std::string &amp;n, const T &amp;def) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Settings</name>
      <anchorfile>classcan_1_1Settings.html</anchorfile>
      <anchor>a7d53efea4ae94f6c7387b928e356b3e0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private" virtualness="pure">
      <type>virtual bool</type>
      <name>getRepr</name>
      <anchorfile>classcan_1_1Settings.html</anchorfile>
      <anchor>aec3287fcf33b452312fcab3b553294c3</anchor>
      <arglist>(const std::string &amp;n, std::string &amp;repr) const =0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::SettingsMap</name>
    <filename>classcan_1_1SettingsMap.html</filename>
    <base>can::Settings</base>
    <member kind="function">
      <type>void</type>
      <name>set</name>
      <anchorfile>classcan_1_1SettingsMap.html</anchorfile>
      <anchor>a3e74ea04a688df3e5b0d2dbcf8d82318</anchor>
      <arglist>(const std::string &amp;n, const T &amp;val)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::shared_ptr&lt; SettingsMap &gt;</type>
      <name>create</name>
      <anchorfile>classcan_1_1SettingsMap.html</anchorfile>
      <anchor>af46f08fd1bac1767cb13d0f3f9ad6787</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual bool</type>
      <name>getRepr</name>
      <anchorfile>classcan_1_1SettingsMap.html</anchorfile>
      <anchor>a363df5d355ff37e8089650e3ebadb87b</anchor>
      <arglist>(const std::string &amp;n, std::string &amp;repr) const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; std::string, std::string &gt;</type>
      <name>settings_</name>
      <anchorfile>classcan_1_1SettingsMap.html</anchorfile>
      <anchor>a2621f93cc1dae4ba593cb393cd5de1fa</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::SimpleDispatcher</name>
    <filename>classcan_1_1SimpleDispatcher.html</filename>
    <templarg></templarg>
    <class kind="class">can::SimpleDispatcher::DispatcherBase</class>
    <member kind="typedef">
      <type>typename Listener::Callable</type>
      <name>Callable</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a16bb1caab4dbf2765326f0b18824640e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>typename Listener::ListenerConstSharedPtr</type>
      <name>ListenerConstSharedPtr</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a45e6a2699d942cdc58fb880890c91cfa</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>typename Listener::Type</type>
      <name>Type</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a9d415f1f1227277a0f35af62d8bb956f</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a774e08888706feba6bd8a9beced7acbc</anchor>
      <arglist>(const Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dispatch</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a55ebe8d0f9a0f40bbd4524460285195c</anchor>
      <arglist>(const Type &amp;obj)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>numListeners</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>ad855a9442702e883d46c6518afa2f477</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator Callable</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a2f8bd054098cf3d5f11c68eb72dd345c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SimpleDispatcher</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a65f4dcde7ddc54236652209fc0ea54fe</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::shared_ptr&lt; DispatcherBase &gt;</type>
      <name>DispatcherBaseSharedPtr</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a2ec6ad80de7d724b4d3c0303cc3126e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>DispatcherBaseSharedPtr</type>
      <name>dispatcher_</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>ac5bfef4e93d12226c91bc2e5aea3f58b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a7efcce1aa7222c2f05bf9522d8a9fc18</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>SimpleDispatcher&lt; CommInterface::FrameListener &gt;</name>
    <filename>classcan_1_1SimpleDispatcher.html</filename>
    <member kind="typedef">
      <type>typename CommInterface::FrameListener ::Callable</type>
      <name>Callable</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a16bb1caab4dbf2765326f0b18824640e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>typename CommInterface::FrameListener ::ListenerConstSharedPtr</type>
      <name>ListenerConstSharedPtr</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a45e6a2699d942cdc58fb880890c91cfa</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>typename CommInterface::FrameListener ::Type</type>
      <name>Type</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a9d415f1f1227277a0f35af62d8bb956f</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a774e08888706feba6bd8a9beced7acbc</anchor>
      <arglist>(const Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dispatch</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a55ebe8d0f9a0f40bbd4524460285195c</anchor>
      <arglist>(const Type &amp;obj)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>numListeners</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>ad855a9442702e883d46c6518afa2f477</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator Callable</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a2f8bd054098cf3d5f11c68eb72dd345c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SimpleDispatcher</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a65f4dcde7ddc54236652209fc0ea54fe</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::shared_ptr&lt; DispatcherBase &gt;</type>
      <name>DispatcherBaseSharedPtr</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a2ec6ad80de7d724b4d3c0303cc3126e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>DispatcherBaseSharedPtr</type>
      <name>dispatcher_</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>ac5bfef4e93d12226c91bc2e5aea3f58b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a7efcce1aa7222c2f05bf9522d8a9fc18</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>SimpleDispatcher&lt; StateInterface::StateListener &gt;</name>
    <filename>classcan_1_1SimpleDispatcher.html</filename>
    <member kind="typedef">
      <type>typename StateInterface::StateListener ::Callable</type>
      <name>Callable</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a16bb1caab4dbf2765326f0b18824640e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>typename StateInterface::StateListener ::ListenerConstSharedPtr</type>
      <name>ListenerConstSharedPtr</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a45e6a2699d942cdc58fb880890c91cfa</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>typename StateInterface::StateListener ::Type</type>
      <name>Type</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a9d415f1f1227277a0f35af62d8bb956f</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>ListenerConstSharedPtr</type>
      <name>createListener</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a774e08888706feba6bd8a9beced7acbc</anchor>
      <arglist>(const Callable &amp;callable)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dispatch</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a55ebe8d0f9a0f40bbd4524460285195c</anchor>
      <arglist>(const Type &amp;obj)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>numListeners</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>ad855a9442702e883d46c6518afa2f477</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator Callable</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a2f8bd054098cf3d5f11c68eb72dd345c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SimpleDispatcher</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a65f4dcde7ddc54236652209fc0ea54fe</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::shared_ptr&lt; DispatcherBase &gt;</type>
      <name>DispatcherBaseSharedPtr</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a2ec6ad80de7d724b4d3c0303cc3126e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>DispatcherBaseSharedPtr</type>
      <name>dispatcher_</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>ac5bfef4e93d12226c91bc2e5aea3f58b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classcan_1_1SimpleDispatcher.html</anchorfile>
      <anchor>a7efcce1aa7222c2f05bf9522d8a9fc18</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::SocketCANInterface</name>
    <filename>classcan_1_1SocketCANInterface.html</filename>
    <base>AsioDriver&lt; boost::asio::posix::stream_descriptor &gt;</base>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>doesLoopBack</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a9290b11b67ed9dbc4b1f2fda8c08da4d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>can_err_mask_t</type>
      <name>getErrorMask</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>ab130b6f80ae9cab762bf094571efc35b</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>can_err_mask_t</type>
      <name>getFatalErrorMask</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>ab915a58f3ebc60e06ae45c122ea3e6ca</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getInternalSocket</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a2fa71c856502f86ec986999845438df5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>adce6c013f3c1731d2fd18e7558f21f39</anchor>
      <arglist>(const std::string &amp;device, bool loopback) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a1a986d9b41986f77e44d6dfac4ba2d8c</anchor>
      <arglist>(const std::string &amp;device, bool loopback, SettingsConstSharedPtr settings) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>recover</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a2e653cc53c2ad9053ef22c88a92cbb7f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SocketCANInterface</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>aebaeebe163b3e47a4803bf29870a5388</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>translateError</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a19e2aa495fce522844c7a5a39e302505</anchor>
      <arglist>(unsigned int internal_error, std::string &amp;str)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>enqueue</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a055618814247ff2ebfff58d142d845e1</anchor>
      <arglist>(const Frame &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a5f2343b0688a9ef636f3e5ab1c280b89</anchor>
      <arglist>(const std::string &amp;device, bool loopback, can_err_mask_t error_mask, can_err_mask_t fatal_error_mask)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>readFrame</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>ab45e70b7bc3477be11793eb175257756</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>triggerReadSome</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a7736a28202050894157dd77729f7d9e1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>device_</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a1e2b1aeecdddb12783babf7cfbe10c50</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>can_frame</type>
      <name>frame_</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a0126de77fb452b87419acb6b0ea243c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static can_err_mask_t</type>
      <name>parse_error_mask</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a955c68ca49a57ef09f5901e95669d95d</anchor>
      <arglist>(SettingsConstSharedPtr settings, const std::string &amp;entry, can_err_mask_t defaults)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>can_err_mask_t</type>
      <name>error_mask_</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a6046bf67cd0544e5f37740e306db9dec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>can_err_mask_t</type>
      <name>fatal_error_mask_</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a744e4a267516f39de9f3af91b9265149</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>loopback_</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>af8c23146d8871084c0d19be67df603db</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>sc_</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>ae02a1006b8fcd9e66d0f2243d320e834</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>send_mutex_</name>
      <anchorfile>classcan_1_1SocketCANInterface.html</anchorfile>
      <anchor>a4f5693c798d4161f95190adc23288ae2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::State</name>
    <filename>classcan_1_1State.html</filename>
    <member kind="enumvalue">
      <name>closed</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>ad6bdcbaa6b3bf3a88953c9bace9f5866ad273c8a7fe72fba63ec23e51f495e92d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>DriverState</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>ad6bdcbaa6b3bf3a88953c9bace9f5866</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>closed</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>ad6bdcbaa6b3bf3a88953c9bace9f5866ad273c8a7fe72fba63ec23e51f495e92d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>open</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>ad6bdcbaa6b3bf3a88953c9bace9f5866acfa6e99099134a87897053c89a9fd3f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ready</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>ad6bdcbaa6b3bf3a88953c9bace9f5866ac747fc5d6ae5e311475ffbe3a6bce55a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>open</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>ad6bdcbaa6b3bf3a88953c9bace9f5866acfa6e99099134a87897053c89a9fd3f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ready</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>ad6bdcbaa6b3bf3a88953c9bace9f5866ac747fc5d6ae5e311475ffbe3a6bce55a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>isReady</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>a7d1a3b3b14948911c730c3bb920b5429</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>State</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>aaf248fc161e8b92923021aef67414e63</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~State</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>aa3b082baf0a7395953d21cc09c22b69c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>enum can::State::DriverState</type>
      <name>driver_state</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>a8d14c4cebb0c103c6c438da4b940e9c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>boost::system::error_code</type>
      <name>error_code</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>a8a2f155e6bc4250c6cb728ce0de1f717</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>internal_error</name>
      <anchorfile>classcan_1_1State.html</anchorfile>
      <anchor>a29b6acc9c5e4e81a9bc0ed8fe47b2adf</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::StateInterface</name>
    <filename>classcan_1_1StateInterface.html</filename>
    <member kind="typedef">
      <type>DelegateHelper&lt; StateFunc &gt;</type>
      <name>StateDelegate</name>
      <anchorfile>classcan_1_1StateInterface.html</anchorfile>
      <anchor>aef97b762d62ba98d11c4f69b74fc4f73</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const State &amp;)&gt;</type>
      <name>StateFunc</name>
      <anchorfile>classcan_1_1StateInterface.html</anchorfile>
      <anchor>a1a895bc73334bfaa10bf90678d67532c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Listener&lt; const StateFunc, const State &amp; &gt;</type>
      <name>StateListener</name>
      <anchorfile>classcan_1_1StateInterface.html</anchorfile>
      <anchor>ae6f4a376291ce569af42e31a12b3d6da</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>StateListener::ListenerConstSharedPtr</type>
      <name>StateListenerConstSharedPtr</name>
      <anchorfile>classcan_1_1StateInterface.html</anchorfile>
      <anchor>a5291199311a68d28926009bc1baac963</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual StateListenerConstSharedPtr</type>
      <name>createStateListener</name>
      <anchorfile>classcan_1_1StateInterface.html</anchorfile>
      <anchor>aefa10fe88dccbb742dd9d30e0bcf7256</anchor>
      <arglist>(const StateFunc &amp;delegate)=0</arglist>
    </member>
    <member kind="function">
      <type>StateListenerConstSharedPtr</type>
      <name>createStateListenerM</name>
      <anchorfile>classcan_1_1StateInterface.html</anchorfile>
      <anchor>a4ae7d984a72c0cf062ac100320c7e5b0</anchor>
      <arglist>(Instance inst, Callable callable)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~StateInterface</name>
      <anchorfile>classcan_1_1StateInterface.html</anchorfile>
      <anchor>a0a1e281b11f74861c2faaaeed5afde0a</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::StateWaiter</name>
    <filename>classcan_1_1StateWaiter.html</filename>
    <member kind="function">
      <type></type>
      <name>StateWaiter</name>
      <anchorfile>classcan_1_1StateWaiter.html</anchorfile>
      <anchor>ac0846b2431d6797925cefab5959c3035</anchor>
      <arglist>(InterfaceType *interface)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>wait</name>
      <anchorfile>classcan_1_1StateWaiter.html</anchorfile>
      <anchor>a17384cd7230a3b9f015c477fe5fc8a95</anchor>
      <arglist>(const can::State::DriverState &amp;s, const DurationType &amp;duration)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>updateState</name>
      <anchorfile>classcan_1_1StateWaiter.html</anchorfile>
      <anchor>a6080ed2c3ec491f4e197bcabf55e4ae2</anchor>
      <arglist>(const can::State &amp;s)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::condition_variable</type>
      <name>cond_</name>
      <anchorfile>classcan_1_1StateWaiter.html</anchorfile>
      <anchor>a145beac609d829582d3d6c8199c10a3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classcan_1_1StateWaiter.html</anchorfile>
      <anchor>a6873c35f741881b864ab17f3cd39f3f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>can::State</type>
      <name>state_</name>
      <anchorfile>classcan_1_1StateWaiter.html</anchorfile>
      <anchor>a9c4fed7ddc167b739185c0aab74e396b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>can::StateInterface::StateListenerConstSharedPtr</type>
      <name>state_listener_</name>
      <anchorfile>classcan_1_1StateWaiter.html</anchorfile>
      <anchor>a979f0f622b6adc89c1a1995c82d42438</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::ThreadedInterface</name>
    <filename>classcan_1_1ThreadedInterface.html</filename>
    <templarg></templarg>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>ac427e9e639bc17a82c5aeb89b994a7b9</anchor>
      <arglist>(const std::string &amp;device, bool loopback) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>ae3ae0f27bfd66e3f8a738521bdd34a4a</anchor>
      <arglist>(const std::string &amp;device, bool loopback, SettingsConstSharedPtr settings) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>join</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>ad05994f89884ebeeaa1e10d66d0651ff</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>shutdown</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>acb2572e4a0b68546728a56d4abd92bd7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ThreadedInterface</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>a04c0addbe4d1898d59a1e72e665ce60e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ThreadedInterface</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>ad6fc89d6bc88fcc68bfe3685f72287ff</anchor>
      <arglist>(const T1 &amp;t1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ThreadedInterface</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>af3a5d8c22cd48d76dfdfc80ba53730d4</anchor>
      <arglist>(const T1 &amp;t1, const T2 &amp;t2)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ThreadedInterface</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>a933094a9dae6541d7524f6cec47d695b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>run_thread</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>ad6201f380c93eac2f0553d6b7892f921</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; boost::thread &gt;</type>
      <name>thread_</name>
      <anchorfile>classcan_1_1ThreadedInterface.html</anchorfile>
      <anchor>adfd7840a8ed7398b1d69291b3fc2252f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>XmlRpcSettings</name>
    <filename>classXmlRpcSettings.html</filename>
    <base>can::Settings</base>
    <member kind="function">
      <type>XmlRpcSettings &amp;</type>
      <name>operator=</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>ada5c74da7ba0a9ab8eec92d17ef0c11b</anchor>
      <arglist>(const XmlRpc::XmlRpcValue &amp;v)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>XmlRpcSettings</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>ae1f47ca949a152dee0ac1a4c40bb96d2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>XmlRpcSettings</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>a5c38076bd1568e5772db8e8c6c23ff71</anchor>
      <arglist>(const XmlRpc::XmlRpcValue &amp;v)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static can::SettingsConstSharedPtr</type>
      <name>create</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>a16e5b7ceab46df7e84704648aa191485</anchor>
      <arglist>(T nh, const std::string &amp;ns=&quot;/&quot;)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual bool</type>
      <name>getRepr</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>a8df0209cab0eac7f31d66aa72c68ad59</anchor>
      <arglist>(const std::string &amp;name, std::string &amp;repr) const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>XmlRpc::XmlRpcValue</type>
      <name>value_</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>a5d9a8e3018f166530de68640277278f9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>can</name>
    <filename>namespacecan.html</filename>
    <class kind="class">can::AsioDriver</class>
    <class kind="class">can::BCMsocket</class>
    <class kind="class">can::BufferedReader</class>
    <class kind="class">can::CommInterface</class>
    <class kind="class">can::DelegateHelper</class>
    <class kind="class">can::DriverInterface</class>
    <class kind="class">can::DummyInterface</class>
    <class kind="struct">can::ErrorHeader</class>
    <class kind="struct">can::ExtendedHeader</class>
    <class kind="class">can::FilteredDispatcher</class>
    <class kind="class">can::FilteredFrameListener</class>
    <class kind="struct">can::Frame</class>
    <class kind="class">can::FrameFilter</class>
    <class kind="class">can::FrameMaskFilter</class>
    <class kind="class">can::FrameRangeFilter</class>
    <class kind="struct">can::Header</class>
    <class kind="class">can::Listener</class>
    <class kind="struct">can::MsgHeader</class>
    <class kind="class">can::NoSettings</class>
    <class kind="class">can::Settings</class>
    <class kind="class">can::SettingsMap</class>
    <class kind="class">can::SimpleDispatcher</class>
    <class kind="class">can::SocketCANInterface</class>
    <class kind="class">can::State</class>
    <class kind="class">can::StateInterface</class>
    <class kind="class">can::StateWaiter</class>
    <class kind="class">can::ThreadedInterface</class>
    <member kind="typedef">
      <type>std::shared_ptr&lt; CommInterface &gt;</type>
      <name>CommInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac12e9769e910dc6d7af0e91ba7f92dd8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; DriverInterface &gt;</type>
      <name>DriverInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac5b8c401dc0aa24de134b2f4d335947e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; DummyInterface &gt;</type>
      <name>DummyInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a1cd969cee368b92ada5b6a44d27d6b4a</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; FrameFilter &gt;</type>
      <name>FrameFilterSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>aaf2f241d0289db3b8a821376fc1af9a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>CommInterface::FrameListenerConstSharedPtr</type>
      <name>FrameListenerConstSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a20cdf9717c61bb4189326657006cf44f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const Settings &gt;</type>
      <name>SettingsConstSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a1bb3073f562a8a86221d7ffdfbc3e3fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; Settings &gt;</type>
      <name>SettingsSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a98f8615f2db23e62277d3e47a751638d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>SocketCANInterface</type>
      <name>SocketCANDriver</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a30c369e2f4e7c2ea9fdb270145f62e03</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; SocketCANDriver &gt;</type>
      <name>SocketCANDriverSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ab23fffba0e49919d4c6835e3830a0d84</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; SocketCANInterface &gt;</type>
      <name>SocketCANInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a4f5ac2326e9744629480e8650feb957b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; StateInterface &gt;</type>
      <name>StateInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a0609447a329b181eb14588d427c325db</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>StateInterface::StateListenerConstSharedPtr</type>
      <name>StateListenerConstSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a9be70eb96f305f430a0ef56ab74a45eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ThreadedInterface&lt; SocketCANInterface &gt;</type>
      <name>ThreadedSocketCANInterface</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a5e1c3242c9df9f6e2c1a27ca97599ca4</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; ThreadedSocketCANInterface &gt;</type>
      <name>ThreadedSocketCANInterfaceSharedPtr</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a43c92521d992b669d325f58ddae4925e</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>buffer2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac00770968c29e260b176bc872259e935</anchor>
      <arglist>(const std::string &amp;in, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>byte2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ac52aa7381dd89a67fc96215cdcf37265</anchor>
      <arglist>(const uint8_t &amp;d, bool pad, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dec2hex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ae92a4164dcb8d09f87e2df76500ea66d</anchor>
      <arglist>(char &amp;h, const uint8_t &amp;d, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hex2buffer</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a86407d72a5a5caef4aa25cc5596088f2</anchor>
      <arglist>(std::string &amp;out, const std::string &amp;in_raw, bool pad)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hex2dec</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a3e30907207d610d9cea305270d0fbed7</anchor>
      <arglist>(uint8_t &amp;d, const char &amp;h)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>adf4dd88745d2f51f5723981afafec9ed</anchor>
      <arglist>(std::ostream &amp;stream, const Frame &amp;f)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a8c31622de2c08c964b08664e42742e80</anchor>
      <arglist>(std::ostream &amp;stream, const Header &amp;h)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a497d617d6f34485a8b451075de711f4f</anchor>
      <arglist>(const char *s)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a0096d029d010c40cf847d8f4706e6d1a</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a05b0adf8d52699ee24b573364fa70461</anchor>
      <arglist>(const T &amp;ct)</arglist>
    </member>
    <member kind="function">
      <type>FrameFilterSharedPtr</type>
      <name>tofilter</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a3e0d57ea6cb3c46366e1acddde17005b</anchor>
      <arglist>(const uint32_t &amp;id)</arglist>
    </member>
    <member kind="function">
      <type>FilteredFrameListener::FilterVector</type>
      <name>tofilters</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a11fb074dec7a91dfcb364b2728d50c10</anchor>
      <arglist>(const T &amp;v)</arglist>
    </member>
    <member kind="function">
      <type>Frame</type>
      <name>toframe</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a80935c0c174ab851284c49ef40126809</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>Header</type>
      <name>toheader</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a66d9be79a457145a90226c7effc10309</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>tohex</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a0357eb720187fbae6b257d2ef78b5ca5</anchor>
      <arglist>(const std::string &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>tostring</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a5d203303b80b110498aac2c63c96caa2</anchor>
      <arglist>(const Frame &amp;f, bool lc)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>tostring</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>ae8eeddfd2b28ef92bb47f5adcf5015b8</anchor>
      <arglist>(const Header &amp;h, bool lc)</arglist>
    </member>
  </compound>
</tagfile>
