// Ryzom - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . #include "nel/misc/types_nl.h" #include "nel/misc/time_nl.h" #include "nel/misc/common.h" #include "nel/misc/sheet_id.h" #include "nel/net/service.h" #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "game_share/tick_event_handler.h" #include "game_share/singleton_registry.h" #ifdef NL_OS_WINDOWS # define NOMINMAX # include #endif // NL_OS_WINDOWS using namespace std; using namespace NLMISC; using namespace NLNET; /** * CStatsScanServiceSingleton */ class CStatsScanServiceSingleton : public NLNET::IService { public : /* * Initialise the service */ void init() { setVersion (RYZOM_VERSION); // initialise sheet id file CSheetId::init(false); // if we are connecting to a shard then start by initializing the tick interface if (IService::getInstance()->ConfigFile.getVarPtr("DontUseTS")==NULL || IService::getInstance()->ConfigFile.getVarPtr("DontUseTS")->asInt()==0) CTickEventHandler::init(CStatsScanServiceSingleton::tickUpdate); CSingletonRegistry::getInstance()->init(); } /* * Service Update */ bool update() { CSingletonRegistry::getInstance()->serviceUpdate(); return true; } /* * Tick Update */ static void tickUpdate() { CSingletonRegistry::getInstance()->tickUpdate(); } /* * Release */ void release() { CSingletonRegistry::getInstance()->release(); } }; //----------------------------------------------- // NLNET_SERVICE_MAIN //----------------------------------------------- NLNET_SERVICE_MAIN( CStatsScanServiceSingleton, "stats_scan", "stats_scan_service", 0, EmptyCallbackArray, "", "" );