当前位置: 首页>>代码示例>>C++>>正文


C++ PDSLH_CPE_CONTROLLER_OBJECT::GetDslhMprIf方法代码示例

本文整理汇总了C++中PDSLH_CPE_CONTROLLER_OBJECT::GetDslhMprIf方法的典型用法代码示例。如果您正苦于以下问题:C++ PDSLH_CPE_CONTROLLER_OBJECT::GetDslhMprIf方法的具体用法?C++ PDSLH_CPE_CONTROLLER_OBJECT::GetDslhMprIf怎么用?C++ PDSLH_CPE_CONTROLLER_OBJECT::GetDslhMprIf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PDSLH_CPE_CONTROLLER_OBJECT的用法示例。


在下文中一共展示了PDSLH_CPE_CONTROLLER_OBJECT::GetDslhMprIf方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: AnscTraceEntry

ANSC_STATUS
DslhVarroSetNotification
    (
        ANSC_HANDLE                 hThisObject,
        int                         iNotification
    )
{
    ANSC_STATUS                     returnStatus         = ANSC_STATUS_SUCCESS;
    PDSLH_VAR_RECORD_OBJECT         pMyObject            = (PDSLH_VAR_RECORD_OBJECT    )hThisObject;
    PDSLH_VAR_ENTITY_OBJECT         pVarEntity           = (PDSLH_VAR_ENTITY_OBJECT    )pMyObject->hDslhVarEntity;
    PDSLH_OBJ_RECORD_OBJECT         pObjRecord           = (PDSLH_OBJ_RECORD_OBJECT    )pMyObject->hDslhObjRecord;
    PDSLH_CPE_CONTROLLER_OBJECT     pDslhCpeController   = (PDSLH_CPE_CONTROLLER_OBJECT)pObjRecord->hDslhCpeController;
    PDSLH_MPR_INTERFACE             pDslhMprIf           = (PDSLH_MPR_INTERFACE        )pDslhCpeController->GetDslhMprIf((ANSC_HANDLE)pDslhCpeController);
    PCHAR                           pFullName            = NULL;

    /* we don't allow Notification to be changed if it's defined as Forced or always Off notification */
    if ( pVarEntity->ParamDescr->NotifyStatus != DSLH_CWMP_NOTIFY_STATUS_configurable && pVarEntity->ParamDescr->NotifyStatus != DSLH_CWMP_NOTIFY_STATUS_configActive)
    {
        return  ANSC_STATUS_UNAPPLICABLE;
    }

	pFullName = pMyObject->GetFullName(pMyObject);
	if(strstr(pFullName,"NumberOfEntries"))
	{
		AnscTraceEntry(("Param '%s' cannot be set to Notification Active.\n", pFullName));
		return  ANSC_STATUS_UNAPPLICABLE;
	}
    if ( iNotification == DSLH_CWMP_NOTIFICATION_active && pVarEntity->ParamDescr->NotifyStatus != DSLH_CWMP_NOTIFY_STATUS_configActive)
    {
        pFullName = pMyObject->GetFullName(pMyObject);

        AnscTraceEntry(("Param '%s' cannot be set to Notification Active.\n", pFullName));

        AnscFreeMemory(pFullName);

        return  ANSC_STATUS_UNAPPLICABLE;
    }

    if( pMyObject->Notification == iNotification)
    {
        return ANSC_STATUS_SUCCESS;
    }

    if ( (pMyObject->Notification == DSLH_CWMP_NOTIFICATION_passive) ||
         (pMyObject->Notification == DSLH_CWMP_NOTIFICATION_active ) )
    {
        if((iNotification == DSLH_CWMP_NOTIFICATION_passive) ||
          (iNotification == DSLH_CWMP_NOTIFICATION_active ) )
        {
            pMyObject->Notification = iNotification;

            /* Bin updated in Plugfest on 06/27/2007
             *
             * Since it's already in the monitor queue and the monitor parameter will retrieve
             * the notification state from VarRecord directly, we don't need to
             * do anything and exit.
             */

            return ANSC_STATUS_SUCCESS;
        }

        returnStatus =
            pDslhMprIf->DelNotifyParam
                (
                    pDslhMprIf->hOwnerContext,
                    (ANSC_HANDLE)pMyObject
                );
    }

    pMyObject->Notification = iNotification;

    /*
     * Whenever a parameter change is sent in the Inform message due to a non-zero Notification
     * setting, the Event code "4 VALUE CHANGE" MUST be included in the list of events. The CPE may
     * return a "notification request rejected" error if an attempt is made to set notification on
     * a parameter deemed inappropriate for Active Notification.
     */
    if ( (pMyObject->Notification == DSLH_CWMP_NOTIFICATION_passive) ||
         (pMyObject->Notification == DSLH_CWMP_NOTIFICATION_active ) )
    {
        if ( (pVarEntity->DataType     == DSLH_CWMP_DATA_TYPE_string) &&
             (pVarEntity->FormatValue1 >= 8192                      ) )
        {
            /*
             * The parameter value is too big. The backend should initiate the Notification when
             * the parameter value is modified.
             */
        }
        else
        {
            returnStatus =
                pDslhMprIf->RegNotifyParam
                    (
                        pDslhMprIf->hOwnerContext,
                        (ANSC_HANDLE)pMyObject,
                        (pMyObject->Notification == DSLH_CWMP_NOTIFICATION_active)
                    );
        }
    }

//.........这里部分代码省略.........
开发者ID:rdkcmf,项目名称:rdkb-CcspCommonLibrary,代码行数:101,代码来源:dslh_varro_states.c

示例2: AnscFreeMemory

ANSC_STATUS
DslhVarroReset
    (
        ANSC_HANDLE                 hThisObject
    )
{
    ANSC_STATUS                     returnStatus         = ANSC_STATUS_SUCCESS;
    PDSLH_VAR_RECORD_OBJECT         pMyObject            = (PDSLH_VAR_RECORD_OBJECT    )hThisObject;
    PDSLH_OBJ_RECORD_OBJECT         pObjRecord           = (PDSLH_OBJ_RECORD_OBJECT    )pMyObject->hDslhObjRecord;
    PDSLH_CPE_CONTROLLER_OBJECT     pDslhCpeController   = (PDSLH_CPE_CONTROLLER_OBJECT)pObjRecord->hDslhCpeController;
    PDSLH_MPR_INTERFACE             pDslhMprIf           = (PDSLH_MPR_INTERFACE        )pDslhCpeController->GetDslhMprIf((ANSC_HANDLE)pDslhCpeController);
    /*PPOAM_IREP_FOLDER_OBJECT        pPoamIrepFoParameter = (PPOAM_IREP_FOLDER_OBJECT   )pMyObject->hIrepFoParameter;*/

    if ( (pMyObject->Notification == DSLH_CWMP_NOTIFICATION_passive) ||
         (pMyObject->Notification == DSLH_CWMP_NOTIFICATION_active ) )
    {
        returnStatus =
            pDslhMprIf->DelNotifyParam
                (
                    pDslhMprIf->hOwnerContext,
                    (ANSC_HANDLE)pMyObject
                );
    }

    if ( pMyObject->AccessList )
    {
        AnscFreeMemory(pMyObject->AccessList);

        pMyObject->AccessList = NULL;
    }

/*
    if ( pPoamIrepFoParameter )
    {
        pPoamIrepFoParameter->Remove((ANSC_HANDLE)pPoamIrepFoParameter);
    }

    pMyObject->hIrepFoParameter = (ANSC_HANDLE)NULL;
*/

    if ( pMyObject->TempParamValue )
    {
        SlapFreeVariable(pMyObject->TempParamValue);

        pMyObject->TempParamValue = NULL;
    }

    if ( pMyObject->TempParamValueTrans )
    {
        if ( (pMyObject->TempParamValueTrans->Syntax == SLAP_VAR_SYNTAX_handle) && pMyObject->TempParamValueTrans->Variant.varHandle )
        {
            AnscFreeMemory(pMyObject->TempParamValueTrans->Variant.varHandle);
        }

        SlapFreeVariable(pMyObject->TempParamValueTrans);

        pMyObject->TempParamValueTrans = NULL;
    }

    if ( pMyObject->OldParamValue )
    {
        SlapFreeVariable(pMyObject->OldParamValue);

        pMyObject->OldParamValue = NULL;
    }

    pMyObject->bAlreadySet = FALSE;

    return  ANSC_STATUS_SUCCESS;
}
开发者ID:rdkcmf,项目名称:rdkb-CcspCommonLibrary,代码行数:70,代码来源:dslh_varro_states.c

示例3: AnscTraceError

int 
CcspCcMbi_GetParameterNames
    (
        char * parameterName,
        dbus_bool nextLevel,
        int *size ,
        parameterInfoStruct_t ***val,
        void * user_data
    )
{
    ANSC_STATUS                     returnStatus       = ANSC_STATUS_SUCCESS;
    PDSLH_MPA_INTERFACE             pDslhMpaIf         = (PDSLH_MPA_INTERFACE        )g_pDslhCpeController->GetDslhMpaIf((ANSC_HANDLE)g_pDslhCpeController);
    PDSLH_MPR_INTERFACE             pDslhMprIf         = (PDSLH_MPR_INTERFACE        )g_pDslhCpeController->GetDslhMprIf((ANSC_HANDLE)g_pDslhCpeController); 
    PDSLH_CWMP_PARAM_INFO           pParamInfoArray    = (PDSLH_CWMP_PARAM_INFO      )NULL;
    ULONG                           ulArraySize        = (ULONG                      )0;
    parameterInfoStruct_t**         ppReturnVal        = NULL;
    ULONG                           i                  = 0;

    /*with component binding, we have multiple CpeController handle, each for a component*/
    if (user_data)
    {
        PDSLH_CPE_CONTROLLER_OBJECT      pCpeco = user_data;

        pDslhMpaIf         = (PDSLH_MPA_INTERFACE        )pCpeco->GetDslhMpaIf((ANSC_HANDLE)pCpeco);
        pDslhMprIf         = (PDSLH_MPR_INTERFACE        )pCpeco->GetDslhMprIf((ANSC_HANDLE)pCpeco); 
    }

    if ( !parameterName )
    {
        AnscTraceError(("Input parameter invalid for ssp_SsdMbi_GetParameterNames\n"));

        returnStatus = CCSP_ERR_INVALID_PARAMETER_NAME;

        goto EXIT;
    }

    if ( !pDslhMpaIf )
    {
        AnscTraceError(("pDslhMpaIf is NULL for ssp_SsdMbi_GetParameterNames\n"));

        returnStatus = ANSC_STATUS_INTERNAL_ERROR;

        goto EXIT;
    }

    /* increase the request counter by one */
    pDslhMprIf->IncReqCounter(pDslhMprIf->hOwnerContext);       

    returnStatus =
        pDslhMpaIf->GetParameterNames
            (
                pDslhMpaIf->hOwnerContext,
                DSLH_MPA_ENTITY_ACS,
                parameterName,
                nextLevel,
                &pParamInfoArray,
                &ulArraySize
            );

    if ( returnStatus != ANSC_STATUS_SUCCESS )
    {
        /*
         * Something serious has screwed up (e.g. we have run out of system memory), abort!
         */
        goto  EXIT1;
    }

    ppReturnVal = AnscAllocateMemory(ulArraySize * sizeof(parameterInfoStruct_t *));

    if ( !ppReturnVal )
    {
        AnscTraceError(("ssp_SsdMbi_GetParameterNames -- No Resource\n"));
            
        returnStatus = ANSC_STATUS_RESOURCES;

        goto EXIT1;
    }

    AnscZeroMemory(ppReturnVal, ulArraySize * sizeof(parameterInfoStruct_t *));

    for ( i = 0; i < ulArraySize; i++ )
    {
        ppReturnVal[i] = AnscAllocateMemory(sizeof(parameterInfoStruct_t));

        if ( !ppReturnVal[i] )
        {
            AnscTraceError(("ssp_SsdMbi_GetParameterNames -- No Resource\n"));
            
            returnStatus = ANSC_STATUS_RESOURCES;

            goto EXIT1;
        }

        AnscZeroMemory(ppReturnVal[i], sizeof(parameterInfoStruct_t));

        ppReturnVal[i]->parameterName = AnscCloneString(pParamInfoArray[i].Name);
        ppReturnVal[i]->writable      = pParamInfoArray[i].bWritable;
    }

EXIT1:
//.........这里部分代码省略.........
开发者ID:davekimble,项目名称:CcspCommonLibrary,代码行数:101,代码来源:messagebus_interface_helper.c

示例4: AnscTraceWarning

int 
CcspCcMbi_SetParameterAttributes
    (
        int sessionId,
        parameterAttributeStruct_t *val,
        int size,
        void * user_data
    )
{
    ANSC_STATUS                     returnStatus       = ANSC_STATUS_SUCCESS;
    PDSLH_MPA_INTERFACE             pDslhMpaIf         = (PDSLH_MPA_INTERFACE        )g_pDslhCpeController->GetDslhMpaIf((ANSC_HANDLE)g_pDslhCpeController);
    PDSLH_MPR_INTERFACE             pDslhMprIf         = (PDSLH_MPR_INTERFACE        )g_pDslhCpeController->GetDslhMprIf((ANSC_HANDLE)g_pDslhCpeController); 
    ULONG                           uMaxParam          = 128;
    PDSLH_CWMP_SET_PARAM_ATTRIB     pParamArray        = NULL;
    PDSLH_CWMP_SET_PARAM_ATTRIB     pParamAttr         = NULL;
    int                             i                  = 0;

    /*with component binding, we have multiple CpeController handle, each for a component*/
    if (user_data)
    {
        PDSLH_CPE_CONTROLLER_OBJECT      pCpeco = user_data;

        pDslhMpaIf         = (PDSLH_MPA_INTERFACE        )pCpeco->GetDslhMpaIf((ANSC_HANDLE)pCpeco);
        pDslhMprIf         = (PDSLH_MPR_INTERFACE        )pCpeco->GetDslhMprIf((ANSC_HANDLE)pCpeco); 
    }

    if ( (g_currentSessionID != 0) && (sessionId != g_currentSessionID) )
    {
        AnscTraceWarning(("!!! SetParameterAttributes discarded, session id is NOT match !!!\n"));

        return ANSC_STATUS_DISCARD;
    }

    if ( !val || size == 0 )
    {
        AnscTraceError(("Input parameter invalid for ssp_SsdMbiSetParameterAttributes\n"));

        returnStatus = CCSP_ERR_INVALID_ARGUMENTS;

        goto EXIT;
    }

    if( (ULONG)size >= uMaxParam )
    {
        AnscTrace("Too many params in 'SetParameterAttributes'\n");

        returnStatus = CCSP_ERR_INVALID_ARGUMENTS;

        goto EXIT;
    }

    if ( !pDslhMpaIf )
    {
        AnscTraceError(("pDslhMpaIf is NULL for ssp_SsdMbiSetParameterValues\n"));

        returnStatus = ANSC_STATUS_INTERNAL_ERROR;

        goto EXIT;
    }

    /* increase the request counter by one */
    pDslhMprIf->IncReqCounter(pDslhMprIf->hOwnerContext);       

    pParamArray = (PDSLH_CWMP_SET_PARAM_ATTRIB)
            AnscAllocateMemory(sizeof(DSLH_CWMP_SET_PARAM_ATTRIB) * size);

    if( pParamArray == NULL)
    {
        returnStatus = CCSP_ERR_INVALID_ARGUMENTS;

        goto EXIT;
    }

    for ( i = 0; i < size; i++ )
    {
        pParamAttr = &pParamArray[i];
        
        pParamAttr->Name                = AnscCloneString(val[i].parameterName);
        pParamAttr->bNotificationChange = val[i].notificationChanged;
        pParamAttr->Notification        = val[i].notification ? DSLH_CWMP_NOTIFICATION_passive : DSLH_CWMP_NOTIFICATION_off;
        pParamAttr->bAccessListChange   = val[i].accessControlChanged;
        pParamAttr->AccessList          = AccessControlBitMaskToAccessList(val[i].accessControlBitmask);
    }

    returnStatus =
        pDslhMpaIf->SetParameterAttributes
            (
                pDslhMpaIf->hOwnerContext,
                DSLH_MPA_ENTITY_ACS,
                (ANSC_HANDLE)pParamArray,
                size
            );

    if( pParamArray != NULL)
    {
        for( i = 0; i < size; i ++ )
        {
            pParamAttr = &pParamArray[i];

            DslhCwmpCleanSetParamAttrib(pParamAttr);
//.........这里部分代码省略.........
开发者ID:davekimble,项目名称:CcspCommonLibrary,代码行数:101,代码来源:messagebus_interface_helper.c

示例5: if

int 
CcspCcMbi_SetParameterValues
    (
        int sessionId,
        unsigned int writeID,
        parameterValStruct_t *val,
        int size,
        dbus_bool commit,
        char ** invalidParameterName,
        void * user_data
    )
{
    ANSC_STATUS                 returnStatus       = ANSC_STATUS_SUCCESS;
    PDSLH_MPA_INTERFACE         pDslhMpaIf         = (PDSLH_MPA_INTERFACE        )g_pDslhCpeController->GetDslhMpaIf((ANSC_HANDLE)g_pDslhCpeController);
    PDSLH_MPR_INTERFACE         pDslhMprIf         = (PDSLH_MPR_INTERFACE        )g_pDslhCpeController->GetDslhMprIf((ANSC_HANDLE)g_pDslhCpeController); 
    PDSLH_CWMP_PARAM_VALUE      pParamArray        = NULL;
    PDSLH_CWMP_PARAM_VALUE      pParamValue        = NULL;
    PSLAP_VARIABLE              pSlapVariable      = (PSLAP_VARIABLE)NULL;
    PDSLH_CWMP_SOAP_FAULT       pCwmpSoapFault     = (PDSLH_CWMP_SOAP_FAULT      )NULL;
    int                         iStatus            = 0;
    int                         i                  = 0;


    /*with component binding, we have multiple CpeController handle, each for a component*/
    if (user_data)
    {
        PDSLH_CPE_CONTROLLER_OBJECT      pCpeco = user_data;

        pDslhMpaIf         = (PDSLH_MPA_INTERFACE        )pCpeco->GetDslhMpaIf((ANSC_HANDLE)pCpeco);
        pDslhMprIf         = (PDSLH_MPR_INTERFACE        )pCpeco->GetDslhMprIf((ANSC_HANDLE)pCpeco); 
    }

    if ( (g_currentSessionID != 0) && (sessionId != g_currentSessionID) )
    {
        AnscTraceWarning(("!!! SetParameterValues discarded, session id is NOT match !!!\n"));

        return ANSC_STATUS_DISCARD;
    }

    if ( !val || size == 0  )
    {
        AnscTraceError(("Input parameter invalid for ssp_SsdMbi_GetParameterValues\n"));

        returnStatus = CCSP_ERR_INVALID_ARGUMENTS;

        goto EXIT;
    }

    if ( !pDslhMpaIf )
    {
        AnscTraceError(("pDslhMpaIf is NULL for ssp_SsdMbiSetParameterValues\n"));

        returnStatus = ANSC_STATUS_INTERNAL_ERROR;

        goto EXIT;
    }

    /* increase the request counter by one */
    pDslhMprIf->IncReqCounter(pDslhMprIf->hOwnerContext);       

    pParamArray = (PDSLH_CWMP_PARAM_VALUE)
			AnscAllocateMemory(sizeof(DSLH_CWMP_PARAM_VALUE) * size);

    if( pParamArray == NULL)
	{
		returnStatus = ANSC_STATUS_RESOURCES;

		goto EXIT;
	}

    for ( i = 0; i < size; i++ )
    {
        pParamValue = &pParamArray[i];

        pParamValue->Name = AnscCloneString(val[i].parameterName);

        pSlapVariable = (PSLAP_VARIABLE)AnscAllocateMemory(sizeof(SLAP_VARIABLE));

        if ( !pSlapVariable )
        {
            returnStatus = ANSC_STATUS_RESOURCES;

            goto EXIT1;
        }

        SlapInitVariable(pSlapVariable);

        pParamValue->Value          = pSlapVariable;

        pSlapVariable->Name        = NULL;
        pSlapVariable->ContentType = 0;
        pSlapVariable->UsageType   = 0;

        if ( val[i].type == ccsp_string )
        {
            pSlapVariable->Syntax            = SLAP_VAR_SYNTAX_string;
            pSlapVariable->Variant.varString = AnscCloneString(val[i].parameterValue);
        }
        else if ( val[i].type == ccsp_int )
        {
//.........这里部分代码省略.........
开发者ID:davekimble,项目名称:CcspCommonLibrary,代码行数:101,代码来源:messagebus_interface_helper.c


注:本文中的PDSLH_CPE_CONTROLLER_OBJECT::GetDslhMprIf方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。