diff -r 000000000000 -r ff3b6d0fd310 cbs/CbsServer/ClientSrc/RCbsSettings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cbs/CbsServer/ClientSrc/RCbsSettings.cpp Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,196 @@ +/* +* Copyright (c) 2003 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 module contains the implementation of RCbsSettings class + member functions. +* +*/ + + +// INCLUDE FILES + +#include "CbsServerConstants.h" +#include "RCbsTopicMessages.h" +#include "RCbsSettings.h" +#include "RCbs.h" + +// ================= MEMBER FUNCTIONS ======================= + +// C++ default constructor can NOT contain any code, that +// might leave. +// +RCbsSettings::RCbsSettings() + : iNotifyEventPtr( NULL, 0, 0 ) + { + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::Open +// Creates a subsession to the server. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// + +TInt RCbsSettings::Open( + RCbs& aServer ) + { + // Open the subsession. + const TIpcArgs args( TIpcArgs::ENothing ); + return CreateSubSession( aServer, ECbsCreateSettingsSubsession, args ); + } +// ----------------------------------------------------------------------------- +// RCbsSettings::Close +// Closes the subsession. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// + +TInt RCbsSettings::Close() + { + // Close the subsession. + RSubSessionBase::CloseSubSession( ECbsCloseSettingsSubsession ); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::GetReceptionStatus +// Requests the reception status from the server. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void RCbsSettings::GetReceptionStatus( + TBool& aStatus ) + { + // Send request to the server. Get the current reception status. + aStatus = EFalse; + TPckgBuf< TBool > pckg( aStatus ); + const TIpcArgs args( &pckg ); + + SendReceive( ECbsGetReceptionStatus, args ); + + aStatus = pckg(); + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::SetReceptionStatus +// Changes the reception status to aStatus. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt RCbsSettings::SetReceptionStatus( + TBool aStatus ) + { + // Change the reception status + TPckgBuf< TBool > pckg( aStatus ); + const TIpcArgs args( &pckg ); + return SendReceive( ECbsSetReceptionStatus, args ); + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::GetTopicDetectionStatus +// Requests the current topic detection status. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void RCbsSettings::GetTopicDetectionStatus( + TBool& aStatus ) + { + // Get the current topic detection status. + TPckgBuf< TBool > pckg; + const TIpcArgs args( &pckg ); + SendReceive( ECbsGetTopicDetectionStatus, args ); + aStatus = pckg(); + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::SetTopicDetectionStatus +// Sets a new topic detection status. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt RCbsSettings::SetTopicDetectionStatus( + TBool aStatus ) + { + // Change the topic detection status. + TPckgBuf< TBool > pckg( aStatus ); + const TIpcArgs args( &pckg ); + return SendReceive( ECbsSetTopicDetectionStatus, args ); + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::GetLanguages +// Returns the preferred languages in aLanguages. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void RCbsSettings::GetLanguages( + TCbsSettingsLanguages& aLanguages ) + { + // Get the preferred languages + TPckgBuf< TCbsSettingsLanguages > pckg; + const TIpcArgs args( &pckg ); + SendReceive( ECbsGetLanguages, args ); + aLanguages = pckg(); + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::SetLanguages +// Sets a new set of languages to the server. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt RCbsSettings::SetLanguages( + const TCbsSettingsLanguages& aLanguages ) + { + // Change the preferred languages + TPckgBuf< TCbsSettingsLanguages > pckg( aLanguages ); + const TIpcArgs args( &pckg ); + return SendReceive( ECbsSetLanguages, args ); + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::NotifySettingsChanged +// Requests the server to notify the client whenever any settings +// will be changed. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void RCbsSettings::NotifySettingsChanged( + TRequestStatus& aStatus, + TCbsSettingsEvent& aEvent ) + { + // Set up the notify! + iNotifyEventPtr.Set( reinterpret_cast( &aEvent ), + sizeof( TCbsSettingsEvent ), + sizeof( TCbsSettingsEvent ) ); + + // Server writes through the pointer descriptor + const TIpcArgs args( &iNotifyEventPtr ); + SendReceive( ECbsNotifySettingsChanged, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RCbsSettings::NotifySettingsChangedCancel +// Cancels the request to notify the client. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void RCbsSettings::NotifySettingsChangedCancel() + { + const TIpcArgs args( TIpcArgs::ENothing ); + SendReceive( ECbsNotifySettingsChangedCancel, args ); + } + +// ================= OTHER EXPORTED FUNCTIONS ============== + +// End of File