LTP GCOV extension - code coverage report
Current view: directory - src/cpp/prod/com - Defragmenter.cpp
Test: YAORB-0.2.info
Date: 2006-02-27 Instrumented lines: 29
Code covered: 0.0 % Executed lines: 0

       1                 : //=============================================================================
       2                 : // File <$/src/cpp/prod/com/Defragmenter.cpp>
       3                 : // This file is part of YaOrb : Yet Another Object Request Broker,
       4                 : // Copyright (c) 2000-2003, Marc Alff.
       5                 : //
       6                 : // This program is free software; you can redistribute it and/or
       7                 : // modify it under the terms of the GNU General Public License
       8                 : // as published by the Free Software Foundation; either version 2
       9                 : // of the License, or (at your option) any later version.
      10                 : //
      11                 : // This program is distributed in the hope that it will be useful,
      12                 : // but WITHOUT ANY WARRANTY; without even the implied warranty of
      13                 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14                 : // GNU General Public License for more details.
      15                 : //
      16                 : // You should have received a copy of the GNU General Public License
      17                 : // along with this program; if not, write to the Free Software
      18                 : // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
      19                 : //
      20                 : //=============================================================================
      21                 : 
      22                 : #include <yaorb/CORBA.h>
      23                 : #include <yaorb/YAORB.h>
      24                 : 
      25                 : #include "src/cpp/prod/com/Defragmenter.h"
      26                 : #include "src/cpp/prod/protocol/cdr/cdr_fragment.h"
      27                 : #include "src/cpp/prod/tool/Assert.h"
      28                 : 
      29                 : //=============================================================================
      30                 : // Implementation of FragInfo
      31                 : //=============================================================================
      32                 : 
      33                 : FragInfo::FragInfo(
      34                 :    Fragment *frag,
      35               0 :    CORBA::ULong requestId)
      36                 :  : _first(frag),
      37                 :    _last(frag),
      38               0 :    _requestId(requestId)
      39                 : {
      40                 :    ASSERT(_first != NULL) ;
      41                 : }
      42                 : 
      43               0 : FragInfo::~FragInfo()
      44                 : {
      45               0 :    if (_first)
      46                 :    {
      47               0 :       delete _first ;
      48                 :    }
      49                 : 
      50                 :    // Do NOT delete _last, fragments are linked.
      51               0 : }
      52                 : 
      53               0 : void FragInfo::AddFragment(Fragment *frag)
      54                 : {
      55                 :    ASSERT(frag != NULL) ;
      56                 :    ASSERT(_last != NULL) ;
      57                 : 
      58               0 :    _last->SetNext(frag) ;
      59               0 :    _last = frag ;
      60                 : }
      61                 : 
      62                 : Fragment*
      63               0 : FragInfo::GetFragmentChain(void)
      64                 : {
      65               0 :    Fragment *chain = _first ;
      66               0 :    _first = NULL ;
      67               0 :    _last = NULL ;
      68                 : 
      69                 :    return chain ;
      70                 : }
      71                 : 
      72                 : CORBA::ULong
      73               0 : FragInfo::GetRequestId(void) const
      74                 : {
      75                 :    return _requestId ;
      76                 : }
      77                 : 
      78                 : //=============================================================================
      79                 : // Implementation of FragInfoHash
      80                 : //=============================================================================
      81                 : 
      82               0 : FragInfoHash::FragInfoHash(int size)
      83               0 :  : THash<FragInfo, CORBA::ULong>(& myHashFn, & myCmpFn, size)
      84                 : {}
      85                 : 
      86                 : int
      87               0 : FragInfoHash::myHashFn(const CORBA::ULong* key)
      88                 : {
      89                 :    return *key ;
      90                 : }
      91                 : 
      92                 : bool
      93               0 : FragInfoHash::myCmpFn(const FragInfo* obj, const CORBA::ULong* key)
      94                 : {
      95                 :    ASSERT(obj != NULL) ;
      96                 :    ASSERT(key != NULL) ;
      97                 : 
      98               0 :    return ((obj->GetRequestId() == *key) ? true : false) ;
      99                 : }
     100                 : 
     101                 : //=============================================================================
     102                 : // Implementation of Defragmenter
     103                 : //=============================================================================
     104                 : 
     105               0 : Defragmenter::Defragmenter()
     106               0 :  : _hash(10)
     107                 : {}
     108                 : 
     109               0 : Defragmenter::~Defragmenter()
     110               0 : {}
     111                 : 
     112                 : void
     113                 : Defragmenter::AddFirstFragment(
     114                 :    Fragment *frag,
     115               0 :    CORBA::ULong requestId)
     116                 : {
     117               0 :    NON_DEV("Defragmenter") ;
     118                 : }
     119                 : 
     120                 : void
     121                 : Defragmenter::AddNextFragment(
     122                 :    Fragment *frag,
     123               0 :    CORBA::ULong requestId)
     124                 : {
     125               0 :    NON_DEV("Defragmenter") ;
     126                 : }
     127                 : 
     128                 : CDRFragment*
     129                 : Defragmenter::AddLastFragment(
     130                 :    Fragment *frag,
     131               0 :    CORBA::ULong requestId)
     132                 : {
     133               0 :    NON_DEV("Defragmenter") ;
     134                 :    return NULL ;
     135                 : }

Generated by: LTP GCOV extension version 1.4