74 lines
1.1 KiB
C++
Executable File
74 lines
1.1 KiB
C++
Executable File
/*
|
|
* This file is a part of CMSLU -- Content Management System like Unix
|
|
* and is not publicly distributed
|
|
*
|
|
* Copyright (c) 2008, Tomasz Sowa
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
|
|
#include <cstdlib>
|
|
#include <ctime>
|
|
#include <signal.h>
|
|
#include <iostream>
|
|
#include "requestcontroller.h"
|
|
#include "data.h"
|
|
#include "log.h"
|
|
#include "request.h"
|
|
#include "db.h"
|
|
|
|
|
|
// singletons
|
|
// first 'data' then 'log' then 'request'
|
|
Data data;
|
|
Log log;
|
|
Request request;
|
|
Db db;
|
|
|
|
|
|
|
|
|
|
void signal_term(int)
|
|
{
|
|
log << log1 << "system aborted" << logend;
|
|
|
|
exit(0);
|
|
}
|
|
|
|
|
|
|
|
int main()
|
|
{
|
|
std::srand(std::time(0));
|
|
|
|
|
|
log.Init(data.log_level, data.log_file, data.log_stdout);
|
|
|
|
|
|
RequestController req_controller;
|
|
|
|
//data.read_from_file();
|
|
|
|
|
|
db.Init(data.db_database, data.db_user, data.db_pass);
|
|
|
|
if( !req_controller.Init() )
|
|
return 1;
|
|
|
|
log << log1 << "system started" << logend;
|
|
|
|
signal(SIGTERM, signal_term);
|
|
|
|
|
|
log << log1 << "checking for table consistency...";
|
|
db.CheckAllUrlSubject();
|
|
log << log1 << "done" << logend;
|
|
|
|
|
|
req_controller.Loop();
|
|
|
|
log << log1 << "system stopped" << logend;
|
|
|
|
return 0;
|
|
}
|