LCOV - code coverage report
Current view: top level - itaps/irel - Lasso.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 11 23 47.8 %
Date: 2020-12-16 07:07:30 Functions: 3 6 50.0 %
Branches: 13 54 24.1 %

           Branch data     Line data    Source code
       1                 :            : #include "Lasso.hpp"
       2                 :            : #include "AssocPair.hpp"
       3                 :            : 
       4                 :         15 : Lasso::~Lasso()
       5                 :            : {
       6         [ +  + ]:         13 :     for( std::set< AssocPair* >::iterator i = assocPairs.begin(); i != assocPairs.end(); ++i )
       7         [ +  - ]:          8 :         delete *i;
       8         [ -  + ]:         10 : }
       9                 :            : 
      10                 :            : //! find a pair equivalent to these ifaces, passed as pointer to
      11                 :            : //! SIDL interface or interface instance
      12                 :          0 : AssocPair* Lasso::find_pair( void* iface0, void* iface1, bool* switched )
      13                 :            : {
      14 [ #  # ][ #  # ]:          0 :     for( std::set< AssocPair* >::iterator i = assocPairs.begin(); i != assocPairs.end(); ++i )
                 [ #  # ]
      15                 :            :     {
      16 [ #  # ][ #  # ]:          0 :         if( ( *i )->equivalent( iface0, iface1, switched ) ) return *i;
         [ #  # ][ #  # ]
      17                 :            :     }
      18                 :            : 
      19                 :          0 :     return NULL;
      20                 :            : }
      21                 :            : 
      22                 :            : //! find a pair with the right types
      23                 :          0 : AssocPair* Lasso::find_pair( iRel_IfaceType type1, iRel_IfaceType type2, bool* switched )
      24                 :            : {
      25 [ #  # ][ #  # ]:          0 :     for( std::set< AssocPair* >::iterator i = assocPairs.begin(); i != assocPairs.end(); ++i )
                 [ #  # ]
      26                 :            :     {
      27 [ #  # ][ #  # ]:          0 :         if( ( *i )->equivalent( type1, type2, switched ) ) return *i;
         [ #  # ][ #  # ]
      28                 :            :     }
      29                 :            : 
      30                 :          0 :     return NULL;
      31                 :            : }
      32                 :            : 
      33                 :          6 : void Lasso::find_pairs( void* iface, std::vector< AssocPair* >& iface_pairs )
      34                 :            : {
      35 [ +  - ][ +  - ]:         12 :     for( std::set< AssocPair* >::iterator i = assocPairs.begin(); i != assocPairs.end(); ++i )
                 [ +  + ]
      36                 :            :     {
      37 [ +  - ][ +  - ]:          6 :         if( ( *i )->contains( iface ) ) iface_pairs.push_back( *i );
         [ +  - ][ +  - ]
                 [ +  - ]
      38                 :            :     }
      39                 :          6 : }
      40                 :            : 
      41                 :          8 : int Lasso::insert_pair( AssocPair* this_pair )
      42                 :            : {
      43                 :          8 :     assocPairs.insert( this_pair );
      44                 :          8 :     return iBase_SUCCESS;
      45                 :            : }
      46                 :            : 
      47                 :          0 : int Lasso::erase_pair( AssocPair* this_pair )
      48                 :            : {
      49         [ #  # ]:          0 :     if( assocPairs.erase( this_pair ) == 0 ) return iBase_FAILURE;
      50                 :            : 
      51                 :            :     // If the pair was removed, then delete it too
      52         [ #  # ]:          0 :     delete this_pair;
      53                 :          0 :     return iBase_SUCCESS;
      54                 :            : }

Generated by: LCOV version 1.11