| 1 |
|
|---|
| 2 | #include "Indentation.h"
|
|---|
| 3 |
|
|---|
| 4 | // ...
|
|---|
| 5 |
|
|---|
| 6 | string Lofig::modeToString ( unsigned int mode )
|
|---|
| 7 | {
|
|---|
| 8 | switch ( mode ) {
|
|---|
| 9 | case Full: return "Full";
|
|---|
| 10 | case Abstract: return "Abstract";
|
|---|
| 11 | case Empty: return "Empty";
|
|---|
| 12 | }
|
|---|
| 13 | return "Unknown";
|
|---|
| 14 | }
|
|---|
| 15 |
|
|---|
| 16 |
|
|---|
| 17 | void Lofig::xmlDrive ( ostream& o, unsigned int mode )
|
|---|
| 18 | {
|
|---|
| 19 | o << indent++ << "<Lofig";
|
|---|
| 20 | o << " name=\"" << _name << "\"";
|
|---|
| 21 | o << " mode=\"" << modeToString(_mode) << "\"";
|
|---|
| 22 | o << " signalsIds=\"" << _signalIds << "\">\n";
|
|---|
| 23 |
|
|---|
| 24 | o << indent++ << "<signals>\n";
|
|---|
| 25 | for ( list<Losig*>::iterator isig=_signals.begin() ; isig!=_signals.end() ; isig++ )
|
|---|
| 26 | (*isig)->xmlDrive ( o );
|
|---|
| 27 | o << --indent << "</signals>\n";
|
|---|
| 28 |
|
|---|
| 29 | o << indent++ << "<connectors>\n";
|
|---|
| 30 | for ( list<Locon*>::iterator icon=_connectors.begin() ; icon!=_connectors.end() ; icon++ )
|
|---|
| 31 | (*icon)->xmlDrive ( o );
|
|---|
| 32 | o << --indent << "</connectors>\n";
|
|---|
| 33 |
|
|---|
| 34 | if ( mode == Full ) {
|
|---|
| 35 | o << indent++ << "<models>\n";
|
|---|
| 36 | for ( list<Lofig*>::iterator ifig=_models.begin() ; ifig!=_models.end() ; ifig++ )
|
|---|
| 37 | (*ifig)->xmlDrive ( o, Abstract );
|
|---|
| 38 | o << --indent << "</models>\n";
|
|---|
| 39 |
|
|---|
| 40 | o << indent++ << "<instances>\n";
|
|---|
| 41 | for ( list<Loins*>::iterator iins=_instances.begin() ; iins!=_instances.end() ; iins++ )
|
|---|
| 42 | (*iins)->xmlDrive ( o );
|
|---|
| 43 | o << --indent << "</instances>\n";
|
|---|
| 44 | }
|
|---|
| 45 |
|
|---|
| 46 | o << --indent << "</Lofig>\n";
|
|---|
| 47 | }
|
|---|