diff -r 000000000000 -r 3da2a79470a7 testexecmgmt/ucc/Source/UUInterface/uuinterface_svc_stub_impl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testexecmgmt/ucc/Source/UUInterface/uuinterface_svc_stub_impl.cpp Mon Mar 08 15:04:18 2010 +0800 @@ -0,0 +1,346 @@ +/* +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* THIS FILE IS AUTOGENERATED. Do not modify the contents of this file directly +* as changes will be lost +* Mon Nov 24 15:19:47 2003 +* System Includes +* +*/ + + + + +#include + + +/**************************************************************************************** + * + * Local Includes + * + ***************************************************************************************/ +#include "CSvcUuinterface.h" +#include "CSUuinterface.h" +#include "CComponentManager.h" + + +/**************************************************************************************** + * + * Static Variables + * + ***************************************************************************************/ +static CComponentManager *iComponentManager; + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: ss_startuprpcservice + * + ***************************************************************************************/ +int *ss_startuprpcservice_2( TStartupInfo *aArgs, CLIENT *aDutout ) +{ + static int rv; + + // if the service is already started then return an error + if( iComponentManager != NULL ) { + rv = ERR_SERVICE_ALREADY_STARTED; + return &rv; + } + + // create the component manager + iComponentManager = new CComponentManager( INFO_MAXIMUM_OBJECTS ); + if( iComponentManager == NULL ) { + rv = ERR_FAILED_TO_CREATE_COMPONENT_MANAGER; + return &rv; + } + + // call the custom service manager + rv = CSvcUuinterface::StartRPCService( iComponentManager, aArgs ); + if( rv != ERR_NONE ) { + delete iComponentManager; + iComponentManager = NULL; + return &rv; + } + + // success + rv = ERR_NONE; + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: sc_shutdownrpcservice + * + ***************************************************************************************/ +int *sc_shutdownrpcservice_2( int *aArgs, CLIENT *aDutout ) +{ + static int rv; + int instance_count; + int err; + + // check that the service is started + if( iComponentManager == NULL ) { + rv = ERR_SERVICE_NOT_RUNNING; + return &rv; + } + + // if there are active sessions and the force flag isn't set then return an error + instance_count = iComponentManager->GetInstanceCount(); + if( (instance_count > 0) && (*aArgs == 0) ) { + rv = ERR_ACTIVE_USER_SESSIONS; + return &rv; + }; + + // if the force flag IS set then reset all active connections + instance_count = iComponentManager->GetInstanceCount(); + if( instance_count > 0 ) { + err = iComponentManager->DeleteAllInstances(); + if( err != 0 ) { + rv = ERR_FAILED_TO_REMOVE_ACTIVE_SESSIONS; + return &rv; + } + } + + // call the custom service manager + rv = CSvcUuinterface::StopRPCService(); + if( rv != ERR_NONE ) { + return &rv; + } + + // delete the component manager + delete iComponentManager; + iComponentManager = NULL; + + // success + rv = ERR_NONE; + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: list_devices + * + ***************************************************************************************/ +TComponentList *list_devices_2( void *aArgs, CLIENT *aDutout ) +{ + static TComponentList rv; + int i, valid_count, component_instance_count; + + //free any allocated memory + if( rv.TComponentList_val != NULL ) { + free( rv.TComponentList_val ); + rv.TComponentList_val = NULL; + rv.TComponentList_len = 0; + } + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( LIST_DEVICES, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // set the return value to generic error + CSvcUuinterface::SetError( LIST_DEVICES, (void*)&rv, ERR_FAILED_TO_RETRIEVE_KEY ); + + // get the number of active component instances + component_instance_count = iComponentManager->GetInstanceCount(); + + // if there are one or more instances then allocate the memory + if( component_instance_count > 0 ) { + rv.TComponentList_val = (int*)malloc( sizeof(int) * component_instance_count ); + assert( rv.TComponentList_val != NULL ); + rv.TComponentList_len = component_instance_count; + } + + // store all the currently active IDs in the list + for( i = 0, valid_count = 0; i < INFO_MAXIMUM_OBJECTS; i++ ) { + if( iComponentManager->IsValidKey(i) != 0 ) { + assert( valid_count < component_instance_count ); + (rv.TComponentList_val)[valid_count++] = i; + } + } + + // ok return everything + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: st_setdelay + * + ***************************************************************************************/ +TResult *st_setdelay_2( TConfigValue *aArgs, CLIENT *aDutout ) +{ + static TResult rv; + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( ST_SETDELAY, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // call the corresponding method on the instance + rv = CSvcUuinterface::st_setdelay( *aArgs ); + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: st_setdroppercentage + * + ***************************************************************************************/ +TResult *st_setdroppercentage_2( TConfigValue *aArgs, CLIENT *aDutout ) +{ + static TResult rv; + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( ST_SETDROPPERCENTAGE, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // call the corresponding method on the instance + rv = CSvcUuinterface::st_setdroppercentage( *aArgs ); + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: st_setduplicatepercentage + * + ***************************************************************************************/ +TResult *st_setduplicatepercentage_2( TConfigValue *aArgs, CLIENT *aDutout ) +{ + static TResult rv; + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( ST_SETDUPLICATEPERCENTAGE, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // call the corresponding method on the instance + rv = CSvcUuinterface::st_setduplicatepercentage( *aArgs ); + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: st_setbandwidth + * + ***************************************************************************************/ +TResult *st_setbandwidth_2( TConfigValue *aArgs, CLIENT *aDutout ) +{ + static TResult rv; + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( ST_SETBANDWIDTH, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // call the corresponding method on the instance + rv = CSvcUuinterface::st_setbandwidth( *aArgs ); + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: st_setdrd + * + ***************************************************************************************/ +TResult *st_setdrd_2( TConfigValue *aArgs, CLIENT *aDutout ) +{ + static TResult rv; + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( ST_SETDRD, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // call the corresponding method on the instance + rv = CSvcUuinterface::st_setdrd( *aArgs ); + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: st_clearsettings + * + ***************************************************************************************/ +TResult *st_clearsettings_2( TConfigValue *aArgs, CLIENT *aDutout ) +{ + static TResult rv; + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( ST_CLEARSETTINGS, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // call the corresponding method on the instance + rv = CSvcUuinterface::st_clearsettings( *aArgs ); + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: st_stopservice + * + ***************************************************************************************/ +TResult *st_stopservice_2( void *aArgs, CLIENT *aDutout ) +{ + static TResult rv; + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( ST_STOPSERVICE, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // call the corresponding method on the instance + rv = CSvcUuinterface::st_stopservice(); + return &rv; +} + + +/**************************************************************************************** + * + * PUBLIC FUNCTION: st_reset + * + ***************************************************************************************/ +TResult *st_reset_2( void *aArgs, CLIENT *aDutout ) +{ + static TResult rv; + + // check that the service is started + if( iComponentManager == NULL ) { + CSvcUuinterface::SetError( ST_RESET, (void*)&rv, ERR_SERVICE_NOT_RUNNING ); + return &rv; + } + + // call the corresponding method on the instance + rv = CSvcUuinterface::st_reset(); + return &rv; +}