}
called=true;
- if(!reg_app_)
+ if(!starter_)
{
- cerr<<"Trying to run with no application class registered!\n";
+ cerr<<"Trying to run with no RegisteredApplication class!\n";
return 126;
}
{
try
{
- app_=reg_app_->create_app(argc, argv);
+ app_=starter_->create_app(argc, argv);
}
catch(const UsageError &e)
{
- reg_app_->usage(e.what(), argv[0], e.get_brief());
+ starter_->usage(e.what(), argv[0], e.get_brief());
return 1;
}
}
-Application::RegBase::RegBase()
+Application::Starter::Starter()
{
- if(reg_app_)
- {
- cerr<<"Warning: registering the application twice\n";
- delete reg_app_;
- }
+ if(starter_)
+ throw InvalidState("Can't create more than one Starter instance");
- reg_app_=this;
+ starter_=this;
}
Application *Application::app_=0;