03c764bafb6dd3f47f876c9d74fa5fa05143f2d7
7 #include "mingw/mingw.h"
12 vector
<Backend::Factory
*>* Backend::Factory::factories
= NULL
;
14 Backend::Factory::Factory ( const std::string
& name_
)
18 factories
= new vector
<Factory
*>;
19 factories
->push_back ( this );
23 Backend::Factory::Create ( const std::string
& name
, Project
& project
)
25 string
sname ( name
);
27 if ( !factories
|| !factories
->size() )
28 throw Exception ( "internal tool error: no registered factories" );
29 vector
<Backend::Factory
*>& fact
= *factories
;
30 for ( size_t i
= 0; i
< fact
.size(); i
++ )
33 if ( sname
== fact
[i
]->name
)
34 return (*fact
[i
]) ( project
);
36 throw UnknownBackendException ( sname
);
40 Backend::Backend ( Project
& project
)
41 : ProjectNode ( project
)