00001 /*========================================================================= 00002 00003 Program: wxMaracas 00004 Module: $RCSfile: marObject.cpp,v $ 00005 Language: C++ 00006 Date: $Date: 2009/05/14 13:54:43 $ 00007 Version: $Revision: 1.2 $ 00008 00009 Copyright: (c) 2002, 2003 00010 License: 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notice for more information. 00015 00016 =========================================================================*/ 00017 00018 #include "marObject.h" 00019 00020 // ------------------------------------------------------------------------- 00021 marObject::marObject( marParameters* p ) 00022 { 00023 _parameters = p; 00024 _parametersCopied = false; 00025 } 00026 00027 // ------------------------------------------------------------------------- 00028 marObject::~marObject( ) 00029 { 00030 if( _parametersCopied && _parameters != NULL ) delete _parameters; 00031 } 00032 00033 // ------------------------------------------------------------------------- 00034 void marObject::setParameters( marParameters* p ) 00035 { 00036 if( _parametersCopied && _parameters != NULL ) delete _parameters; 00037 _parameters = p; 00038 _parametersCopied = false; 00039 } 00040 00041 // ------------------------------------------------------------------------- 00042 void marObject::copyParameters( marParameters* p ) 00043 { 00044 if( _parametersCopied && _parameters != NULL ) delete _parameters; 00045 _parameters = new marParameters( ); 00046 *_parameters = *p; 00047 _parametersCopied = true; 00048 } 00049 00050 // ------------------------------------------------------------------------- 00051 bool marObject::save( std::string& nw ) 00052 { 00053 std::ofstream os( nw.c_str( ) ); 00054 00055 if( os ) { 00056 00057 save( os ); 00058 os.close( ); 00059 return( true ); 00060 00061 } // fi 00062 00063 return( false ); 00064 } 00065 00066 // ------------------------------------------------------------------------- 00067 bool marObject::load( std::string& nr ) 00068 { 00069 std::ifstream is( nr.c_str( ) ); 00070 00071 if( is ) { 00072 00073 load( is ); 00074 is.close( ); 00075 return( true ); 00076 00077 } // fi 00078 00079 return( false ); 00080 } 00081 00082 // eof - object.cxx