9 StubbedComponent::StubbedComponent ( const Module
* module_
,
10 const XMLElement
& stubbedComponentNode
)
12 node(stubbedComponentNode
)
14 const XMLAttribute
* att
= node
.GetAttribute ( "name", true );
19 StubbedComponent::~StubbedComponent ()
21 for ( size_t i
= 0; i
< symbols
.size(); i
++ )
26 StubbedComponent::ProcessXML ()
29 for ( i
= 0; i
< node
.subElements
.size (); i
++ )
30 ProcessXMLSubElement ( *node
.subElements
[i
] );
31 for ( i
= 0; i
< symbols
.size (); i
++ )
32 symbols
[i
]->ProcessXML ();
36 StubbedComponent::ProcessXMLSubElement ( const XMLElement
& e
)
38 bool subs_invalid
= false;
39 if ( e
.name
== "symbol" )
41 symbols
.push_back ( new StubbedSymbol ( e
) );
44 if ( subs_invalid
&& e
.subElements
.size () > 0 )
45 throw InvalidBuildFileException (
47 "<%s> cannot have sub-elements",
49 for ( size_t i
= 0; i
< e
.subElements
.size (); i
++ )
50 ProcessXMLSubElement ( *e
.subElements
[i
] );
55 StubbedSymbol::StubbedSymbol ( const XMLElement
& stubbedSymbolNode
)
56 : node(stubbedSymbolNode
)
60 StubbedSymbol::~StubbedSymbol ()
65 StubbedSymbol::ProcessXML ()
67 if ( node
.value
.size () == 0 )
69 throw InvalidBuildFileException (
71 "<symbol> is empty." );
75 const XMLAttribute
* att
= node
.GetAttribute ( "newname", false );