imstutils/imconversationview/imcvuiengine/src/cimcvenginestoragelistener.cpp
changeset 15 81eeb8c83ce5
parent 0 5e5d6b214f4f
--- a/imstutils/imconversationview/imcvuiengine/src/cimcvenginestoragelistener.cpp	Tue Feb 02 10:12:18 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* Copyright (c) 2008-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:  active object class for interacting with servicetab for link and Display Name
-*
-*/
-
-// INCLUDE FILES
-
-#include "cimcvenginestoragelistener.h"
-#include "cimcvenginemessagehandler.h"
-#include "imcvlogger.h"
-
-//system includes
-
-// ================= MEMBER FUNCTIONS =======================
-
-// --------------------------------------------------------------------------
-// CIMCVEngineStorageListener::CIMCVEngineStorageListener
-// --------------------------------------------------------------------------
-//
-CIMCVEngineStorageListener::CIMCVEngineStorageListener(MIMCVEngineStorageObserver& aObserver )
-    : CActive( CActive::EPriorityStandard ),
-    iObserver( aObserver )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-
-// --------------------------------------------------------------------------
-// CIMCVEngineStorageListener::ConstructL
-// --------------------------------------------------------------------------
-//
-void CIMCVEngineStorageListener::ConstructL()
-    {
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::ConstructL : start"));
-    TInt err = RProperty::Define(KConvViewUID,KXspIdServiceIDKey,RProperty::EText);
-    if(KErrAlreadyExists != err && KErrNone != err )
-        {
-        User::LeaveIfError(err);
-        }
-    //define properties that engine will publish.
-    err = RProperty::Define(KConvViewUID,KContactLinkDisplayNameKey,RProperty::ELargeText);
-    if(KErrAlreadyExists != err && KErrNone != err )
-        {
-        User::LeaveIfError(err);
-        }
-   //Attaching iProperty with the property published by engine to get contact link and display name.
-    err = iProperty.Attach(KConvViewUID,KContactLinkDisplayNameKey);
-    User::LeaveIfError(err);
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::ConstructL : end"));
-    }
-// --------------------------------------------------------------------------
-// CIMCVEngineStorageListener::NewL
-// --------------------------------------------------------------------------
-//
-CIMCVEngineStorageListener* CIMCVEngineStorageListener::NewL(MIMCVEngineStorageObserver& aObserver)
-    {
-    CIMCVEngineStorageListener* self = new(ELeave) CIMCVEngineStorageListener( aObserver );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-// --------------------------------------------------------------------------
-// CIMCVEngineStorageListener::GetContactLinkInfoL
-// --------------------------------------------------------------------------
-//
-void CIMCVEngineStorageListener::GetContactLinkInfoL(TInt aServiceId, const TDesC& aXspID)
-    {
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::GetContactLinkInfoL : start"));
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::GetContactLinkInfoL aServiceId= %d"),aServiceId );
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::GetContactLinkInfoL aXspID= %S"),&aXspID );
-    StartListening();
-    
-    TInt length = KMaxServiceIdLength + aXspID.Length() + KDelimiter().Length();
-    HBufC* userDetails = HBufC::NewLC(length);
-    
-    TPtr userDetailsPtr = userDetails->Des();
-    userDetailsPtr.Zero();
-    userDetailsPtr.AppendNum(aServiceId);
-    userDetailsPtr.Append(KDelimiter());
-    userDetailsPtr.Append(aXspID);
-    
-    RProperty::Set(KConvViewUID,KXspIdServiceIDKey,userDetails->Des());
-    if( !iWait.IsStarted() )
-      {
-      // codescanner warning can be ignored, we are not starting an active object but 
-      // CActiveSchedulerWait.
-      iWait.Start();
-      }
-    CleanupStack::PopAndDestroy(userDetails);
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::GetContactLinkInfoL : end"));
-    }
-
-// ---------------------------------------------------------
-// CIMCVEngineStorageListener::~CIMCVEngineStorageListener()
-// C++ Destructor 
-// ---------------------------------------------------------
-//
-CIMCVEngineStorageListener::~CIMCVEngineStorageListener()
-    {
-    if( iWait.IsStarted() )
-         {
-         // codescanner warning can be ignored, we are not starting an active object but 
-         // this is CActiveSchedulerWait.
-         iWait.AsyncStop();  
-         }
-    StopListening(); // Cancel any request, if outstanding
-    // delete the earlier defined property
-    RProperty::Delete(KConvViewUID,KXspIdServiceIDKey);
-    RProperty::Delete(KConvViewUID,KContactLinkDisplayNameKey);
-    iProperty.Close(); // Destroy the property object
-    }
-
-// ---------------------------------------------------------
-// CIMCVEngineStorageListener::RunL()
-// ---------------------------------------------------------
-//
-void CIMCVEngineStorageListener::RunL()
-    {
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::RunL : start"));
-    if( iStatus.Int() == KErrNone )
-        {
-        // TBuf <KMaxDisplayNameContactLinkLength> servId_usrId_name_link;
-        HBufC16* servId_usrId_name_link = HBufC16::New(KMaxDisplayNameContactLinkLength);
-        TPtr servId_usrId_name_linkPtr( servId_usrId_name_link->Des() );
-        //Get the property in "ServiceId:UserId:Name:ContactLink" formate
-        iProperty.Get(KConvViewUID,KContactLinkDisplayNameKey,servId_usrId_name_linkPtr );
-
-        IM_CV_LOGS(TXT("CIMCVEngineStorageListener::RunL received property = %S"),&servId_usrId_name_linkPtr );
-
-        TInt posOfDelimiter  = servId_usrId_name_link->Find(KDelimiter);
-        if(KErrNotFound != posOfDelimiter )
-            {
-            TInt serviceId;
-            HBufC16* userID = NULL;
-            HBufC16* contactLink = NULL;
-            HBufC16* displayName = NULL;
-
-            TBuf<KMaxServiceIdLength> serviceIdBuf;
-            TPtrC ptr(servId_usrId_name_link->Left(posOfDelimiter));
-            serviceIdBuf = ptr;
-            TLex16 lex(serviceIdBuf);
-            lex.Val(serviceId);
-
-            TPtrC usrId_name_link = servId_usrId_name_link->Right(servId_usrId_name_link->Length() - (posOfDelimiter+ 1) );
-            posOfDelimiter = usrId_name_link.Find(KDelimiter);
-            //extracting user id
-            if(KErrNotFound != posOfDelimiter )
-                {
-                userID = (usrId_name_link.Left(posOfDelimiter)).AllocLC();
-                }
-
-            //extracting display name.
-            TPtrC name_link = usrId_name_link.Right(usrId_name_link.Length() - (posOfDelimiter+ 1) );
-            posOfDelimiter = name_link.Find(KDelimiter);
-            if(KErrNotFound != posOfDelimiter   )
-                {
-                displayName = (name_link.Left(posOfDelimiter)).AllocLC();
-                }
-
-            //extracting contact link
-            TPtrC link = name_link.Right(name_link.Length() - (posOfDelimiter+ 1) );
-            contactLink = link.AllocLC();
-
-            HBufC8* convertedLink = NULL;
-
-            if(contactLink)
-                {
-                convertedLink = HBufC8::NewLC(contactLink->Length());
-                TPtr8 convertedLinkPtr = convertedLink->Des();
-                convertedLinkPtr.Copy(*contactLink);
-                }
-            if( !convertedLink )
-                {
-                convertedLink = KNullDesC8().AllocLC();
-                }
-
-            if(convertedLink && userID && displayName)
-                {
-                iObserver.HandleServiceBuddyDetailsFetchedL( serviceId,*userID,*convertedLink,*displayName);
-
-                IM_CV_LOGS(TXT("storage listener RunL userID = %S"),&(*userID) );
-                IM_CV_LOGS(TXT("storage listener RunL convertedLink = %S"),&(*convertedLink) );
-                IM_CV_LOGS(TXT("storage listener RunL displayName = %S"),&(*displayName) );
-
-                }
-            delete (servId_usrId_name_link);
-            //delete all alocated memory
-            if(convertedLink)
-                {
-                CleanupStack::PopAndDestroy(convertedLink);
-                }
-            if(contactLink)
-                {
-                CleanupStack::PopAndDestroy(contactLink);
-                }
-            if(displayName)
-                {
-                CleanupStack::PopAndDestroy(displayName);
-                }
-            if(userID)
-                {
-                CleanupStack::PopAndDestroy(userID);
-                }
-            }
-        }
-    if( iWait.IsStarted() )
-          {
-          // codescanner warning can be ignored, we are not starting an active object but 
-          // this is CActiveSchedulerWait.
-          iWait.AsyncStop();  
-          }
-    
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::RunL : end"));
-    }
-
-// ---------------------------------------------------------
-// CIMCVEngineStorageListener::RunL()
-// ---------------------------------------------------------
-//
-void CIMCVEngineStorageListener::DoCancel()
-    {    
-    iProperty.Cancel();
-    }
-
-// ---------------------------------------------------------
-// CIMCVEngineStorageListener::StartListening()
-// ---------------------------------------------------------
-//
-void CIMCVEngineStorageListener::StartListening()
-    {
-    if( !IsActive() )
-        {
-        iProperty.Subscribe(iStatus);
-        SetActive(); // Tell scheduler a request is active  
-        }
-    }
-
-// ---------------------------------------------------------
-// CIMCVEngineStorageListener::StopListening()
-// ---------------------------------------------------------
-//
-void CIMCVEngineStorageListener::StopListening()
-    {
-    if( IsActive() )
-        {
-        Cancel(); // Cancel any request, if outstanding
-        }
-    }
-
-// ---------------------------------------------------------
-// CIMCVEngineStorageListener::StopListening()
-// ---------------------------------------------------------
-//
-TInt CIMCVEngineStorageListener::RunError( TInt aError )
-    {
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::RunError : start"));
-    IM_CV_LOGS(TXT("CIMCVEngineStorageListener::RunError : end"));
-    if( iWait.IsStarted() )
-         {
-         // codescanner warning can be ignored, we are not starting an active object but 
-         // this is CActiveSchedulerWait.
-         iWait.AsyncStop();  
-         }
-    return aError;
-    }
-
-    		         
-//  End of File  
-