LCOV - code coverage report
Current view: top level - util - CubitEventDispatcher.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 18 20 90.0 %
Date: 2020-06-30 00:58:45 Functions: 4 5 80.0 %
Branches: 21 38 55.3 %

           Branch data     Line data    Source code
       1                 :            : 
       2                 :            : #include "CubitEventDispatcher.hpp"
       3                 :            : #include "CubitObserver.hpp"
       4                 :            : #include "CubitObservable.hpp"
       5                 :            : #include <algorithm>
       6                 :            : 
       7                 :       1748 : CubitEventDispatcher::CubitEventDispatcher()
       8                 :            : {
       9                 :        874 : }
      10                 :            : 
      11                 :          0 : CubitEventDispatcher::~CubitEventDispatcher()
      12                 :            : {
      13         [ #  # ]:          0 : }
      14                 :            : 
      15                 :     241275 : void CubitEventDispatcher::send_event(CubitObservable* observable, const CubitEvent& event)
      16                 :            : {
      17         [ +  + ]:     241275 :   if(observable)
      18                 :            :   {
      19         [ +  - ]:     240886 :       observable->notify_observers(&event);
      20                 :            :   }
      21                 :            : 
      22         [ +  - ]:     241275 :   std::vector<CubitObserver*>::iterator iter;
      23 [ +  - ][ +  - ]:     482594 :   for(iter = mObservers.begin(); iter != mObservers.end(); ++iter)
         [ +  - ][ +  - ]
                 [ +  + ]
      24                 :            :   {
      25 [ +  - ][ +  - ]:     241319 :     (*iter)->notify_observer(&event);
      26                 :            :   }
      27                 :     241275 : }
      28                 :            : 
      29                 :       2885 : void CubitEventDispatcher::add_observer(CubitObserver* obs)
      30                 :            : {
      31         [ +  - ]:       2885 :   std::vector<CubitObserver*>::iterator iter;
      32 [ +  - ][ +  - ]:       2885 :   iter = std::find(mObservers.begin(), mObservers.end(), obs);
                 [ +  - ]
      33 [ +  - ][ +  - ]:       2885 :   if(iter == mObservers.end())
                 [ +  + ]
      34                 :            :   {
      35         [ +  - ]:       2011 :     mObservers.push_back(obs);
      36                 :            :   }
      37                 :       2885 : }
      38                 :            : 
      39                 :       1137 : void CubitEventDispatcher::remove_observer(CubitObserver* obs)
      40                 :            : {
      41                 :            :   mObservers.erase(
      42                 :            :       std::remove(mObservers.begin(), mObservers.end(), obs),
      43                 :            :       mObservers.end()
      44                 :       1137 :       );
      45                 :       1137 : }
      46                 :            : 

Generated by: LCOV version 1.11