<?xml version="1.0" encoding="utf-8"?>
<!--Detailed report on module LogObserver-->
<CCCC_Project>
<module_summary>
<lines_of_code value="44" level="0" />
<lines_of_code_per_member_function value="******" level="0" />
<McCabes_cyclomatic_complexity value="8" level="0" />
<McCabes_cyclomatic_complexity_per_member_function value="******" level="2" />
<lines_of_code value="19" level="0" />
<lines_of_code_per_member_function value="********" level="2" />
<lines_of_code_per_line_of_comment value="2.316" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.421" level="0" />
<weighted_methods_per_class_unity value="4" level="0" />
<weighted_methods_per_class_visibility value="1" level="0" />
<depth_of_inheritance_tree value="2" level="0" />
<number_of_children value="0" level="0" />
<coupling_between_objects value="4" level="0" />
<IF4 value="0" level="0" />
<IF4_per_member_function value="********" level="0" />
<IF4_visible value="0" level="0" />
<IF4_visible_per_member_function value="********" level="0" />
<IF4_concrete value="0" level="0" />
<IF4_concrete_per_member_function value="********" level="0" />
</module_summary>
<module_detail>
<description>definition</description>
<source_reference file="./main/LogObserver.h" line="33" />
<lines_of_code value="5" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="3" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</module_detail>
<procedural_detail>
<member_function>
<name>ConfigService_EventChangedConfigItem(const string &amp;,const string &amp;)</name>
<extent>
<description>declaration</description>
<source_reference file="./main/LogObserver.h" line="53" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./main/LogObserver.cpp" line="73" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="2" level="0" />
<lines_of_comment value="10" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>LogObserver(ostream &amp;)</name>
<extent>
<description>declaration</description>
<source_reference file="./main/LogObserver.h" line="36" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./main/LogObserver.cpp" line="31" />
</extent>
<lines_of_code value="6" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>updateFromConfig()</name>
<extent>
<description>declaration</description>
<source_reference file="./main/LogObserver.h" line="45" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./main/LogObserver.cpp" line="47" />
</extent>
<lines_of_code value="20" level="0" />
<McCabes_cyclomatic_complexity value="6" level="0" />
<lines_of_comment value="6" level="0" />
<lines_of_code_per_line_of_comment value="3.333" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="1.000" level="0" />
</member_function>
<member_function>
<name>~LogObserver()</name>
<extent>
<description>declaration</description>
<source_reference file="./main/LogObserver.h" line="38" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./main/LogObserver.cpp" line="40" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
</procedural_detail>
<structural_detail>
<module>
<name>LogObserver</name>
<client_module>
</client_module>
<supplier_module>
<name>StreamLogObserver</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>inheritance</description>
<source_reference file="./main/LogObserver.h" line="33" />
</extent>
<name>ostream</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./main/LogObserver.h" line="36" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./main/LogObserver.cpp" line="31" />
</extent>
<name>string</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./main/LogObserver.h" line="53" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./main/LogObserver.h" line="53" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./main/LogObserver.cpp" line="73" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./main/LogObserver.cpp" line="73" />
</extent>
<name>trackable</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>inheritance</description>
<source_reference file="./main/LogObserver.h" line="33" />
</extent>
</supplier_module>
</module>
</structural_detail>
</CCCC_Project>

