Bool16 QTSServer::Initialize(XMLPrefsParser* inPrefsSource, PrefsSource* inMessagesSource, UInt16 inPortOverride, Bool16 createListeners) { fServerState = qtssFatalErrorState; sPrefsSource = inPrefsSource; sMessagesSource = inMessagesSource; this->InitCallbacks(); fMediaSource = NULL; // // DICTIONARY INITIALIZATION QTSSModule::Initialize(); QTSServerPrefs::Initialize(); QTSSMessages::Initialize(); QTSSFile::Initialize(); // // STUB SERVER INITIALIZATION // // Construct stub versions of the prefs and messages dictionaries. We need // both of these to initialize the server, but they have to be stubs because // their QTSSDictionaryMaps will presumably be modified when modules get loaded. fSrvrPrefs = new QTSServerPrefs(inPrefsSource, false); // First time, don't write changes to the prefs file fSrvrMessages = new QTSSMessages(inMessagesSource); QTSSModuleUtils::Initialize(fSrvrMessages, this, QTSServerInterface::GetErrorLogStream()); SetAssertLogger(this->GetErrorLogStream());// the error log stream is our assert logger // Load ERROR LOG module only. This is good in case there is a startup error. QTSSModule* theLoggingModule = new QTSSModule("QTSSErrorLogModule"); (void)theLoggingModule->SetupModule(&sCallbacks, &QTSSErrorLogModule_Main); (void)AddModule(theLoggingModule); this->BuildModuleRoleArrays(); // // STARTUP TIME - record it fStartupTime_UnixMilli = OS::Milliseconds(); fGMTOffset = OS::GetGMTOffset(); if ( fNumListeners == 0 ) { if (createListeners) QTSSModuleUtils::LogError(qtssWarningVerbosity, qtssMsgNoPortsSucceeded, 0); } fServerState = qtssStartingUpState; return true; }
void QTSServer::LoadCompiledInModules() { #ifndef DSS_DYNAMIC_MODULES_ONLY // MODULE DEVELOPERS SHOULD ADD THE FOLLOWING THREE LINES OF CODE TO THIS // FUNCTION IF THEIR MODULE IS BEING COMPILED INTO THE SERVER. // // QTSSModule* myModule = new QTSSModule("__MODULE_NAME__"); // (void)myModule->Initialize(&sCallbacks, &__MODULE_MAIN_ROUTINE__); // (void)AddModule(myModule); // // The following modules are all compiled into the server. #endif //DSS_DYNAMIC_MODULES_ONLY QTSSModule* theCMSModule = new QTSSModule("EasyCMSModule"); (void)theCMSModule->SetupModule(&sCallbacks, &EasyCMSModule_Main); (void)AddModule(theCMSModule); QTSSModule* theCameraModule = new QTSSModule("EasyCameraModule"); (void)theCameraModule->SetupModule(&sCallbacks, &EasyCameraModule_Main); (void)AddModule(theCameraModule); }