diff -r 000000000000 -r e686773b3f54 contacts_plat/cca_launch_api/inc/mccaparameter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contacts_plat/cca_launch_api/inc/mccaparameter.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,177 @@ +/* +* Copyright (c) 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: This is a class for creating data of contact + * for launching CCA application. + * +*/ + + +#ifndef M_MCCAPARAMETER_H +#define M_MCCAPARAMETER_H + +#include +#include +#include + +//Use this UID to get pointer to access interface MCCAConnectionExt. The MCCAConnectionExt +//is used for special MCCAConnection binary compatiblity purposes only and it does not +//relate to MCCAParameter. Ownership of returned MCCAConnectionExt needs to be taken. +//If MCCAConnectionExt cannot be provided because e.g. lack of memory, NULL is returned. +const TUid KMCCAConnectionExtUid = { 1 }; + +/** @file mccaparameter.h + * + * MCCAParameter class is used to store, control and define how the CCA application is launched + * with the contact specified data. + * + * Example usage of the API: + * @code + * MCCAParameter* aParameter = TCCAFactory::NewParameterL() + * aParameter->SetConnectionFlag(ENormal); + * aParameter->SetContactDataFlag(EContactId); + * aParameter->SetContactDataL(aString); + * + * aParameter->SetLaunchedViewUid(aUid); + * + * @endcode + * + * @lib ccaclient + * @since S60 v5.0 + */ +class MCCAParameter + { + +public: + + /** Flags for controlling opening and closing of CCA application */ + enum TConnectionFlags + { + // Default flag + ENormal = 0x00000001, + //Upon exit close only CCA + ESoftExit = 0x00000002 + }; + + /** + * Flags for indicating type of contact data + * + * Notes related to specific search types below: + * EContactId + * EContactLink + */ + enum TContactDataFlags + { + EContactNone = 0, + EContactId, //Depricated; not supported anymore. + EContactLink, + EContactMSISDN //Depricated; not supported anymore. + }; + + /** + * Destroy this parameter entity and all its data. + * @since S60 5.0 + */ + virtual void Close() = 0; + + /** + * Getter for the flags of connection. + * @since S60 5.0 + * @return the flags. + */ + virtual TConnectionFlags ConnectionFlag() = 0; + + /** + * Getter for the contact data flags. + * @since S60 5.0 + * @return the flags. + */ + virtual TContactDataFlags ContactDataFlag() = 0; + + /** + * Getter for the contact data. + * @leave KErrArgument if data not set. + * @since S60 5.0 + * @return the reference of contact data. + */ + virtual HBufC& ContactDataL() = 0; + + /** + * Getter for the view uid. + * @since S60 5.0 + * @return the Uid. + */ + virtual TUid LaunchedViewUid() = 0; + + /** + * Getter for the version. + * @since S60 5.0 + * @return the version. + */ + virtual TInt32 Version() = 0; + + /** + * Setter for the flag of connection. + * + * @see TConnectionFlags + * @since S60 5.0 + * @param aFlags: flags of connection + */ + virtual void + SetConnectionFlag(const TConnectionFlags aConnectionFlags) = 0; + + /** + * Setter for the contact data flag. + * + * @see TContactDataFlags + * @since S60 5.0 + * @param aFlags: flags of connection + */ + virtual void + SetContactDataFlag(const TContactDataFlags aContactDataFlags) = 0; + + /** + * Setter for the contact data. + * If you are using TContactDataFlags::EContactLink, the MVPbkContactLink + * should be streamed with PackLC before given for this method. + * Ownership is NOT transferred. + * @see MVPbkContactLink from Virtual phonebook. + * @leave KErrNotFound if contact data flag is not + * set before calling this method. + * @see MCCAParameter::SetContactDataFlags + * @since S60 5.0 + * @param aContactData: given contact data. + */ + virtual void SetContactDataL(const TDesC& aContactData) = 0; + + /** + * Setter for the launched view uid. Use this when there + * is need to get a particular view opened first on launch of CCA. + * If view uid is not set, CCA uses the default view. + * @since S60 5.0 + * @param aContactData: given contact data. + */ + virtual void SetLaunchedViewUid(const TUid aUid) = 0; + + /** + * Returns an extension point for this interface or NULL. + * @param aExtensionUid Uid of extension + * @return Extension point or NULL + */ + virtual TAny* CcaParameterExtension( + TUid /*aExtensionUid*/ ) { return NULL; } + + }; + +#endif // M_MCCAPARAMETER_H +// End of File