diff -r 2b7283837edb -r 3104fc151679 imstatuspaneindicatorplugin/src/imstatuspaneindicator.cpp --- a/imstatuspaneindicatorplugin/src/imstatuspaneindicator.cpp Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ -/* -* Copyright (c) 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: This class subscribes and listens to the rproperty -* -*/ - - -// INCLUDE FILES -#include -#include "imstatuspaneindicator.h" - - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// CIMStatusPaneIndicator::CIMStatusPaneIndicator -// C++ default constructor can NOT contain any code, that -// might leave. -// --------------------------------------------------------------------------- -// -CIMStatusPaneIndicator::CIMStatusPaneIndicator() - :CActive(CActive::EPriorityStandard ) - { - } - -// --------------------------------------------------------------------------- -// CIMStatusPaneIndicator::ConstructL -// Symbian 2nd phase constructor can leave. -// --------------------------------------------------------------------------- -// -void CIMStatusPaneIndicator::ConstructL() - { - iSenderId = HBufC::NewL(KMAXLENGTH); - // attach the properties. - User::LeaveIfError( iProperty.Attach(KIMStatusProperty,EIMStatusPropertyMessageCount ) ); - User::LeaveIfError( iProperty.Attach(KIMStatusProperty,EIMStatusPropertyServiceId ) ); - User::LeaveIfError( iProperty.Attach(KIMStatusProperty,EIMMultipleSender ) ); - User::LeaveIfError( iProperty.Attach(KIMStatusProperty,EIMStatusPropertySenderId ) ); - //User::LeaveIfError( iProperty.Attach(KIMStatusProperty,EIMStatusPropertyMessageCount ) ); - CActiveScheduler::Add(this); - // initial subscription and process current property value - RunL(); - } - -// ----------------------------------------------------------------------------- -// CIMStatusPaneIndicator::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CIMStatusPaneIndicator* CIMStatusPaneIndicator::NewL() - { - CIMStatusPaneIndicator* self = - new( ELeave ) CIMStatusPaneIndicator(); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - - -// Destructor -CIMStatusPaneIndicator::~CIMStatusPaneIndicator() - { - delete iSenderId; - iProperty.Close(); - Cancel(); - } -// --------------------------------------------------------------------------- -// CIMStatusPaneIndicator::DoCancel() -// --------------------------------------------------------------------------- -// -void CIMStatusPaneIndicator::DoCancel() - { - iProperty.Cancel(); - } - -// --------------------------------------------------------------------------- -// CIMStatusPaneIndicator::RunL() -// --------------------------------------------------------------------------- -// -void CIMStatusPaneIndicator::RunL() - { - // resubscribe before processing new value to prevent missing updates - iProperty.Subscribe( iStatus ); - SetActive(); - if( iProperty.Get(KIMStatusProperty, EIMStatusPropertyMessageCount,iMsgCount ) == KErrNotFound ) - { - //do necessary action - } - if( iProperty.Get(KIMStatusProperty, EIMStatusPropertyServiceId,iServiceId ) == KErrNotFound ) - { - //do necessary action - } - if( iProperty.Get(KIMStatusProperty, EIMMultipleSender,iMultipleSenders ) == KErrNotFound ) - { - //do necessary action - } - TBuf senderId; - if( iProperty.Get(KIMStatusProperty, EIMStatusPropertySenderId,senderId) == KErrNotFound ) - { - //do necessary action - } - if(iSenderId) - { - delete iSenderId; - iSenderId = NULL; - } - iSenderId = senderId.AllocL(); - } -// --------------------------------------------------------------------------- -// CIMStatusPaneIndicator::MsgCount() -// --------------------------------------------------------------------------- -// -TInt CIMStatusPaneIndicator::MsgCount() - { - return iMsgCount; - } - -// --------------------------------------------------------------------------- -// CIMStatusPaneIndicator::ServiceId() -// --------------------------------------------------------------------------- -// -TInt CIMStatusPaneIndicator::ServiceId() - { - return iServiceId; - } - -// --------------------------------------------------------------------------- -// CIMStatusPaneIndicator::SenderId() -// --------------------------------------------------------------------------- -// -const TDesC& CIMStatusPaneIndicator::SenderId() - { - if(iSenderId) - { - return *iSenderId; - } - return KNullDesC() ; - } - -// --------------------------------------------------------------------------- -// CIMStatusPaneIndicator::IsMultipleSenders() -// --------------------------------------------------------------------------- -// -TInt CIMStatusPaneIndicator::IsMultipleSenders() - { - return iMultipleSenders; - } -// End of File