diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactEmptyDataAssigner.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactEmptyDataAssigner.cpp Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 2005-2007 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: Phonebook 2 empty contact data assigner. +* +*/ + + +#include "CPbk2ContactEmptyDataAssigner.h" + +// Phonebook 2 +#include "MPbk2ContactAssignerObserver.h" + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::CPbk2ContactEmptyDataAssigner +// -------------------------------------------------------------------------- +// +CPbk2ContactEmptyDataAssigner::CPbk2ContactEmptyDataAssigner + ( MPbk2ContactAssignerObserver& aObserver ): + CActive( EPriorityIdle ), iObserver( aObserver ) + { + CActiveScheduler::Add( this ); + } + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::~CPbk2ContactEmptyDataAssigner +// -------------------------------------------------------------------------- +// +CPbk2ContactEmptyDataAssigner::~CPbk2ContactEmptyDataAssigner() + { + Cancel(); + } + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::NewL +// -------------------------------------------------------------------------- +// +CPbk2ContactEmptyDataAssigner* CPbk2ContactEmptyDataAssigner::NewL + ( MPbk2ContactAssignerObserver& aObserver ) + { + CPbk2ContactEmptyDataAssigner* self = + new ( ELeave ) CPbk2ContactEmptyDataAssigner( aObserver ); + return self; + } + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::AssignDataL +// -------------------------------------------------------------------------- +// +void CPbk2ContactEmptyDataAssigner::AssignDataL( + MVPbkStoreContact& /*aStoreContact*/, + MVPbkStoreContactField* /*aContactField*/, + const MVPbkFieldType* /*aFieldType*/, const HBufC* /*aDataBuffer*/ ) + { + // Notify observer asynchronously + IssueRequest(); + } + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::AssignAttributeL +// -------------------------------------------------------------------------- +// +void CPbk2ContactEmptyDataAssigner::AssignAttributeL + ( MVPbkStoreContact& /*aStoreContact*/, + MVPbkStoreContactField* /*aContactField*/, + TPbk2AttributeAssignData /*aAttributeAssignData*/ ) + { + // Not supported + User::Leave( KErrNotSupported ); + } + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::RunL +// -------------------------------------------------------------------------- +// +void CPbk2ContactEmptyDataAssigner::RunL() + { + // Just notify the observer + iObserver.AssignComplete( *this, KErrNotSupported ); + } + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::DoCancel +// -------------------------------------------------------------------------- +// +void CPbk2ContactEmptyDataAssigner::DoCancel() + { + // Nothing to do + } + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::RunError +// -------------------------------------------------------------------------- +// +TInt CPbk2ContactEmptyDataAssigner::RunError( TInt /*aError*/ ) + { + // No leaving code in RunL + return KErrNone; + } + +// -------------------------------------------------------------------------- +// CPbk2ContactEmptyDataAssigner::IssueRequest +// -------------------------------------------------------------------------- +// +void CPbk2ContactEmptyDataAssigner::IssueRequest() + { + TRequestStatus* status = &iStatus; + User::RequestComplete( status, KErrNone ); + SetActive(); + } + +// End of File