Main¶
The main.cpp contains lots of boilertemplate code. You should not worrying about this file. Just do not modify it unless you know what you are doing.
/**
* Copyright (c) 2010 Aldebaran Robotics
*/
#ifndef _WIN32
# include <signal.h>
#endif
#include <alcommon/albroker.h>
#include <alcommon/albrokermanager.h>
#include <alcommon/altoolsmain.h>
#include "helloworld.h"
#ifdef HELLOWORLD_IS_REMOTE
# define ALCALL
#else
// when not remote, we're in a dll, so export the entry point
# ifdef _WIN32
# define ALCALL __declspec(dllexport)
# else
# define ALCALL
# endif
#endif
extern "C"
{
ALCALL int _createModule(boost::shared_ptr<AL::ALBroker> pBroker)
{
// init broker with the main broker instance
// from the parent executable
AL::ALBrokerManager::setInstance(pBroker->fBrokerManager.lock());
AL::ALBrokerManager::getInstance()->addBroker(pBroker);
// create module instances
AL::ALModule::createModule<HelloWorld>(pBroker, "HelloWorld");
return 0;
}
ALCALL int _closeModule( )
{
return 0;
}
} // extern "C"
#ifdef HELLOWORLD_IS_REMOTE
int main(int argc, char *argv[])
{
// pointer to createModule
TMainType sig;
sig = &_createModule;
// call main
return ALTools::mainFunction("HelloWorld", argc, argv, sig);
}
#endif
Note: if you want to understand what this main.cpp does or want to change it, you can read about it in the Creating a custom main section.