X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fcore%2Fapplication.cpp;h=a588e9dbb7900cff2b3d15a200f41a9be2382d8f;hp=17611c1429ac2ef716c1687ba892b3b6356e6f74;hb=1876f64c4ec1bcba8de57b8b5f63e250187b4ad1;hpb=fcd7272c28b6da5a68d41e5aac7be1dfd2eeab78 diff --git a/source/core/application.cpp b/source/core/application.cpp index 17611c1..a588e9d 100644 --- a/source/core/application.cpp +++ b/source/core/application.cpp @@ -40,9 +40,9 @@ int Application::run(int argc, char **argv, void *data) } 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; } @@ -52,11 +52,11 @@ int Application::run(int argc, char **argv, void *data) { 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; } @@ -144,15 +144,12 @@ void Application::sighandler_(int s) } -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;