diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/sipprofilestub/inc/sipprofile.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/sipprofilestub/inc/sipprofile.h Tue Aug 31 15:12:07 2010 +0300 @@ -0,0 +1,343 @@ +/* +* Copyright (c) 2003 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: The class providing profile data of SIP service provider +* +*/ + + +#ifndef CSIPPROFILE_H +#define CSIPPROFILE_H + +// INCLUDES +#include +#include +#include +#include "sipregistrationcontext.h" +#include "sipprofiletypeinfo.h" + +// FORWARD DECLARATIONS +class CSIPConcreteProfile; +class CSIPProfileRegistry; +class CSIPProfileRegistryBase; + +/** +* SIP Profile ID which value is type of TUint32 +*/ +const TUint32 KSIPProfileId = 1; + +/** +* SIP Provider Name which value is type of TDesC8 +*/ +const TUint32 KSIPProviderName = 2; + +/** +* Access Point ID which value is type of TUint32 +*/ +const TUint32 KSIPAccessPointId = 3; + +/** +* Signaling compression (SigComp) which value is type of TBool. +* ETrue indicates that SigComp is enabled +*/ +const TUint32 KSIPSigComp = 4; + +/** +* Security Negotiation which value is type of TBool. ETrue indicates that +* Security Negotiation is enabled +*/ +const TUint32 KSIPSecurityNegotiation = 5; + +/** +* Auto Registration which value is type of TBool. ETrue indicates that +* profile is enabled for auto registration +*/ +const TUint32 KSIPAutoRegistration = 6; + +/** +* Defined user's address-of-record which value is type of TDesC8 +*/ +const TUint32 KSIPUserAor = 7; + +/** +* Registration which value is type of TBool. ETrue indicates that +* profile is registered +*/ +const TUint32 KSIPProfileRegistered = 8; + +/** +* Uers's registered address-of-records which value is of type MDesC8Array. +* Note that array will contain AORs only in case the profile is registered. +*/ +const TUint32 KSIPRegisteredAors = 9; + +/** +* Negotiated security mechanism during registration procedure which value +* is of type TDesC8. +* Note that descriptor will contain value only in case the profile is +* registered. +*/ +const TUint32 KSIPNegotiatedSecurityMechanism = 10; + +/** +* Default profile which value is type of TBool. +* ETrue indicates that profile is default +*/ +const TUint32 KSIPDefaultProfile = 11; + +/** +* "Contact" header parameters used during registration which value +*is of type MDesC8Array. Array element contains one "Contact" header +* parameter. +*/ +const TUint32 KSIPContactHeaderParams = 12; + +/** +* SIP Registrar +*/ +const TUint32 KSIPRegistrar = 130; + +/** +* SIP Outbound Proxy +*/ +const TUint32 KSIPOutboundProxy = 131; + +/** +* HTTP Digest user name which value is type of TDesC8 +*/ +const TUint32 KSIPDigestUserName = 150; + +/** +* HTTP Digest realm which value is type of TDesC8 +*/ +const TUint32 KSIPDigestRealm = 151; + +/** +* SIP server's address which value is of type TDesC8 +*/ +const TUint32 KSIPServerAddress = 152; + +// CLASS DECLARATION +/** +* @publishedAll +* @released +* +* Class contains profile information of particular SIP service +* provider. Class provides functions for quering profile parameter +* values. +* @lib sipprofilecli.lib +*/ +class CSIPProfile: public CBase, public MSIPRegistrationContext + { + public: // Constructors and destructor + /** + * Destructor. + * @capability NetworkServices + */ + IMPORT_C ~CSIPProfile(); + + public: // New functions + /** + * Gets profile type information + * @return profile type information + */ + IMPORT_C const TSIPProfileTypeInfo& Type() const; + + /** + * Gets profile parameter + * @param aParam a parameter to get + * @param aVal on return will contain parameter value + * @return KErrNotFound if parameter was not found, KErrNone otherwise + */ + IMPORT_C TInt GetParameter(TUint32 aParam, TDesC8 const *& aVal) const; + + /** + * Gets profile parameter + * @param aParam a parameter to get + * @param aVal on return will contain parameter value + * @return KErrNotFound if parameter was not found, KErrNone otherwise + */ + IMPORT_C TInt GetParameter(TUint32 aParam, TUint32& aVal) const; + + /** + * Gets profile parameter + * @param aParam a parameter to get + * @param aVal on return will contain parameter value + * @return KErrNotFound if parameter was not found, KErrNone otherwise + */ + IMPORT_C TInt GetParameter(TUint32 aParam, TBool& aVal) const; + + /** + * Gets profile parameter + * @param aParam a parameter to get + * @param aVal on return will contain parameter value + * @return KErrNotFound if parameter was not found, KErrNone otherwise + */ + IMPORT_C TInt GetParameter(TUint32 aParam, MDesC8Array const *& aVal) const; + + /** + * Gets profile parameter that is defined for a particular SIP server + * @param aServer a SIP server type + * @param aParam a parameter to get + * @param aVal on return will contain parameter value + * @return KErrNotFound if parameter was not found, KErrNone otherwise + */ + IMPORT_C TInt GetParameter(TUint32 aServerType, TUint32 aParam, TDesC8 const *& aVal) const; + + public: //Functions from base class + /** + * Tests if the registration context can be + * used for creating SIP messages/dialogs + * Profile can be used, when CSIPProfileRegistry::IsEnabled() == ETrue + * and Status() == ERegistered. + * @return ETrue if can be used, EFalse otherwise + */ + TBool IsContextActive() const; + + /** + * + * For internal use only + * @return context id + */ + TUint32 ContextId() const; + + + public: //New functions + + /** + * Two-phased constructor. + * @param aSIPRegistry a SIP profile client providing connection to SIP + * profile server. + */ + + static CSIPProfile* NewL(CSIPProfileRegistry* aSIPRegistry); + + /** + * Two-phased constructor. + * @param aSIPRegistry a SIP profile client providing connection to SIP + * profile server. + * Constructs an object and adds the pointer to the cleanup stack; + */ + + static CSIPProfile* NewLC(CSIPProfileRegistry* aSIPRegistry); + + /** + * Sets profiles enabled state + * @param aEnabled ETrue if enabled + */ + + void SetEnabled(TBool aEnabled); + + /** + * Sets concrete profile that holds actual data + * @param aProfile profile instance containing data + */ + + void SetConcreteProfile(CSIPConcreteProfile* aProfile); + + /** + * Clears concrete profile that holds actual data + */ + + void ClearConcreteProfile(); + + /** + * Gets concrete profile that holds actual data + * @return concrete profile holding data + */ + + CSIPConcreteProfile& ConcreteProfile(); + + /** + * Gets concrete profile that holds actual data + * @return concrete profile holding data + */ + + const CSIPConcreteProfile& ConcreteProfile() const; + + /** + * Checks if the profile is enabled + * @return ETrue if enabled, EFalse otherwise + */ + + TBool IsEnabled() const; + + /** + * Gets last occurred error during registration + * @return last occurred error code, KErrNone if no error + */ + TInt LastRegistrationError() const; + + /** + * Checks if two profiles are equal + * @return ETrue if equal + */ + TBool operator==(const CSIPProfile& + aProfile) const; + + /** + * sets pointer to registry for profile + */ + void SetRegistry(CSIPProfileRegistryBase* aRegistry); + + /** + * Clears pointer to registry from profile + */ + void ClearRegistry(); + + protected: + + /** + * Constructor. + */ + CSIPProfile(CSIPProfileRegistryBase* aRegistry); + + /** + * 2nd phase constructor. + */ + void ConstructL(); + + protected: + + CSIPConcreteProfile* iSIPProfile; + CSIPProfileRegistryBase* iSIPProfileRegistry; + + // Stub data + + public: + + TBool iEnabled; + TBool iIsDefaultProfile; + + TSIPProfileTypeInfo iTypeInfo; + + // Value iTUint32Value is set to aVal when calling + // GetParameter(TUint32 aParam, TUint32& aVal) + // if iTUint32ValueError == KErrNone. + // iTUint32ValueError is returned in any case + TUint32 iTUint32Value; + TInt iTUint32ValueError; + + // Value iTBoolValue is set to aVal when calling + // GetParameter(TUint32 aParam, TBool& aVal) + // if iTBoolValueError == KErrNone. + // iTBoolValueError is returned in any case + TBool iTBoolValue; + TInt iTBoolValueError; + + CDesC8Array* iArray; + + // + }; + +#endif // CSIPPROFILE_H