--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuiada/Src/CCAImpsAccessClient.cpp Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,239 @@
+/*
+* 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 WV engine access services interface
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "CCAImpsAccessClient.h"
+#include "CCAAdapterDll.h"
+#include "TCAInterfaceSignaller.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::CCAImpsAccessClient
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CCAImpsAccessClient::CCAImpsAccessClient( RImpsEng& aImpsEng )
+ : iImpsEng( aImpsEng )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CCAImpsAccessClient* CCAImpsAccessClient::NewL( RImpsEng& aImpsEng )
+ {
+ CCAImpsAccessClient* self = new( ELeave ) CCAImpsAccessClient( aImpsEng );
+ return self;
+ }
+
+// Destructor
+CCAImpsAccessClient::~CCAImpsAccessClient()
+ {
+ delete iCIdle;
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::InterfaceL
+// Returns registered WV Engine interface. Implements lazy initialization.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+RImpsAccessClient2* CCAImpsAccessClient::InterfaceL()
+ {
+ if ( iLazyInitialization )
+ {
+ iClient.RegisterL( iImpsEng, iAccessHandler, iPriority );
+ iLazyInitialization = EFalse;
+ iRegistered = ETrue;
+ if ( iErrorHandler )
+ {
+ iClient.RegisterErrorObserverL( *iErrorHandler );
+ }
+ if ( iStatusHandler )
+ {
+ iClient.RegisterStatusObserverL( iStatusHandler );
+ }
+ // register all the client interfaces immediately, otherwise
+ // client might miss events from network
+ TCAInterfaceSignaller::RegisterAllL();
+ }
+ return &iClient;
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::RegisterL
+// Stores values for later registration. Implements lazy initialization.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCAImpsAccessClient::RegisterL( MImpsAccessHandler2* aObserver,
+ TInt aPriority /* = 0 */ )
+ {
+ iPriority = aPriority;
+ iAccessHandler = aObserver;
+ iLazyInitialization = ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::Unregister
+// Unregisters if registered. Clears member variables.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCAImpsAccessClient::Unregister()
+ {
+ if ( iRegistered )
+ {
+ iClient.Unregister();
+ }
+ iAccessHandler = NULL;
+ iLazyInitialization = ETrue;
+ iRegistered = EFalse;
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::LoginL
+// Forwards the call to WV Engine.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCAImpsAccessClient::LoginL( TImpsCspIdentifier aCspId,
+ const TDesC& aPsw,
+ const TDesC& aClientId,
+ TUint32 aAP,
+ const TDesC* aKey1 /*= NULL*/,
+ const TDesC* aKey2 /*= NULL*/ )
+ {
+ return InterfaceL()->ReactiveLoginL( aCspId, aPsw, aClientId, aAP, aKey1,
+ aKey2 );
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::LogoutL
+// Forwards the call to WV Engine.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCAImpsAccessClient::LogoutL()
+ {
+ return InterfaceL()->LogoutL();
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::NumberOfSessionsL
+// Forwards the call to WV Engine.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CCAImpsAccessClient::NumberOfSessionsL( TImpsCspIdentifier& aCspId )
+ {
+ return InterfaceL()->NumberOfSessionsL( aCspId );
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::GetServicesL
+// Forwards the call to WV Engine.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCAImpsAccessClient::GetServicesL( TImpsServices& aServices )
+ {
+ InterfaceL()->GetServicesL( aServices );
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::RegisterErrorObserverL
+// Calls WV Engine if registered.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCAImpsAccessClient::RegisterErrorObserverL( MImpsErrorHandler2& aObs )
+ {
+ iErrorHandler = &aObs;
+ if ( iRegistered )
+ {
+ InterfaceL()->RegisterErrorObserverL( *iErrorHandler );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::UnregisterErrorObserverL
+// Calls WV Engine always.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCAImpsAccessClient::UnregisterErrorObserverL()
+ {
+ iErrorHandler = NULL;
+ iClient.UnregisterErrorObserverL();
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::RegisterStatusObserverL
+// Calls WV Engine if registered.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCAImpsAccessClient::RegisterStatusObserverL( MImpsStatusHandler2* aObs )
+ {
+ iStatusHandler = aObs;
+ if ( iRegistered )
+ {
+ InterfaceL()->RegisterStatusObserverL( iStatusHandler );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::UnregisterStatusObserverL
+// Calls WV Engine always.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CCAImpsAccessClient::UnregisterStatusObserverL()
+ {
+ iClient.UnregisterStatusObserverL();
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::StatusHandler
+// Returns current status handler.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+MImpsStatusHandler2* CCAImpsAccessClient::StatusHandler() const
+ {
+ return iStatusHandler;
+ }
+
+// -----------------------------------------------------------------------------
+// CCAImpsAccessClient::ErrorHandler
+// Returns current error handler.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+MImpsErrorHandler2* CCAImpsAccessClient::ErrorHandler() const
+ {
+ return iErrorHandler;
+ }
+
+// End of File