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

       1                 : //=============================================================================
       2                 : // File <$/src/cpp/prod/com/Defragmenter.h>
       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                 : #ifndef DEFRAGMENTER_H
      23                 : #define DEFRAGMENTER_H
      24                 : 
      25                 : #include "src/cpp/prod/tool/Hash.h"
      26                 : 
      27                 : class Fragment ;
      28                 : class CDRFragment ;
      29                 : 
      30                 : class FragInfo
      31                 : {
      32                 :    public :
      33                 :       FragInfo(Fragment *frag, CORBA::ULong requestId) ;
      34                 :       ~FragInfo() ;
      35                 : 
      36                 :       void AddFragment(Fragment *frag) ;
      37                 :       Fragment *GetFragmentChain(void) ;
      38                 :       CORBA::ULong GetRequestId(void) const ;
      39                 : 
      40                 :    private :
      41                 :       Fragment *_first ;
      42                 :       Fragment *_last ;
      43                 :       CORBA::ULong _requestId ;
      44                 : 
      45                 :    private :
      46                 :       FragInfo(const FragInfo& ) ;
      47                 :       FragInfo& operator=(const FragInfo& ) ;
      48                 : } ;
      49                 : 
      50                 : class FragInfoHash : public THash<FragInfo, CORBA::ULong>
      51                 : {
      52                 :    public :
      53                 :       FragInfoHash(int size) ;
      54               0 :       ~FragInfoHash() {}
      55                 : 
      56                 :    private :
      57                 :       static int myHashFn(const CORBA::ULong* key) ;
      58                 :       static bool myCmpFn(const FragInfo* obj,
      59                 :                           const CORBA::ULong* key) ;
      60                 : 
      61                 : } ;
      62                 : 
      63                 : class Defragmenter
      64                 : {
      65                 :    public :
      66                 :       Defragmenter() ;
      67                 :       ~Defragmenter() ;
      68                 : 
      69                 :       void AddFirstFragment(Fragment* frag, CORBA::ULong requestId) ;
      70                 :       void AddNextFragment(Fragment* frag, CORBA::ULong requestId) ;
      71                 :       CDRFragment* AddLastFragment(Fragment* frag, CORBA::ULong requestId) ;
      72                 : 
      73                 :    private :
      74                 :       FragInfoHash _hash ;
      75                 : } ;
      76                 : 
      77                 : #endif
      78                 : 
      79                 : 

Generated by: LTP GCOV extension version 1.4