Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

TFTP_OptionSaved Class Reference

#include <TFTP_OptionSaved.hpp>

List of all members.

Public Methods

 TFTP_OptionSaved ()
virtual ~TFTP_OptionSaved ()
void save ()
void load ()

Private Methods

 TFTP_OptionSaved (const TFTP_OptionSaved &)
const TFTP_OptionSaved & operator= (const TFTP_OptionSaved &)

Private Attributes

char * mode
char * timeout
char * blocksize
char * windowsize
size_t windowsizeLength
size_t blocksizeLength
size_t timeoutLength
size_t modeLength
RWLock rwlock4_saved

Friends

class TFTP_Option


Constructor & Destructor Documentation

TFTP_OptionSaved::TFTP_OptionSaved  
 

Definition at line 7 of file TFTP_OptionSaved.cpp.

00008     : mode(       NULL ),
00009       timeout(    NULL ),
00010       blocksize(  NULL ),
00011       windowsize( NULL ),
00012       windowsizeLength( 0 ),
00013       blocksizeLength( 0 ),
00014       timeoutLength( 0 ),
00015       modeLength( 0 ) { }

TFTP_OptionSaved::~TFTP_OptionSaved   [virtual]
 

Definition at line 17 of file TFTP_OptionSaved.cpp.

00018   {
00019     if ( mode       != NULL )  delete [] mode;
00020     if ( timeout    != NULL )  delete [] timeout;
00021     if ( blocksize  != NULL )  delete [] blocksize;
00022     if ( windowsize != NULL )  delete [] windowsize;
00023   }

TFTP_OptionSaved::TFTP_OptionSaved const TFTP_OptionSaved &    [private]
 


Member Function Documentation

void TFTP_OptionSaved::load  
 

Definition at line 54 of file TFTP_OptionSaved.cpp.

00055   {
00056     option.rwlock1_global.write();
00057     rwlock4_saved.read();
00058 
00059     if ( option.mode       != NULL )  delete [] option.mode;
00060     if ( option.timeout    != NULL )  delete [] option.timeout;
00061     if ( option.blocksize  != NULL )  delete [] option.blocksize;
00062     if ( option.windowsize != NULL )  delete [] option.windowsize;
00063 
00064     option.windowsizeLength = windowsizeLength;
00065      option.blocksizeLength = blocksizeLength;
00066        option.timeoutLength = timeoutLength;
00067           option.modeLength = modeLength;
00068                                              
00069     memcpy( option.mode,       mode,             modeLength );
00070     memcpy( option.timeout,    timeout,       timeoutLength );
00071     memcpy( option.blocksize,  blocksize,   blocksizeLength );
00072     memcpy( option.windowsize, windowsize, windowsizeLength );
00073 
00074     rwlock4_saved.releaseRead();
00075     option.rwlock1_global.write();
00076   }

const TFTP_OptionSaved& TFTP_OptionSaved::operator= const TFTP_OptionSaved &    [private]
 

void TFTP_OptionSaved::save  
 

Definition at line 25 of file TFTP_OptionSaved.cpp.

00026   {
00027     option.rwlock1_global.read();
00028     rwlock4_saved.write();
00029 
00030     if ( mode       != NULL )  delete [] mode;
00031     if ( timeout    != NULL )  delete [] timeout;
00032     if ( blocksize  != NULL )  delete [] blocksize;
00033     if ( windowsize != NULL )  delete [] windowsize;
00034 
00035     mode       = new char[       option.modeLength ];
00036     timeout    = new char[    option.timeoutLength ];
00037     blocksize  = new char[  option.blocksizeLength ];
00038     windowsize = new char[ option.windowsizeLength ];
00039                 
00040     windowsizeLength = option.windowsizeLength;
00041      blocksizeLength = option.blocksizeLength;
00042        timeoutLength = option.timeoutLength;
00043           modeLength = option.modeLength;
00044     
00045     memcpy( mode,       option.mode,       option.modeLength       );
00046     memcpy( timeout,    option.timeout,    option.timeoutLength    );
00047     memcpy( blocksize,  option.blocksize,  option.blocksizeLength  );
00048     memcpy( windowsize, option.windowsize, option.windowsizeLength );
00049 
00050     rwlock4_saved.releaseWrite();
00051     option.rwlock1_global.releaseRead();
00052   }


Friends And Related Function Documentation

friend class TFTP_Option [friend]
 

Definition at line 27 of file TFTP_OptionSaved.hpp.


Member Data Documentation

char* TFTP_OptionSaved::blocksize [private]
 

Definition at line 17 of file TFTP_OptionSaved.hpp.

size_t TFTP_OptionSaved::blocksizeLength [private]
 

Definition at line 21 of file TFTP_OptionSaved.hpp.

char* TFTP_OptionSaved::mode [private]
 

Definition at line 15 of file TFTP_OptionSaved.hpp.

size_t TFTP_OptionSaved::modeLength [private]
 

Definition at line 23 of file TFTP_OptionSaved.hpp.

RWLock TFTP_OptionSaved::rwlock4_saved [private]
 

Definition at line 25 of file TFTP_OptionSaved.hpp.

char* TFTP_OptionSaved::timeout [private]
 

Definition at line 16 of file TFTP_OptionSaved.hpp.

size_t TFTP_OptionSaved::timeoutLength [private]
 

Definition at line 22 of file TFTP_OptionSaved.hpp.

char* TFTP_OptionSaved::windowsize [private]
 

Definition at line 18 of file TFTP_OptionSaved.hpp.

size_t TFTP_OptionSaved::windowsizeLength [private]
 

Definition at line 20 of file TFTP_OptionSaved.hpp.


The documentation for this class was generated from the following files:
Generated on Sun Oct 14 18:50:05 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001