ANSC_STATUS BwrmPmoEnrollObjects ( ANSC_HANDLE hThisObject ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PBWRM_PAGE_MANAGER_OBJECT pMyObject = (PBWRM_PAGE_MANAGER_OBJECT )hThisObject; PANSC_TIMER_DESCRIPTOR_OBJECT pCacheTimerObject = (PANSC_TIMER_DESCRIPTOR_OBJECT)pMyObject->hCacheTimerObject; PANSC_TDO_CLIENT_OBJECT pCacheTimerClient = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hCacheTimerClient; if ( !pCacheTimerObject ) { pCacheTimerObject = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pCacheTimerObject ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hCacheTimerObject = (ANSC_HANDLE)pCacheTimerObject; } pCacheTimerObject->SetTimerType((ANSC_HANDLE)pCacheTimerObject, ANSC_TIMER_TYPE_PERIODIC ); pCacheTimerObject->SetInterval ((ANSC_HANDLE)pCacheTimerObject, BWRM_PMO_CACHE_TIMER_INTERVAL); } if ( !pCacheTimerClient ) { pCacheTimerClient = (PANSC_TDO_CLIENT_OBJECT)AnscAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pCacheTimerClient ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hCacheTimerClient = (ANSC_HANDLE)pCacheTimerClient; } pCacheTimerClient->hClientContext = (ANSC_HANDLE)pMyObject; pCacheTimerClient->Invoke = BwrmPmoCacheTimerInvoke; pCacheTimerObject->SetClient((ANSC_HANDLE)pCacheTimerObject, (ANSC_HANDLE)pCacheTimerClient); } AnscCoEnrollObjects((ANSC_HANDLE)pMyObject); return ANSC_STATUS_SUCCESS; }
ANSC_STATUS TlsHsoEnrollObjects ( ANSC_HANDLE hThisObject ) { PTLS_HAND_SHAKER_OBJECT pMyObject = (PTLS_HAND_SHAKER_OBJECT )hThisObject; PANSC_TIMER_DESCRIPTOR_OBJECT pStateTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)pMyObject->hStateTimerObj; PANSC_TDO_CLIENT_OBJECT pStateTimerIf = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hStateTimerIf; if ( !pStateTimerObj ) { pStateTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pStateTimerObj ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hStateTimerObj = (ANSC_HANDLE)pStateTimerObj; } pStateTimerObj->SetTimerType((ANSC_HANDLE)pStateTimerObj, ANSC_TIMER_TYPE_SPORADIC ); pStateTimerObj->SetInterval ((ANSC_HANDLE)pStateTimerObj, TLS_HSO_DEF_STATE_TIMEOUT); } if ( !pStateTimerIf ) { pStateTimerIf = (PANSC_TDO_CLIENT_OBJECT)AnscAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pStateTimerIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hStateTimerIf = (ANSC_HANDLE)pStateTimerIf; } pStateTimerIf->hClientContext = (ANSC_HANDLE)pMyObject; pStateTimerIf->Invoke = TlsHsoStateTimerInvoke; pStateTimerObj->SetClient((ANSC_HANDLE)pStateTimerObj, (ANSC_HANDLE)pStateTimerIf); } TlsRcoEnrollObjects((ANSC_HANDLE)pMyObject); return ANSC_STATUS_SUCCESS; }
ANSC_STATUS StunScoEnrollObjects ( ANSC_HANDLE hThisObject ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PSTUN_SIMPLE_CLIENT_OBJECT pMyObject = (PSTUN_SIMPLE_CLIENT_OBJECT )hThisObject; PANSC_TIMER_DESCRIPTOR_OBJECT pStageTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT )pMyObject->hStageTimerObj; PANSC_TDO_CLIENT_OBJECT pStageTimerIf = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hStageTimerIf; PANSC_TIMER_DESCRIPTOR_OBJECT pRetryTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT )pMyObject->hRetryTimerObj; PANSC_TDO_CLIENT_OBJECT pRetryTimerIf = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hRetryTimerIf; PANSC_TIMER_DESCRIPTOR_OBJECT pProbeTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT )pMyObject->hProbeTimerObj; PANSC_TDO_CLIENT_OBJECT pProbeTimerIf = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hProbeTimerIf; PANSC_SIMPLE_CLIENT_UDP_OBJECT pSimpleClientUdp1 = (PANSC_SIMPLE_CLIENT_UDP_OBJECT)pMyObject->hSimpleClientUdp1; PANSC_SCUO_WORKER_OBJECT pClientUdpWorker1 = (PANSC_SCUO_WORKER_OBJECT )pMyObject->hClientUdpWorker1; PANSC_SIMPLE_CLIENT_UDP_OBJECT pSimpleClientUdpA = (PANSC_SIMPLE_CLIENT_UDP_OBJECT)pMyObject->hSimpleClientUdpA; PANSC_SCUO_WORKER_OBJECT pClientUdpWorkerA = (PANSC_SCUO_WORKER_OBJECT )pMyObject->hClientUdpWorkerA; PANSC_SIMPLE_CLIENT_UDP_OBJECT pSimpleClientUdpB = (PANSC_SIMPLE_CLIENT_UDP_OBJECT)pMyObject->hSimpleClientUdpB; PANSC_SCUO_WORKER_OBJECT pClientUdpWorkerB = (PANSC_SCUO_WORKER_OBJECT )pMyObject->hClientUdpWorkerB; if ( !pStageTimerObj ) { pStageTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pStageTimerObj ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hStageTimerObj = (ANSC_HANDLE)pStageTimerObj; } pStageTimerObj->SetTimerType((ANSC_HANDLE)pStageTimerObj, ANSC_TIMER_TYPE_SPORADIC ); pStageTimerObj->SetInterval ((ANSC_HANDLE)pStageTimerObj, STUN_SCO_STAGE_TIMER_INTERVAL); } if ( !pStageTimerIf ) { pStageTimerIf = (PANSC_TDO_CLIENT_OBJECT)AnscAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pStageTimerIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hStageTimerIf = (ANSC_HANDLE)pStageTimerIf; } pStageTimerIf->hClientContext = (ANSC_HANDLE)pMyObject; pStageTimerIf->Invoke = StunScoStageTimerInvoke; pStageTimerObj->SetClient((ANSC_HANDLE)pStageTimerObj, (ANSC_HANDLE)pStageTimerIf); } if ( !pRetryTimerObj ) { pRetryTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pRetryTimerObj ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hRetryTimerObj = (ANSC_HANDLE)pRetryTimerObj; } pRetryTimerObj->SetTimerType((ANSC_HANDLE)pRetryTimerObj, ANSC_TIMER_TYPE_SPORADIC ); pRetryTimerObj->SetInterval ((ANSC_HANDLE)pRetryTimerObj, STUN_MIN_RETRANSMISSION_INTERVAL); } if ( !pRetryTimerIf ) { pRetryTimerIf = (PANSC_TDO_CLIENT_OBJECT)AnscAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pRetryTimerIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hRetryTimerIf = (ANSC_HANDLE)pRetryTimerIf; } pRetryTimerIf->hClientContext = (ANSC_HANDLE)pMyObject; pRetryTimerIf->Invoke = StunScoRetryTimerInvoke; pRetryTimerObj->SetClient((ANSC_HANDLE)pRetryTimerObj, (ANSC_HANDLE)pRetryTimerIf); } if ( !pProbeTimerObj ) { pProbeTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pProbeTimerObj ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hProbeTimerObj = (ANSC_HANDLE)pProbeTimerObj; } pProbeTimerObj->SetTimerType((ANSC_HANDLE)pProbeTimerObj, ANSC_TIMER_TYPE_PERIODIC ); pProbeTimerObj->SetInterval ((ANSC_HANDLE)pProbeTimerObj, STUN_MIN_KEEP_ALIVE_INTERVAL * 1000); } if ( !pProbeTimerIf ) { pProbeTimerIf = (PANSC_TDO_CLIENT_OBJECT)AnscAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pProbeTimerIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hProbeTimerIf = (ANSC_HANDLE)pProbeTimerIf; } pProbeTimerIf->hClientContext = (ANSC_HANDLE)pMyObject; pProbeTimerIf->Invoke = StunScoProbeTimerInvoke; pProbeTimerObj->SetClient((ANSC_HANDLE)pProbeTimerObj, (ANSC_HANDLE)pProbeTimerIf); } if ( !pSimpleClientUdp1 ) { pSimpleClientUdp1 = (PANSC_SIMPLE_CLIENT_UDP_OBJECT)AnscCreateSimpleClientUdp ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pSimpleClientUdp1 ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hSimpleClientUdp1 = (ANSC_HANDLE)pSimpleClientUdp1; } } if ( !pClientUdpWorker1 ) { pClientUdpWorker1 = (PANSC_SCUO_WORKER_OBJECT)AnscAllocateMemory(sizeof(ANSC_SCUO_WORKER_OBJECT)); if ( !pClientUdpWorker1 ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hClientUdpWorker1 = (ANSC_HANDLE)pClientUdpWorker1; } pClientUdpWorker1->hWorkerContext = (ANSC_HANDLE)pMyObject; pClientUdpWorker1->Query = StunScoScuowo1Query; pClientUdpWorker1->Process = StunScoScuowo1Process; pClientUdpWorker1->Notify = StunScoScuowo1Notify; pSimpleClientUdp1->SetWorker ( (ANSC_HANDLE)pSimpleClientUdp1, (ANSC_HANDLE)pClientUdpWorker1, sizeof(ANSC_SCUO_WORKER_OBJECT) ); } if ( !pSimpleClientUdpA ) { pSimpleClientUdpA = (PANSC_SIMPLE_CLIENT_UDP_OBJECT)AnscCreateSimpleClientUdp ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pSimpleClientUdpA ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hSimpleClientUdpA = (ANSC_HANDLE)pSimpleClientUdpA; } } if ( !pClientUdpWorkerA ) { pClientUdpWorkerA = (PANSC_SCUO_WORKER_OBJECT)AnscAllocateMemory(sizeof(ANSC_SCUO_WORKER_OBJECT)); if ( !pClientUdpWorkerA ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hClientUdpWorkerA = (ANSC_HANDLE)pClientUdpWorkerA; } pClientUdpWorkerA->hWorkerContext = (ANSC_HANDLE)pMyObject; pClientUdpWorkerA->Query = StunScoScuowoAQuery; pClientUdpWorkerA->Process = StunScoScuowoAProcess; pClientUdpWorkerA->Notify = StunScoScuowoANotify; pSimpleClientUdpA->SetWorker ( (ANSC_HANDLE)pSimpleClientUdpA, (ANSC_HANDLE)pClientUdpWorkerA, sizeof(ANSC_SCUO_WORKER_OBJECT) ); } if ( !pSimpleClientUdpB ) { pSimpleClientUdpB = (PANSC_SIMPLE_CLIENT_UDP_OBJECT)AnscCreateSimpleClientUdp ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pSimpleClientUdpB ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hSimpleClientUdpB = (ANSC_HANDLE)pSimpleClientUdpB; } } if ( !pClientUdpWorkerB ) { pClientUdpWorkerB = (PANSC_SCUO_WORKER_OBJECT)AnscAllocateMemory(sizeof(ANSC_SCUO_WORKER_OBJECT)); if ( !pClientUdpWorkerB ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hClientUdpWorkerB = (ANSC_HANDLE)pClientUdpWorkerB; } pClientUdpWorkerB->hWorkerContext = (ANSC_HANDLE)pMyObject; pClientUdpWorkerB->Query = StunScoScuowoBQuery; pClientUdpWorkerB->Process = StunScoScuowoBProcess; pClientUdpWorkerB->Notify = StunScoScuowoBNotify; pSimpleClientUdpB->SetWorker ( (ANSC_HANDLE)pSimpleClientUdpB, (ANSC_HANDLE)pClientUdpWorkerB, sizeof(ANSC_SCUO_WORKER_OBJECT) ); } AnscCoEnrollObjects((ANSC_HANDLE)pMyObject); return ANSC_STATUS_SUCCESS; }
ANSC_STATUS CcspCwmpsoEnrollObjects ( ANSC_HANDLE hThisObject ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PCCSP_CWMP_SESSION_OBJECT pMyObject = (PCCSP_CWMP_SESSION_OBJECT )hThisObject; PANSC_TIMER_DESCRIPTOR_OBJECT pSessionTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)pMyObject->hSessionTimerObj; PANSC_TDO_CLIENT_OBJECT pSessionTimerIf = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hSessionTimerIf; PCCSP_CWMP_ACS_CONNECTION_OBJECT pCcspCwmpAcsConnection = (PCCSP_CWMP_ACS_CONNECTION_OBJECT)pMyObject->hCcspCwmpAcsConnection; PANSC_TIMER_DESCRIPTOR_OBJECT pRetryTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)pMyObject->hRetryTimerObj; PANSC_TDO_CLIENT_OBJECT pRetryTimerIf = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hRetryTimerIf; PANSC_TIMER_DESCRIPTOR_OBJECT pDelayedActiveNotifTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)pMyObject->hDelayedActiveNotifTimerObj; PANSC_TDO_CLIENT_OBJECT pDelayedActiveNotifTimerIf = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hDelayedActiveNotifTimerIf; PCCSP_CWMP_MCO_INTERFACE pCcspCwmpMcoIf = (PCCSP_CWMP_MCO_INTERFACE )pMyObject->hCcspCwmpMcoIf; if ( !pSessionTimerObj ) { pSessionTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pSessionTimerObj ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hSessionTimerObj = (ANSC_HANDLE)pSessionTimerObj; } pSessionTimerObj->SetTimerType((ANSC_HANDLE)pSessionTimerObj, ANSC_TIMER_TYPE_SPORADIC ); pSessionTimerObj->SetInterval ((ANSC_HANDLE)pSessionTimerObj, CCSP_CWMPSO_SESSION_TIMEOUT * 1000); /* _ansc_strcpy(pSessionTimerObj->Name, "CcspCwmpsoSessionTimer"); */ } if ( !pSessionTimerIf ) { pSessionTimerIf = (PANSC_TDO_CLIENT_OBJECT)CcspTr069PaAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pSessionTimerIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hSessionTimerIf = (ANSC_HANDLE)pSessionTimerIf; } pSessionTimerIf->hClientContext = (ANSC_HANDLE)pMyObject; pSessionTimerIf->Invoke = CcspCwmpsoSessionTimerInvoke; pSessionTimerObj->SetClient((ANSC_HANDLE)pSessionTimerObj, (ANSC_HANDLE)pSessionTimerIf); } if ( !pRetryTimerObj ) { /* use separate timer scehduler to run retry alg, otherwise, we will observe delays of timer expiration */ pRetryTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( (ANSC_HANDLE)NULL, /* pMyObject->hContainerContext,*/ (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pRetryTimerObj ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hRetryTimerObj = (ANSC_HANDLE)pRetryTimerObj; } pRetryTimerObj->SetTimerType((ANSC_HANDLE)pRetryTimerObj, ANSC_TIMER_TYPE_SPORADIC ); pRetryTimerObj->SetInterval ((ANSC_HANDLE)pRetryTimerObj, 1000 * 1000); /* _ansc_strcpy(pSessionTimerObj->Name, "CcspCwmpsoSessionRetryTimer"); */ } if ( !pRetryTimerIf ) { pRetryTimerIf = (PANSC_TDO_CLIENT_OBJECT)CcspTr069PaAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pRetryTimerIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hRetryTimerIf = (ANSC_HANDLE)pRetryTimerIf; } pRetryTimerIf->hClientContext = (ANSC_HANDLE)pMyObject; pRetryTimerIf->Invoke = CcspCwmpsoSessionRetryTimerInvoke; pRetryTimerObj->SetClient((ANSC_HANDLE)pRetryTimerObj, (ANSC_HANDLE)pRetryTimerIf); } if ( !pDelayedActiveNotifTimerObj ) { /* use separate timer scehduler to run retry alg, otherwise, we will observe delays of timer expiration */ pDelayedActiveNotifTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( (ANSC_HANDLE)NULL, /* pMyObject->hContainerContext,*/ (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pDelayedActiveNotifTimerObj ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hDelayedActiveNotifTimerObj = (ANSC_HANDLE)pDelayedActiveNotifTimerObj; } pDelayedActiveNotifTimerObj->SetTimerType((ANSC_HANDLE)pDelayedActiveNotifTimerObj, ANSC_TIMER_TYPE_SPORADIC); pDelayedActiveNotifTimerObj->SetInterval ((ANSC_HANDLE)pDelayedActiveNotifTimerObj, 5000 * 1000); } if ( !pDelayedActiveNotifTimerIf ) { pDelayedActiveNotifTimerIf = (PANSC_TDO_CLIENT_OBJECT)CcspTr069PaAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pDelayedActiveNotifTimerIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hDelayedActiveNotifTimerIf = (ANSC_HANDLE)pDelayedActiveNotifTimerIf; } pDelayedActiveNotifTimerIf->hClientContext = (ANSC_HANDLE)pMyObject; pDelayedActiveNotifTimerIf->Invoke = CcspCwmpsoDelayedActiveNotifTimerInvoke; pDelayedActiveNotifTimerObj->SetClient((ANSC_HANDLE)pDelayedActiveNotifTimerObj, (ANSC_HANDLE)pDelayedActiveNotifTimerIf); } if ( !pCcspCwmpAcsConnection ) { pCcspCwmpAcsConnection = (PCCSP_CWMP_ACS_CONNECTION_OBJECT)CcspCwmpCreateAcsConnection ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pCcspCwmpAcsConnection ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hCcspCwmpAcsConnection = (ANSC_HANDLE)pCcspCwmpAcsConnection; pCcspCwmpAcsConnection->SetCcspCwmpSession((ANSC_HANDLE)pCcspCwmpAcsConnection, (ANSC_HANDLE)pMyObject); } } if ( !pCcspCwmpMcoIf ) { pCcspCwmpMcoIf = (PCCSP_CWMP_MCO_INTERFACE)CcspTr069PaAllocateMemory(sizeof(CCSP_CWMP_MCO_INTERFACE)); if ( !pCcspCwmpMcoIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hCcspCwmpMcoIf = (ANSC_HANDLE)pCcspCwmpMcoIf; } AnscCopyString(pCcspCwmpMcoIf->Name, CCSP_CWMP_MCO_INTERFACE_NAME); pCcspCwmpMcoIf->InterfaceId = CCSP_CWMP_MCO_INTERFACE_ID; pCcspCwmpMcoIf->hOwnerContext = (ANSC_HANDLE)pMyObject; pCcspCwmpMcoIf->Size = sizeof(CCSP_CWMP_MCO_INTERFACE); pCcspCwmpMcoIf->NotifyAcsStatus = CcspCwmpsoMcoNotifyAcsStatus; pCcspCwmpMcoIf->GetNextMethod = CcspCwmpsoMcoGetNextMethod; pCcspCwmpMcoIf->ProcessSoapResponse = CcspCwmpsoMcoProcessSoapResponse; pCcspCwmpMcoIf->ProcessSoapError = CcspCwmpsoMcoProcessSoapError; pCcspCwmpMcoIf->InvokeUnknownMethod = CcspCwmpsoMcoInvokeUnknownMethod; pCcspCwmpMcoIf->GetRpcMethods = CcspCwmpsoMcoGetRpcMethods; pCcspCwmpMcoIf->SetParameterValues = CcspCwmpsoMcoSetParameterValues; pCcspCwmpMcoIf->GetParameterValues = CcspCwmpsoMcoGetParameterValues; pCcspCwmpMcoIf->GetParameterNames = CcspCwmpsoMcoGetParameterNames; pCcspCwmpMcoIf->SetParameterAttributes = CcspCwmpsoMcoSetParameterAttributes; pCcspCwmpMcoIf->GetParameterAttributes = CcspCwmpsoMcoGetParameterAttributes; pCcspCwmpMcoIf->AddObject = CcspCwmpsoMcoAddObject; pCcspCwmpMcoIf->DeleteObject = CcspCwmpsoMcoDeleteObject; pCcspCwmpMcoIf->Download = CcspCwmpsoMcoDownload; pCcspCwmpMcoIf->Reboot = CcspCwmpsoMcoReboot; pCcspCwmpMcoIf->GetQueuedTransfers = CcspCwmpsoMcoGetQueuedTransfers; pCcspCwmpMcoIf->ScheduleInform = CcspCwmpsoMcoScheduleInform; pCcspCwmpMcoIf->SetVouchers = CcspCwmpsoMcoSetVouchers; pCcspCwmpMcoIf->GetOptions = CcspCwmpsoMcoGetOptions; pCcspCwmpMcoIf->Upload = CcspCwmpsoMcoUpload; pCcspCwmpMcoIf->FactoryReset = CcspCwmpsoMcoFactoryReset; pCcspCwmpMcoIf->ChangeDUState = CcspCwmpsoMcoChangeDUState; pCcspCwmpMcoIf->GetParamDataType = CcspCwmpsoMcoGetParamDataType; } AnscCoEnrollObjects((ANSC_HANDLE)pMyObject); return ANSC_STATUS_SUCCESS; }
ANSC_STATUS AnscLpccoEnrollObjects ( ANSC_HANDLE hThisObject ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PANSC_LPC_CONNECTOR_OBJECT pMyObject = (PANSC_LPC_CONNECTOR_OBJECT )hThisObject; PANSC_IMC_INTERFACE pAnscImcIf = (PANSC_IMC_INTERFACE )pMyObject->hAnscImcIf; PANSC_CPC_INTERFACE pAnscCpcIf = (PANSC_CPC_INTERFACE )pMyObject->hAnscCpcIf; PANSC_TIMER_DESCRIPTOR_OBJECT pConnTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)pMyObject->hConnTimerObj; PANSC_TDO_CLIENT_OBJECT pConnTimerIf = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hConnTimerIf; if ( !pAnscImcIf ) { pAnscImcIf = (PANSC_IMC_INTERFACE)AnscAllocateMemory(sizeof(ANSC_IMC_INTERFACE)); if ( !pAnscImcIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hAnscImcIf = (ANSC_HANDLE)pAnscImcIf; } AnscCopyString(pAnscImcIf->Name, ANSC_IMC_INTERFACE_NAME); pAnscImcIf->InterfaceId = ANSC_IMC_INTERFACE_ID; pAnscImcIf->hOwnerContext = (ANSC_HANDLE)pMyObject; pAnscImcIf->Size = sizeof(ANSC_IMC_INTERFACE); pAnscImcIf->GenPartyAddr = AnscLpccoImcGenPartyAddr; pAnscImcIf->GetLpcOpmode = AnscLpccoImcGetLpcOpmode; pAnscImcIf->SetLpcOpmode = AnscLpccoImcSetLpcOpmode; pAnscImcIf->GetPartyName = AnscLpccoImcGetPartyName; pAnscImcIf->SetPartyName = AnscLpccoImcSetPartyName; pAnscImcIf->IsPartyConnected = AnscLpccoImcIsPartyConnected; pAnscImcIf->Engage = AnscLpccoImcEngage; pAnscImcIf->Cancel = AnscLpccoImcCancel; pAnscImcIf->CallRequest = AnscLpccoImcCallRequest; pAnscImcIf->CallRequest2 = AnscLpccoImcCallRequest2; } if ( !pAnscCpcIf ) { pAnscCpcIf = (PANSC_CPC_INTERFACE)AnscAllocateMemory(sizeof(ANSC_CPC_INTERFACE)); if ( !pAnscCpcIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hAnscCpcIf = (ANSC_HANDLE)pAnscCpcIf; } AnscCopyString(pAnscCpcIf->Name, ANSC_CPC_INTERFACE_NAME); pAnscCpcIf->InterfaceId = ANSC_CPC_INTERFACE_ID; pAnscCpcIf->hOwnerContext = (ANSC_HANDLE)pMyObject; pAnscCpcIf->Size = sizeof(ANSC_CPC_INTERFACE); pAnscCpcIf->CallDispatch = AnscLpccoCpcCallDispatch; pAnscCpcIf->FreeOutputBuffer = AnscLpccoCpcFreeOutputBuffer; pAnscCpcIf->NotifyEvent = AnscLpccoCpcNotifyEvent; } if ( !pConnTimerObj ) { pConnTimerObj = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pConnTimerObj ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hConnTimerObj = (ANSC_HANDLE)pConnTimerObj; } pConnTimerObj->SetTimerType((ANSC_HANDLE)pConnTimerObj, ANSC_TIMER_TYPE_SPORADIC ); pConnTimerObj->SetInterval ((ANSC_HANDLE)pConnTimerObj, ANSC_LPCCO_DEF_CONN_TIMEOUT); } if ( !pConnTimerIf ) { pConnTimerIf = (PANSC_TDO_CLIENT_OBJECT)AnscAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pConnTimerIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hConnTimerIf = (ANSC_HANDLE)pConnTimerIf; } pConnTimerIf->hClientContext = (ANSC_HANDLE)pMyObject; pConnTimerIf->Invoke = AnscLpccoConnTimerInvoke; pConnTimerObj->SetClient((ANSC_HANDLE)pConnTimerObj, (ANSC_HANDLE)pConnTimerIf); } AnscCoEnrollObjects((ANSC_HANDLE)pMyObject); return ANSC_STATUS_SUCCESS; }
ANSC_STATUS TlsSmoEnrollObjects ( ANSC_HANDLE hThisObject ) { PTLS_SESSION_MANAGER_OBJECT pMyObject = (PTLS_SESSION_MANAGER_OBJECT )hThisObject; PANSC_TIMER_DESCRIPTOR_OBJECT pPatrolTimer = (PANSC_TIMER_DESCRIPTOR_OBJECT)pMyObject->hPatrolTimer; PANSC_TDO_CLIENT_OBJECT pTimerClient = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hTimerClient; PTLS_HSM_INTERFACE pTlsHsmIf = (PTLS_HSM_INTERFACE )pMyObject->hTlsHsmIf; if ( !pPatrolTimer ) { pPatrolTimer = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pPatrolTimer ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hPatrolTimer = (ANSC_HANDLE)pPatrolTimer; } pPatrolTimer->SetTimerType((ANSC_HANDLE)pPatrolTimer, ANSC_TIMER_TYPE_PERIODIC ); pPatrolTimer->SetInterval ((ANSC_HANDLE)pPatrolTimer, TLS_SMO_PATROL_TIMER_INTERVAL); } if ( !pTimerClient ) { pTimerClient = (PANSC_TDO_CLIENT_OBJECT)AnscAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pTimerClient ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hTimerClient = (ANSC_HANDLE)pTimerClient; } pTimerClient->hClientContext = (ANSC_HANDLE)pMyObject; pTimerClient->Invoke = TlsSmoPatrolTimerInvoke; pPatrolTimer->SetClient((ANSC_HANDLE)pPatrolTimer, (ANSC_HANDLE)pTimerClient); } if ( !pTlsHsmIf ) { pTlsHsmIf = (PTLS_HSM_INTERFACE)AnscAllocateMemory(sizeof(TLS_HSM_INTERFACE)); if ( !pTlsHsmIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hTlsHsmIf = (ANSC_HANDLE)pTlsHsmIf; } AnscCopyString(pTlsHsmIf->Name, TLS_HSM_INTERFACE_NAME); pTlsHsmIf->InterfaceId = TLS_HSM_INTERFACE_ID; pTlsHsmIf->hOwnerContext = (ANSC_HANDLE)pMyObject; pTlsHsmIf->Size = sizeof(TLS_HSM_INTERFACE); pTlsHsmIf->SelHandshakeSession = TlsSmoHsmSelHandshakeSession; pTlsHsmIf->GetHandshakeSession = TlsSmoHsmGetHandshakeSession; pTlsHsmIf->AddHandshakeSession = TlsSmoHsmAddHandshakeSession; pTlsHsmIf->DelHandshakeSession = TlsSmoHsmDelHandshakeSession; pTlsHsmIf->DelAllHandshakeSessions = TlsSmoHsmDelAllHandshakeSessions; } AnscCoEnrollObjects((ANSC_HANDLE)pMyObject); return ANSC_STATUS_SUCCESS; }
ANSC_STATUS HttpScoEnrollObjects ( ANSC_HANDLE hThisObject ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PHTTP_SIMPLE_CLIENT_OBJECT pMyObject = (PHTTP_SIMPLE_CLIENT_OBJECT )hThisObject; PHTTP_BSP_INTERFACE pBspIf = (PHTTP_BSP_INTERFACE )pMyObject->hBspIf; PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf; PHTTP_CAS_INTERFACE pCasIf = (PHTTP_CAS_INTERFACE )pMyObject->hCasIf; PANSC_TIMER_DESCRIPTOR_OBJECT pSessionTdo = (PANSC_TIMER_DESCRIPTOR_OBJECT)pMyObject->hSessionTdo; PANSC_TDO_CLIENT_OBJECT pSessionTdoClient = (PANSC_TDO_CLIENT_OBJECT )pMyObject->hSessionTdoClient; if ( !pBspIf ) { pBspIf = (PHTTP_BSP_INTERFACE)AnscAllocateMemory(sizeof(HTTP_BSP_INTERFACE)); if ( !pBspIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hBspIf = (ANSC_HANDLE)pBspIf; } pBspIf->hOwnerContext = (ANSC_HANDLE)pMyObject; pBspIf->Size = sizeof(HTTP_BSP_INTERFACE); pBspIf->Polish = HttpScoBspPolish; pBspIf->Browse = HttpScoBspBrowse; pBspIf->Notify = HttpScoBspNotify; } if ( !pHfpIf ) { pHfpIf = (PHTTP_HFP_INTERFACE)AnscAllocateMemory(sizeof(HTTP_HFP_INTERFACE)); #ifdef _CCSP_CWMP_TCP_CONNREQ_HANDLER AnscZeroMemory(pHfpIf, sizeof(HTTP_HFP_INTERFACE)); #endif if ( !pHfpIf ) { return ANSC_STATUS_RESOURCES; } else { /* Initialize the data HFP_interface */ pHfpIf->ParseHeader = AnscHttpParseHeader; pHfpIf->ParseRequestLine = AnscHttpParseRequestLine; pHfpIf->ParseStatusLine = AnscHttpParseStatusLine; pHfpIf->ParseChunkedLine = AnscHttpParseChunkedLine; pHfpIf->ParseHttpUrl = AnscHttpParseUrl; pHfpIf->ParseQueryString = AnscHttpParseQueryString; pHfpIf->GetHeaderParam = AnscHttpGetHeaderParam; pHfpIf->GetHeaderSize = AnscHttpGetHeaderSize; pHfpIf->GetStatusLineSize = AnscHttpGetStatusLineSize; pHfpIf->GetRequestLineSize = AnscHttpGetRequestLineSize; pHfpIf->BuildHeader = AnscHttpBuildHeader; pHfpIf->BuildRequestLine = AnscHttpBuildRequestLine; pHfpIf->BuildStatusLine = AnscHttpBuildStatusLine; /* set the owner context and size of the structure */ pHfpIf->hOwnerContext = hThisObject; pHfpIf->Size = sizeof(HTTP_HFP_INTERFACE); /* register minimum header info */ AnscHttpRegisterAllHeadersXInfo(); pMyObject->hHfpIf = (ANSC_HANDLE)pHfpIf; } #ifndef _CCSP_CWMP_TCP_CONNREQ_HANDLER pHfpIf->hOwnerContext = (ANSC_HANDLE)NULL; pHfpIf->Size = sizeof(HTTP_HFP_INTERFACE); #endif } if ( !pCasIf ) { pCasIf = (PHTTP_CAS_INTERFACE)AnscAllocateMemory(sizeof(HTTP_CAS_INTERFACE)); if ( !pCasIf ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hCasIf = (ANSC_HANDLE)pCasIf; } pCasIf->hOwnerContext = (ANSC_HANDLE)pMyObject; pCasIf->Size = sizeof(HTTP_CAS_INTERFACE); pCasIf->EnableAuth = HttpScoCasEnableAuth; pCasIf->IsAuthEnabled = HttpScoCasIsAuthEnabled; pCasIf->ProcessRequest = HttpScoCasProcessRequest; pCasIf->ProcessResponse = HttpScoCasProcessResponse; pCasIf->ClearAuthInfo = HttpScoCasClearAuthInfo; } if ( !pSessionTdo ) { pSessionTdo = (PANSC_TIMER_DESCRIPTOR_OBJECT)AnscCreateTimerDescriptor ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); if ( !pSessionTdo ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hSessionTdo = (ANSC_HANDLE)pSessionTdo; } pSessionTdo->SetTimerType((ANSC_HANDLE)pSessionTdo, ANSC_TIMER_TYPE_PERIODIC ); pSessionTdo->SetInterval ((ANSC_HANDLE)pSessionTdo, HTTP_SCO_SESSION_TIME_INTERVAL); } if ( !pSessionTdoClient ) { pSessionTdoClient = (PANSC_TDO_CLIENT_OBJECT)AnscAllocateMemory(sizeof(ANSC_TDO_CLIENT_OBJECT)); if ( !pSessionTdoClient ) { return ANSC_STATUS_RESOURCES; } else { pMyObject->hSessionTdoClient = (ANSC_HANDLE)pSessionTdoClient; } pSessionTdoClient->hClientContext = (ANSC_HANDLE)pMyObject; pSessionTdoClient->Invoke = HttpScoSessionTdoInvoke; pSessionTdo->SetClient((ANSC_HANDLE)pSessionTdo, (ANSC_HANDLE)pSessionTdoClient); } AnscCoEnrollObjects((ANSC_HANDLE)pMyObject); return ANSC_STATUS_SUCCESS; }