QTSS_Error Register(QTSS_Register_Params* inParams) { sLogMutex = NEW OSMutex(); // Do role & service setup (void)QTSS_AddRole(QTSS_ErrorLog_Role); (void)QTSS_AddRole(QTSS_Shutdown_Role); (void)QTSS_AddRole(QTSS_StateChange_Role); (void)QTSS_AddService("RollErrorLog", &RollErrorLog); // Unlike most modules, all initialization for this module happens in // the register role. This is so that this error log can begin logging // errors ASAP. CheckErrorLogState(); WriteStartupMessage(); // Tell the server our name! static char* sModuleName = "QTSSErrorLogModule"; ::strcpy(inParams->outModuleName, sModuleName); sErrorLogCheckTask = NEW ErrorLogCheckTask(); return QTSS_NoErr; }
QTSS_Error Register(QTSS_Register_Params* inParams) { sLogMutex = new OSMutex(); // Do role & service setup (void)QTSS_AddRole(QTSS_Initialize_Role); (void)QTSS_AddRole(QTSS_RTSPPostProcessor_Role); (void)QTSS_AddRole(QTSS_ClientSessionClosing_Role); (void)QTSS_AddRole(QTSS_RereadPrefs_Role); (void)QTSS_AddRole(QTSS_Shutdown_Role); (void)QTSS_AddRole(QTSS_StateChange_Role); (void)QTSS_AddService("RollAccessLog", &RollAccessLog); // Tell the server our name! static char* sModuleName = "QTSSAccessLogModule"; ::strcpy(inParams->outModuleName, sModuleName); static char* sLoggedAuthorizationName = "QTSSAccessLogModuleLoggedAuthorization"; (void)QTSS_AddStaticAttribute(qtssClientSessionObjectType, sLoggedAuthorizationName, NULL, qtssAttrDataTypeUInt32); (void)QTSS_IDForAttr(qtssClientSessionObjectType, sLoggedAuthorizationName, &sLoggedAuthorizationAttrID); return QTSS_NoErr; }