diff -r 000000000000 -r 3da2a79470a7 testexecmgmt/ucc/Source/Uccs.v2/ServiceStubs/Internal/CInternalStub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testexecmgmt/ucc/Source/Uccs.v2/ServiceStubs/Internal/CInternalStub.cpp Mon Mar 08 15:04:18 2010 +0800 @@ -0,0 +1,161 @@ +/* +* 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: +* System Includes +* +*/ + + +#include +#include +#include + +/******************************************************************************* + * + * Local Includes + * + ******************************************************************************/ +#include "..\..\Core\UCCS_ServiceValues.h" +#include "..\..\Core\UCCS_ErrorCodes.h" +#include "CInternalStub.h" +#include "..\..\..\include\penstd.h" + +/******************************************************************************* + * + * Definitions + * + ******************************************************************************/ + +/******************************************************************************* + * + * Macro Functions + * + ******************************************************************************/ + +/******************************************************************************* + * + * Constructor / Destructor + * + ******************************************************************************/ +CInternalStub::CInternalStub() +{ +} + + +CInternalStub::~CInternalStub() +{ +} + + +/******************************************************************************* + * + * Startup / Shutdown + * + ******************************************************************************/ +int CInternalStub::StartUccsService( char *aHostName, int *aLocalError, int *aRemoteError ) +{ + *aLocalError = *aRemoteError = 0; + return 0; +} + + +int CInternalStub::StopUccsService( int *aLocalError, int *aRemoteError ) +{ + *aLocalError = *aRemoteError = 0; + return 0; +} + + +/******************************************************************************* + * + * IssueCommand + * + ******************************************************************************/ +CDataRecord* CInternalStub::IssueCommand( CDataRecord* aRequest ) +{ + int err; + int method_id; + int sarg_integer; + char *sarg_string; + CDataRecord *request_reply; + + // check params + assert( aRequest != NULL ); + + // create a standard reply + request_reply = CreateBaseReply( aRequest ); + assert( request_reply != NULL ); + + // get and check the method_id + err = request_reply->GetFieldAsInt( "METHODID", &method_id ); + assert( err == UCCS_OK ); + if( method_id == -1 ) { + UpdateCompletionCode( request_reply, ERR_INVALID_METHOD ); + return request_reply; + } + + // now dispatch and call the appropriate method + switch( method_id ) { + + // pause + case 1: + // extract the parameters + GETINTEGERARGUMENT( "PERIOD", &sarg_integer, 1, 0, aRequest, request_reply ); + + // implement the call + Sleep( sarg_integer ); + + // update the result + UpdateCompletionCode( request_reply, ERR_NONE ); + break; + + // print message + case 3: + // extract the parameters + GETSTRINGARGUMENT( "MSG", &sarg_string, 1, 0, aRequest, request_reply ); + + // implement the call + fprintf( stderr, "%s\n", sarg_string ); + fflush( stderr ); + + // update the result + UpdateCompletionCode( request_reply, ERR_NONE ); + break; + + // null + case 4: + UpdateCompletionCode( request_reply, ERR_NONE ); + break; + + // Any other method id results in an invalid method id result + default: + UpdateCompletionCode( request_reply, ERR_INVALID_METHOD ); + break; + } + + // everything should be handled above + return request_reply; +} + + +/******************************************************************************* + * + * GetStatus() + * + ******************************************************************************/ +int CInternalStub::GetStatus() +{ + assert( !"GetStatus() - is not implemented" ); + return -1; +}