diff -r 1ddbe54d0645 -r ccb4f6b3db21 accessoryservices/autoaudioasy/src/cautoaudioasymainservicebase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/src/cautoaudioasymainservicebase.cpp Tue Aug 31 16:29:05 2010 +0300 @@ -0,0 +1,104 @@ +/* +* Copyright (c) 2010 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: Service base for autoaudioasy +* +*/ +// global headers +#include +#include + +// local headers +#include "cautoaudioasymainservicebase.h" +#include "cautoaudioasyservice.h" +#include "acc_debug.h" + + +_LIT_SECURITY_POLICY_C1(KPSAutoAudioReadPolicy, ECapabilityReadDeviceData); +_LIT_SECURITY_POLICY_C1(KPSAutoAudioWritePolicy, ECapabilityWriteDeviceData); + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::CAutoAudioAsyMainServiceBase () +// ---------------------------------------------------------------------------------- +CAutoAudioAsyMainServiceBase::CAutoAudioAsyMainServiceBase () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::CAutoAudioAsyMainServiceBase()"); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::NewL () +// ---------------------------------------------------------------------------------- +CAutoAudioAsyMainServiceBase* CAutoAudioAsyMainServiceBase::NewL () + { + CAutoAudioAsyMainServiceBase* self = new ( ELeave ) CAutoAudioAsyMainServiceBase (); + CleanupStack::PushL ( self ); + self->ConstructL (); + CleanupStack::Pop ( self ); + return self; + } + +void CAutoAudioAsyMainServiceBase::ConstructL () + { + iService = CAutoAudioAsyService::NewL (); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::~CAutoAudioAsyMainServiceBase () +// ---------------------------------------------------------------------------------- +CAutoAudioAsyMainServiceBase::~CAutoAudioAsyMainServiceBase () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::~CAutoAudioAsyMainServiceBase" ); + delete iService; + RProperty::Delete ( KPSUidAccessoryServices, KPSAutoKeyRTPStreamingConnectionStatus ); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::StartL () +// In this method we define & start listening for property changes +// ---------------------------------------------------------------------------------- +TInt CAutoAudioAsyMainServiceBase::StartL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::StartL" ); + InitPSAutoAudioL (); + + iService->StartL (); + + Signal (); + + return KErrNone; + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::InitPSAutoAudioL () +// In this method we define and intialise P&S keys +// ---------------------------------------------------------------------------------- +void CAutoAudioAsyMainServiceBase::InitPSAutoAudioL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::InitPSAutoAudioL" ); + TInt ret = RProperty::Define ( KPSUidAccessoryServices, + KPSAutoKeyRTPStreamingConnectionStatus, RProperty::EInt, + KPSAutoAudioReadPolicy, KPSAutoAudioWritePolicy ); + + if ( ret != KErrNone ) + { + COM_TRACE_1 ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::InitPSAutoAudioL RTP Streaming Property Define failed with %d", ret ); + User::Leave ( ret ); + } + + ret = RProperty::Set ( KPSUidAccessoryServices, KPSAutoKeyRTPStreamingConnectionStatus, EAudioConnectionStatusNone ); + if ( ret != KErrNone ) + { + COM_TRACE_1 ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::InitPSAutoAudioL RTP Streaming key init failed with %d", ret ); + User::Leave ( ret ); + } + }