/src/main.cpp

https://github.com/deltaforge/nebu-app-framework-cpp · C++ · 58 lines · 42 code · 15 blank · 1 comment · 1 complexity · 0af254440badfcd2216f4d3c6527d1ed MD5 · raw file

  1. #include "nebu-app-framework/application.h"
  2. #include "nebu-app-framework/applicationHooks.h"
  3. #include "nebu-app-framework/configuration.h"
  4. #include <string>
  5. #include <vector>
  6. // Using declarations - standard library
  7. using std::make_shared;
  8. using std::shared_ptr;
  9. using std::string;
  10. using std::vector;
  11. namespace nebu
  12. {
  13. namespace app
  14. {
  15. namespace framework
  16. {
  17. int main(int argc, char *argv[])
  18. {
  19. shared_ptr<ApplicationHooks> applicationHooks = initApplication();
  20. applicationHooks->registerConfigurationOptions();
  21. vector<string> arguments;
  22. for (int i = 1; i < argc; i++) {
  23. arguments.push_back(argv[i]);
  24. }
  25. Configuration::fromArguments(arguments);
  26. applicationHooks->prepareLogging();
  27. applicationHooks->initialise(argv[0], arguments);
  28. shared_ptr<Application> application = make_shared<Application>(
  29. applicationHooks->getDaemonManager(),
  30. applicationHooks->getTopologyManager(),
  31. applicationHooks->getVMManager());
  32. application->setApplicationHooks(applicationHooks);
  33. applicationHooks->setApplication(application);
  34. application->mainLoop();
  35. return 0;
  36. }
  37. }
  38. }
  39. }
  40. int main(int argc, char *argv[])
  41. {
  42. return nebu::app::framework::main(argc, argv);
  43. }