diff -r 512eb1a5d851 -r 1161e0025932 dependencies/uncategorized/aiwdialdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/uncategorized/aiwdialdata.h Thu Mar 25 23:48:15 2010 +0530 @@ -0,0 +1,213 @@ +/* +* Copyright (c) 2005-2006 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: Dial data used with AIW for making calls. +* +*/ + + +#ifndef CAIWDIALDATA_H +#define CAIWDIALDATA_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class CAiwGenericParamList; +class CAiwInternalDialData; + +/** Constant used by aiwdialdata interface. */ +namespace AIWDialData + { + /** Maximum phone number length same as used by phone. */ + const TInt KMaximumPhoneNumberLength = 100; + + /** Default windowgroup value */ + const TInt KAiwGoToIdle(0); + } + +// CLASS DECLARATION + +/** +* Creating call using CAiwDialData API. +* +* @code +* +* - Client must be Service Handler client. For more information see +* service handler desing document. +* +* - Client creates intance of CAiwDialData: +* +* CAiwDialData* dialData = CAiwDialData::NewLC(); +* +* - Define call parameters(phone number is compulsory parameter ): +* +* dialData->SetCallType( CAiwDialData::EAIWVoice ); +* _LIT(phoneNumber, "050123456"); +* dialData->SetPhoneNumberL( phoneNumber ); +* dialData->SetWindowGroup( AIWDialData::KAiwGoToIdle ); +* +* - Client creates reference to CAiwGenericParamList and fills paramlist: +* +* CAiwGenericParamList& paramList = iServiceHandler->InParamListL(); +* dialData->FillInParamListL( paramList ); +* +* - Now client can give execute command to service handler. +* +* iServiceHandler->ExecuteServiceCmdL( KAiwCmdCall, paramList, +* iServiceHandler->OutParamListL(), +* 0, NULL ); +* @endcode +* +* Dial data for SDK applications. +* +* @lib aiwdialdata.lib +* @since S60 3.2 +*/ +NONSHARABLE_CLASS( CAiwDialData ): public CBase + { + public: // Enum. + + /** Different type of calls. */ + enum TCallType + { + /* Voice call. If there is a VoIP service that is registered and set as preferred, the + * call is created as VoIP call, otherwise CS call. */ + EAIWVoice = 0, + /** Video call. */ + EAIWVideo = 1, + /** Forced video call, creates video call directly without + * queries. */ + EAIWForcedVideo = 2, + /** Voip call. */ + EAIWVoiP = 3, + /* Forced voice call, creates always CS voice call. Use this value if the call type is + * not allowed to be changed */ + EAIWForcedCS = 4 + }; + + public: // Constructors and destructor + + /** + * Two-phased constructor for implementation class. + * Use this method for creating a instance with null items. + * + * @since S60 3.2 + * @return A pointer to the new object. + */ + IMPORT_C static CAiwDialData* NewL(); + + /** + * Two-phased constructor for implementation class. Leaves the + * pointer to the cleanup stack. + * Use this method for creating a instance with null items. + * + * @since S60 3.2 + * @return A pointer to the new object. + */ + IMPORT_C static CAiwDialData* NewLC(); + + /** + * Destructor. + */ + virtual ~CAiwDialData(); + + public: // New + + /** + * Composes data set package and inserts data to aInParamList. + * + * @since S60 3.2 + * @param aInParamList In parameter used with CAiwService. + */ + IMPORT_C void FillInParamListL( CAiwGenericParamList& aInParamList ); + + public: // Access - Setters + + /** + * Sets the phone number. + * + * @since S60 3.2 + * @param aPhoneNumber Phone number, which maximum length is + * KMaximumPhoneNumberLength. + * Default: empty. + * @leaves KErrArgument if aPhoneNumber length is over + * KMaximumPhoneNumberLength. + */ + IMPORT_C void SetPhoneNumberL( const TDesC& aPhoneNumber ); + + /** + * Sets call type. + * + * @since S60 3.2 + * @param aCallType defines the call type. + * Default: EAIWVoice. + */ + IMPORT_C void SetCallType( TCallType aCallType ); + + /** + * Sets the window group identifier. When call is ended, + * set window group is actived. + * + * @since S60 3.2 + * @param aWindowGroup Window group id. + * Default: KAiwGoToIdle. + */ + IMPORT_C void SetWindowGroup( TInt aWindowGroup ); + + public: // Access - Getters + + /** + * Phone number. + * + * @since S60 3.2 + * @return Phone number. + */ + IMPORT_C const TDesC& PhoneNumber() const; + + /** + * Call type. + * + * @since S60 3.2 + * @return Current call type. + */ + IMPORT_C TCallType CallType() const; + + /** + * Window group id. + * + * @since S60 3.2 + * @return Window group id. + */ + IMPORT_C TInt WindowGroup() const; + + private: + + /** + * C++ default constructor. + */ + CAiwDialData(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: + + CAiwInternalDialData* iInternalDialData; + }; + +#endif // CAIWDIALDATA_H + +// End of File