diff -r 000000000000 -r 72b543305e3a mobilemessaging/postcard/postcardinc/PostcardRecipientWrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobilemessaging/postcard/postcardinc/PostcardRecipientWrapper.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,110 @@ +/* +* 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: +* Helper class for recipient/phonebook handling +* +*/ + + + +#ifndef __POSTCARDRECIPIENTWRAPPER_H +#define __POSTCARDRECIPIENTWRAPPER_H + +// INCLUDES + +// CONSTANTS + +// MACROS + +// FORWARD DECLARATIONS +class CPostcardAppUi; +class CPostcardContact; +class CPostcardDocument; + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// CLASS DECLARATION + +/** +* CPostcardRecipientWrapper +* +* @lib postcard.exe +* @since 3.0 +*/ +class CPostcardRecipientWrapper : public CBase + { + public: // New methods + + /** + * Destructor. + */ + ~CPostcardRecipientWrapper(); + + /** + * C++ constructor + * @param + */ + CPostcardRecipientWrapper( + CPostcardDocument& aDocument, + CPostcardAppUi& aAppUi, + CPostcardContact& aContact + ); + + /** + * Factory function to create this object + * @param aApp + */ + static CPostcardRecipientWrapper* NewL( + CPostcardDocument& aDocument, + CPostcardAppUi& aAppUi, + CPostcardContact& aContact + ); + + /** + * The only real public function. + * The function is given a contact item id as a parameter. + * If the contact item has only one location of addresses filled + * (default, home, work), that is returned in aLocation. + * If more than 1 are filled, user is shown a query dialog where user + * can choose which address location (s)he wants to use. This location is + * returned in aLocation. + * @param aId IN the id of the contact item in question + * @param aLocation OUT the location user chose + * @return TBool aLocation is valid only if function returns ETRue + * if user chose cancel in the dialog -> EFalse is returned + */ + TBool AskLocationL( CPostcardContact::TLocation& aLocation ); + + private: // Own methods + + /** + * Formats the address strings suitable for CAknSingleHeadingPopupMenuStyleListBox. + */ + HBufC* GetFormattedStringL( CPostcardContact::TLocation aAddressLocation ); + + /** + * 2nd phase Constructor. + */ + void ConstructL( ); + + private: // data + + CPostcardDocument& iDocument; + CPostcardAppUi& iAppUi; + CPostcardContact& iContact; + }; + +#endif // __POSTCARDRECIPIENTWRAPPER_H