Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

DCFmpacketBase.cpp

Go to the documentation of this file.
00001 // DCFmpacketBase.cpp
00002 //////////////////////////////////////////////////////////////////////
00003 //          (c) Copyright 2001-2002 Brown Deer Technology, LLC.
00004 //                        All rights reserved.
00005 //////////////////////////////////////////////////////////////////////
00006 
00007 #ifdef USE_STD
00008 #include <iostream>
00009 using namespace std;
00010 #else
00011 #include <iostream.h>
00012 #endif
00013 
00014 #include "DCFmpacketBase.h"
00015 
00016 void DCFmpacketBase::put( bytepack& bp) 
00017 { 
00018    for( int i = 0; i < bp.size(); i++ ) { _ptmpacket[ _sizeb++ ] = bp[i]; }
00019 };
00020 
00021 ostream& operator << (ostream& os, DCFmpacketBase& mp ) 
00022 {
00023    bytepack bp;
00024    if ( !mp.empty() && os.good() ) {
00025       os << bp( mp._sizeb, mp._bplen_sizeb );
00026       os << bp( mp._mcode, 1 );
00027       os << bp( mp._n, mp._bplen_n );
00028 
00029       if ( mp._sizeb ) { 
00030           for( int i = 0; i < mp._sizeb; i++ ) { 
00031              os.put( mp._ptmpacket[i] ); 
00032           }
00033       }
00034 
00035       os << bp(mp._sizeb,mp._bplen_sizeb);
00036    }
00037    return os;
00038 };
00039 
00040 istream& operator >> ( istream& is, DCFmpacketBase& mp ) 
00041 {
00042    int itmp;
00043    bytepack bp;
00044    mp.clear();
00045    if ( is.good() ) {
00046       is >> bp( 0, mp._bplen_sizeb ); mp._sizeb = bp;
00047       if ( !mp.empty() ) {
00048          is >> bp(0,1); mp._mcode = char(bp);
00049          is >> bp(0,mp._bplen_n); mp._n = int(bp);
00050          if (mp._sizeb) for( int i = 0; i < mp._sizeb; i++ ) { 
00051             is.get( mp._ptmpacket[i] ); 
00052          }
00053          is >> bp( 0, mp._bplen_sizeb ); itmp = int(bp);
00054          if ( itmp != mp._sizeb ) {
00055            cout << mp._bplen_sizeb << " ERROR !=sizeb\n";
00056          }
00057       }
00058    }
00059    return is;
00060 };
00061 

Generated on Mon May 31 21:38:44 2004 for SR2k4 Assembler by doxygen 1.3.6