diff -r 6ca72c0fe49a -r a941bc465d9f wvuing/wvuiada/Src/CCAImpsImClient.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuiada/Src/CCAImpsImClient.cpp Wed Sep 01 12:31:13 2010 +0100 @@ -0,0 +1,288 @@ +/* +* Copyright (c) 2005 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: Implements instant messaging services interface. +* +*/ + + + +// INCLUDE FILES +#include "CCAImpsImClient.h" +#include "TCAInterfaceSignaller.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::CCAImpsImClient +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CCAImpsImClient::CCAImpsImClient( RImpsEng& aImpsEng ) + : iImpsEng( aImpsEng ) + { + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CCAImpsImClient* CCAImpsImClient::NewL( RImpsEng& aImpsEng ) + { + CCAImpsImClient* self = new( ELeave ) CCAImpsImClient( aImpsEng ); + return self; + } + + +// Destructor +CCAImpsImClient::~CCAImpsImClient() + { + } + + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::InterfaceL +// Returns registered WV Engine interface. Implements lazy initialization. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +RImpsImClient2* CCAImpsImClient::InterfaceL() + { + if ( iLazyInitialization ) + { + // Connect to IMPS engine (server) + TCAInterfaceSignaller::ConnectL(); + + iClient.RegisterL( iImpsEng, iImHandler, iBlockingHandler, KNullDesC, + ETrue, iPriority ); + iLazyInitialization = EFalse; + iRegistered = ETrue; + if ( iErrorHandler ) + { + iClient.RegisterErrorObserverL( *iErrorHandler ); + } + if ( iStatusHandler ) + { + iClient.RegisterStatusObserverL( iStatusHandler ); + } + } + return &iClient; + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::RegisterL +// Stores values for later registration. Implements lazy initialization. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCAImpsImClient::RegisterL( MImpsImHandler2* aImpsObserver, + MImpsBlockingHandler2* aBlockingHandler, TUid aApplicationId, + TInt aPriority /* = 0 */ ) + { + iPriority = aPriority; + iApplicationId = aApplicationId; + iImHandler = aImpsObserver; + iBlockingHandler = aBlockingHandler; + iLazyInitialization = ETrue; + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::Unregister +// Unregisters if registered. Clears member variables. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCAImpsImClient::Unregister() + { + if ( iRegistered ) + { + iClient.Unregister(); + } + iLazyInitialization = ETrue; + iRegistered = EFalse; + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::GetServicesL +// Forwards the call to WV Engine. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCAImpsImClient::GetServicesL( TImpsServices& aServices ) + { + InterfaceL()->GetServicesL( aServices ); + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::SendTextMessageL +// Forwards the call to WV Engine. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CCAImpsImClient::SendTextMessageL( const TDesC* aSenderSn, + const MDesCArray* aUserIds, + const TDesC* aGroupId, + const MDesCArray* aScreenNames, + const TDesC& aContent, + TBool aDeliveryReportWanted ) + { + return InterfaceL()->SendTextMessageL( aSenderSn, + aUserIds, + aGroupId, + aScreenNames, + aContent, + aDeliveryReportWanted ); + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::SendContentMessageL +// Forwards the call to WV Engine. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CCAImpsImClient::SendContentMessageL( const TDesC* aSenderSn, + const MDesCArray* aUserIds, + const TDesC* aGroupId, + const MDesCArray* aScreenNames, + const TDesC& aContentType, + const TDesC8& aContent, + TBool aDeliveryReportWanted ) + { + return InterfaceL()->SendContentMessageL( aSenderSn, + aUserIds, + aGroupId, + aScreenNames, + aContentType, + aContent, + aDeliveryReportWanted ); + } +// ----------------------------------------------------------------------------- +// CCAImpsImClient::BlockEntityRequestL +// Forwards the call to WV Engine. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CCAImpsImClient::BlockEntityRequestL( const CDesCArray* aBlockEntity, + const CDesCArray* aUnBlockEntity, + TBool aBlockedListInUse, + const CDesCArray* aGrantedEntityList, + const CDesCArray* aUnGrantEntity, + TBool aGrantedListInUse ) + { + return InterfaceL()->BlockEntityRequestL( aBlockEntity, + aUnBlockEntity, + aBlockedListInUse, + aGrantedEntityList, + aUnGrantEntity, + aGrantedListInUse ); + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::GetBlockedListRequestL +// Forwards the call to WV Engine. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CCAImpsImClient::GetBlockedListRequestL() + { + return InterfaceL()->GetBlockedListRequestL(); + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::RegisterErrorObserverL +// Calls WV Engine if registered. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCAImpsImClient::RegisterErrorObserverL( MImpsErrorHandler2 &aObs ) + { + iErrorHandler = &aObs; + if ( iRegistered ) + { + InterfaceL()->RegisterErrorObserverL( *iErrorHandler ); + } + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::RegisterStatusObserverL +// Calls WV Engine if registered. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCAImpsImClient::RegisterStatusObserverL( MImpsStatusHandler2* aObs ) + { + iStatusHandler = aObs; + if ( iRegistered ) + { + InterfaceL()->RegisterStatusObserverL( iStatusHandler ); + } + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::UnregisterErrorObserverL +// Calls WV Engine always. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCAImpsImClient::UnregisterErrorObserverL() + { + iClient.UnregisterErrorObserverL(); + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::MaxTransactionContentLengthL +// Calls WV Engine always. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CCAImpsImClient::MaxTransactionContentLengthL( ) + { + return iClient.MaxTransactionContentLengthL(); + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::UnregisterStatusObserverL +// Calls WV Engine always. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCAImpsImClient::UnregisterStatusObserverL() + { + iClient.UnregisterStatusObserverL(); + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::StatusHandler +// Returns current status handler pointer. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +MImpsStatusHandler2* CCAImpsImClient::StatusHandler() const + { + return iStatusHandler; + } + +// ----------------------------------------------------------------------------- +// CCAImpsImClient::ErrorHandler +// Returns current error handler pointer. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +MImpsErrorHandler2* CCAImpsImClient::ErrorHandler() const + { + return iErrorHandler; + } + +// End of File