00001 /*************************************************************************** 00002 * Copyright (C) 2004 by Rick L. Vinyard, Jr. * 00003 * rvinyard@cs.nmsu.edu * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU Lesser General Public License as * 00007 * published by the Free Software Foundation version 2.1. * 00008 * * 00009 * This program is distributed in the hope that it will be useful, * 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00012 * GNU General Public License for more details. * 00013 * * 00014 * You should have received a copy of the GNU Lesser General Public * 00015 * License along with this library; if not, write to the * 00016 * Free Software Foundation, Inc., * 00017 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * 00018 ***************************************************************************/ 00019 #ifndef PRINTOBJ_H 00020 #define PRINTOBJ_H 00021 00022 inline void print( Object& obj ) 00023 { 00024 Object::iterator i; 00025 00026 cout << endl << "All properties in instance " << obj.name() << " of class " << obj.class_name() << ":\n"; 00027 for ( i = obj.properties_begin(); i != obj.properties_end(); i++ ) { 00028 cout << " Property: " << i->name() << endl 00029 << " Type: " << i->type().name() << endl 00030 << " Value: " << i->value() << endl 00031 << " xml: " << i->xml() << endl 00032 << endl; 00033 00034 if ( i->num_properties() > 0 ) print( *i ); 00035 } 00036 00037 cout << "xml: " << endl << obj.xml( 1 ) << endl << endl; 00038 } 00039 00040 #endif