<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.20" xml:lang="en-US">
  <compounddef id="classUserMetricsInput_1_1MetricManager" kind="class" language="C++" prot="public" abstract="yes">
    <compoundname>UserMetricsInput::MetricManager</compoundname>
    <basecompoundref prot="public" virt="non-virtual">QObject</basecompoundref>
    <includes refid="MetricManager_8h" local="no">libusermetricsinput/MetricManager.h</includes>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classUserMetricsInput_1_1MetricManager_1a00d77a146990407d751b431ab919dda1" prot="public" static="no" const="no" explicit="yes" inline="no" virt="non-virtual">
        <type></type>
        <definition>UserMetricsInput::MetricManager::MetricManager</definition>
        <argsstring>(QObject *parent=0)</argsstring>
        <name>MetricManager</name>
        <param>
          <type>QObject *</type>
          <declname>parent</declname>
          <defval>0</defval>
        </param>
        <briefdescription>
<para>You cannot use this constructor. This is a pure-virtual class. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsinput/MetricManager.h" line="74" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsInput_1_1MetricManager_1af65c143f487dfe8288df958a3b2603cd" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type></type>
        <definition>virtual UserMetricsInput::MetricManager::~MetricManager</definition>
        <argsstring>()</argsstring>
        <name>~MetricManager</name>
        <briefdescription>
<para>Destructs the metric manager and associated <ref refid="classUserMetricsInput_1_1Metric" kindref="compound">Metric</ref> instances. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsinput/MetricManager.h" line="79" column="9"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsInput_1_1MetricManager_1a159787e9b9e291106f21a6b61fb8cfe5" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type><ref refid="namespaceUserMetricsInput_1af5d8d34e6e6ea8560855d005f8b8c118" kindref="member">MetricPtr</ref></type>
        <definition>virtual MetricPtr UserMetricsInput::MetricManager::add</definition>
        <argsstring>(const QString &amp;dataSourceId, const QString &amp;formatString, const QString &amp;emptyDataString=&quot;&quot;, const QString &amp;textDomain=&quot;&quot;)=0</argsstring>
        <name>add</name>
        <param>
          <type>const QString &amp;</type>
          <declname>dataSourceId</declname>
        </param>
        <param>
          <type>const QString &amp;</type>
          <declname>formatString</declname>
        </param>
        <param>
          <type>const QString &amp;</type>
          <declname>emptyDataString</declname>
          <defval>&quot;&quot;</defval>
        </param>
        <param>
          <type>const QString &amp;</type>
          <declname>textDomain</declname>
          <defval>&quot;&quot;</defval>
        </param>
        <briefdescription>
<para>Register a new <ref refid="classUserMetricsInput_1_1Metric" kindref="compound">Metric</ref>. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>dataSourceId</parametername>
</parameternamelist>
<parameterdescription>
<para>The unique ID of the data source, e.g. &quot;facebook&quot; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>formatString</parametername>
</parameternamelist>
<parameterdescription>
<para>The string to print in the output API, e.g. &quot;&lt;b&gt;%1&lt;/b&gt; messages received today&quot; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>emptyDataString</parametername>
</parameternamelist>
<parameterdescription>
<para>The string to print in the case of no data, e.g. &quot;No messages received today&quot; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>textDomain</parametername>
</parameternamelist>
<parameterdescription>
<para>The translation domain</para>
</parameterdescription>
</parameteritem>
</parameterlist>
This will register a new user <ref refid="classUserMetricsInput_1_1Metric" kindref="compound">Metric</ref> with the above parameters. It is acceptable to call this method more than once. The same <ref refid="classUserMetricsInput_1_1Metric" kindref="compound">Metric</ref> instance will be returned. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsinput/MetricManager.h" line="100" column="19"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsInput_1_1MetricManager_1a035e35bbaa213ad6a2835762440ed5a7" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type><ref refid="namespaceUserMetricsInput_1af5d8d34e6e6ea8560855d005f8b8c118" kindref="member">MetricPtr</ref></type>
        <definition>virtual MetricPtr UserMetricsInput::MetricManager::add</definition>
        <argsstring>(const MetricParameters &amp;parameters)=0</argsstring>
        <name>add</name>
        <param>
          <type>const <ref refid="classUserMetricsInput_1_1MetricParameters" kindref="compound">MetricParameters</ref> &amp;</type>
          <declname>parameters</declname>
        </param>
        <briefdescription>
<para>Register a new <ref refid="classUserMetricsInput_1_1Metric" kindref="compound">Metric</ref>. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parameters</parametername>
</parameternamelist>
<parameterdescription>
<para>The parameters of the <ref refid="classUserMetricsInput_1_1Metric" kindref="compound">Metric</ref> to register</para>
</parameterdescription>
</parameteritem>
</parameterlist>
This will register a new user <ref refid="classUserMetricsInput_1_1Metric" kindref="compound">Metric</ref> with the above parameters. It is acceptable to call this method more than once. The same <ref refid="classUserMetricsInput_1_1Metric" kindref="compound">Metric</ref> instance will be returned. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsinput/MetricManager.h" line="113" column="19"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-static-func">
      <memberdef kind="function" id="classUserMetricsInput_1_1MetricManager_1a1634db867ec49218befc231f67c3e4b3" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="classUserMetricsInput_1_1MetricManager" kindref="compound">MetricManager</ref> *</type>
        <definition>static MetricManager* UserMetricsInput::MetricManager::getInstance</definition>
        <argsstring>()</argsstring>
        <name>getInstance</name>
        <briefdescription>
<para>Gets a new instance of the <ref refid="classUserMetricsInput_1_1MetricManager" kindref="compound">MetricManager</ref>. </para>
        </briefdescription>
        <detaileddescription>
<para>If you want a singleton instance then hold onto this. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsinput/MetricManager.h" line="86" column="23"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Central place for registering and updating user metrics. </para>
    </briefdescription>
    <detaileddescription>
<para>This is a long-lived class that can exist for the whole application lifecycle. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>QObject</label>
      </node>
      <node id="1">
        <label>UserMetricsInput::MetricManager</label>
        <link refid="classUserMetricsInput_1_1MetricManager"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="2">
        <label>QObject</label>
      </node>
      <node id="1">
        <label>UserMetricsInput::MetricManager</label>
        <link refid="classUserMetricsInput_1_1MetricManager"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="libusermetricsinput/MetricManager.h" line="69" column="1" bodyfile="libusermetricsinput/MetricManager.h" bodystart="69" bodyend="114"/>
    <listofallmembers>
      <member refid="classUserMetricsInput_1_1MetricManager_1a159787e9b9e291106f21a6b61fb8cfe5" prot="public" virt="pure-virtual"><scope>UserMetricsInput::MetricManager</scope><name>add</name></member>
      <member refid="classUserMetricsInput_1_1MetricManager_1a035e35bbaa213ad6a2835762440ed5a7" prot="public" virt="pure-virtual"><scope>UserMetricsInput::MetricManager</scope><name>add</name></member>
      <member refid="classUserMetricsInput_1_1MetricManager_1a1634db867ec49218befc231f67c3e4b3" prot="public" virt="non-virtual"><scope>UserMetricsInput::MetricManager</scope><name>getInstance</name></member>
      <member refid="classUserMetricsInput_1_1MetricManager_1a00d77a146990407d751b431ab919dda1" prot="public" virt="non-virtual"><scope>UserMetricsInput::MetricManager</scope><name>MetricManager</name></member>
      <member refid="classUserMetricsInput_1_1MetricManager_1af65c143f487dfe8288df958a3b2603cd" prot="public" virt="virtual"><scope>UserMetricsInput::MetricManager</scope><name>~MetricManager</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
