#if defined(GSDL_USE_OBJECTSPACE) # include # include #elif defined(GSDL_USE_IOS_H) # include # include #else # include # include #endif #include "cnfgator.h" configurator::configurator(configurable *configureobject) { configureobjs.push_back(configureobject); } void configurator::add_configurable(configurable *configureobject) { configureobjs.push_back(configureobject); } bool configurator::configure(const text_t &filename) { // read in the build configuration file text_t key; text_tarray cfgline; char *cstr = filename.getcstr(); ifstream confin (cstr); delete []cstr; if (confin) { while (read_cfg_line(confin, cfgline) >= 0) { if (cfgline.size () >= 2) { key = cfgline[0]; cfgline.erase(cfgline.begin()); // configure the configurables configurable *configureObject; vector::iterator configureIter = configureobjs.begin(); while (configureIter != configureobjs.end()) { configureObject = *configureIter; ++configureIter; configureObject->configure (key, cfgline); } } } confin.close (); return true; } return false; }