#include <bsp_hosted/fsfwconfig/OBSWVersion.h>
#include <bsp_linux/InitMission.h>
#include <fsfw/tasks/TaskFactory.h>
#include <iostream>

#ifdef WIN32
static const char* COMPILE_PRINTOUT = "Windows";
#elif LINUX
static const char* COMPILE_PRINTOUT = "Linux";
#else
static const char* COMPILE_PRINTOUT = "unknown OS";
#endif
/**
 * @brief 	This is the main program for the hosted build. It can be run for
 * 			Linux and Windows.
 * @return
 */
int main(void)
{
    std::cout << "-- EIVE OBSW --" << std::endl;
    std::cout << "-- Compiled for " << COMPILE_PRINTOUT <<  " --" << std::endl;
    std::cout << "-- Software version " << SW_NAME << " v" << SW_VERSION << "."
            << SW_SUBVERSION << "." << SW_SUBSUBVERSION << " -- " << std::endl;
    std::cout << "-- " <<  __DATE__ << " " << __TIME__ << " --" << std::endl;

	InitMission::initMission();

	for(;;) {
		// suspend main thread by sleeping it.
		TaskFactory::delayTask(5000);
	}
}