diff -r 2fe1408b6811 -r e1b950c65cb4 epoc32/include/mw/sip_subconparams.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/mw/sip_subconparams.h Wed Mar 31 12:27:01 2010 +0100 @@ -0,0 +1,278 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// SIPSCPR_subconparams.h +// SIP extension parameters definition +// +// + + + +/** + @file + @publishedAll + @released since v9.2 +*/ + +#ifndef SIP_SUBCONPARAMS_H +#define SIP_SUBCONPARAMS_H + +#include +#include + +/** The numeric value of ECOM plugin identifier for this SubConnection parameter extension.See the assisting *.rss file. */ +const TInt KSubConSIPParametersUid = 0x10274C18; + +/** The numeric value of Invite identifier for SIP extension parameter set */ +const TInt KSubConSIPInviteParamsType = 1; + +/** The numeric value of Subscribe identifier for SIP extension parameter set */ +const TInt KSubConSIPSubscribeParamsType = 2; + +/** The numeric value of Authentication of SIP extension parameter set */ +const TInt KSubConSIPAuthenticateParamsType = 3; + +class CSubConSIPInviteParamSet : public CSubConExtensionParameterSet +/** +This contains the SIP Invite parameters that will be passed via subconnection +to the SIP stack +@publishedAll +@released since v9.2 +*/ +{ +public: + /** + Creates a new SubConSIPInvite parameter set object. + @param aFamily ,contains family related info + @param aType contains parameter Type such as (Requested, Acceptable and Granted) + @return A pointer to the newly allocated object. + @leave KErrArgument if the data is not of type TParameterSetType. + */ + inline static CSubConSIPInviteParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType); + inline static CSubConSIPInviteParamSet* NewL(); + + /** Constructor. */ + inline CSubConSIPInviteParamSet(); + /** Destructor. */ + virtual ~CSubConSIPInviteParamSet(); + + /** Getters for SIP header. */ + /** Gets Request URI field of the SIP header. **/ + inline const TPtrC8 GetRequestUri() const; + /** Gets From field of the SIP header. **/ + inline const TPtrC8 GetFrom() const; + /** Gets To field of the SIP header. **/ + inline const TPtrC8 GetTo() const; + /** Gets Contact field of the SIP header. **/ + inline const TPtrC8 GetContact() const; + /** Gets ContentType field of the SIP header. **/ + inline const TPtrC8 GetContentType() const; + /** Gets ContentSubType field of the SIP header. **/ + inline const TPtrC8 GetContentSubType() const; + /** Gets Content field of the SIP header. **/ + inline const TPtrC8 GetContent() const; + + /** Setters for SIP header. + /** Sets Request URI field of the SIP header. **/ + inline void SetRequestUriL(const TPtrC8 & aReqUri); + /** Sets From field of the SIP header. **/ + inline void SetFromL(const TPtrC8 & aFrom); + /** Sets To field of the SIP header. **/ + inline void SetToL(const TPtrC8 & aTo); + /** Sets Contact field of the SIP header. **/ + inline void SetContactL(const TPtrC8 & aContact); + /** Sets Content Type field of the SIP header. **/ + inline void SetContentTypeL(const TPtrC8 & aContentType); + /** Sets Content Sub Type field of the SIP header. **/ + inline void SetContentSubTypeL(const TPtrC8 & aContentSubType); + /** Sets Content field of the SIP header. **/ + inline void SetContentL(const TPtrC8 & aContent); + + DATA_VTABLE +protected: + + /** The Request URI field of the SIP header. */ + RBuf8 iReqUri; + /** The From field of the SIP header. */ + RBuf8 iFrom; + /** The To field of the SIP header. */ + RBuf8 iTo; + /** The Contact field of the SIP header. */ + RBuf8 iContact; + /** The Content Type field of the SIP header. */ + RBuf8 iContentType; + /** The Content Sub Type field of the SIP header. */ + RBuf8 iContentSubType; + /** The Content field of the SIP header. */ + RBuf8 iContent; + }; + + + +class CSubConSIPSubscribeParamSet : public CSubConExtensionParameterSet +/** +This contains the SIP Subscribe parameters that will be passed via subconnection +to the SIP stack +@publishedAll +@released since v9.2 +*/ +{ +public: + /** + Creates a new SubConSIPSubscribe parameter set object. + @param aFamily ,contains family related info + @param aType contains parameter Type such as (Requested, Acceptable and Granted) + @return A pointer to the newly allocated object. + @leave KErrArgument if the data is not of type TParameterSetType. + */ + inline static CSubConSIPSubscribeParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType); + inline static CSubConSIPSubscribeParamSet* NewL(); + + /** Constructor. */ + inline CSubConSIPSubscribeParamSet(); + + /** Destructor. */ + virtual ~CSubConSIPSubscribeParamSet(); + + /** Getters for SIP header. */ + /** Gets Request URI field of the SIP header. **/ + inline const TPtrC8 GetRequestUri() const; + /** Gets From field of the SIP header. **/ + inline const TPtrC8 GetFrom() const; + /** Gets To field of the SIP header. **/ + inline const TPtrC8 GetTo() const; + /** Gets Contact field of the SIP header. **/ + inline const TPtrC8 GetContact() const; + /** Gets Event Type field of the SIP header. **/ + inline const TPtrC8 GetEventType() const; + /** Gets Accept Type field of the SIP header. **/ + inline const TPtrC8 GetAcceptType() const; + /** Gets Accept Sub Type field of the SIP header. **/ + inline const TPtrC8 GetAcceptSubType() const; + /** Gets Expires field of the SIP header. **/ + inline const TInt GetExpires() const; + /** Gets Auto Refresh field of the SIP header. **/ + inline const TBool GetAutoRefresh() const; + + /** Setters for SIP header. */ + /** Sets Request URI field of the SIP header. **/ + inline void SetRequestUriL(const TPtrC8 & aReqUri); + /** Sets From field of the SIP header. **/ + inline void SetFromL(const TPtrC8 & aFrom); + /** Sets To field of the SIP header. **/ + inline void SetToL(const TPtrC8 & aTo); + /** Sets Contact field of the SIP header. **/ + inline void SetContactL(const TPtrC8 & aContact); + /** Sets Event Type field of the SIP header. **/ + inline void SetEventTypeL(const TPtrC8 & aEventType); + /** Sets Accept Type field of the SIP header. **/ + inline void SetAcceptTypeL(const TPtrC8 & aAcceptType); + /** Sets Accept Sub Type field of the SIP header. **/ + inline void SetAcceptSubTypeL(const TPtrC8 & aAcceptSubType); + /** Sets Expires Sub Type field of the SIP header. **/ + inline void SetExpires(TInt aExpires); + /** Sets AutoRfresh field of the SIP header. **/ + inline void SetAutoRefresh(TBool aAutoRefresh); + + + DATA_VTABLE +protected: + + /** The Request URI field of the SIP header. */ + RBuf8 iReqUri; + /** The From field of the SIP header. */ + RBuf8 iFrom; + /** The To field of the SIP header. */ + RBuf8 iTo; + /** The Contact field of the SIP header. */ + RBuf8 iContact; + /** The Event Type field of the SIP header. */ + RBuf8 iEventType; + /** The Accept Type field of the SIP header. */ + RBuf8 iAcceptType; + /** The Accept Sub Type field of the SIP header. */ + RBuf8 iAcceptSubType; + /** The Expires field of the SIP header. */ + TInt iExpires; + /** The AutoRefresh field of the SIP header. */ + TBool iAutoRefresh; +}; + +class CSubConSIPAuthenticateParamSet : public CSubConExtensionParameterSet +/** +This contains the SIP Authenticate parameters that will be passed via subconnection +to the SIP stack +@publishedAll +@released since v9.2 +*/ +{ +public: + /** + Creates a new SubConSIPAuthenticate parameter set object. + @param aFamily ,contains family related info + @param aType contains parameter Type such as (Requested, Acceptable and Granted) + @return A pointer to the newly allocated object. + @leave KErrArgument if the data is not of type TParameterSetType. + */ + inline static CSubConSIPAuthenticateParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType); + inline static CSubConSIPAuthenticateParamSet* NewL(); + + /** Constructor. */ + inline CSubConSIPAuthenticateParamSet(); + + /** Destructor. */ + virtual ~CSubConSIPAuthenticateParamSet(); + + /** Getters for SIP header. */ + /** Gets Username field of the SIP header. **/ + inline const TPtrC8 GetUserName() const; + /** Gets Password field of the SIP header. **/ + inline const TPtrC8 GetPassword() const; + /** Gets Realm field of the SIP header. **/ + inline const TPtrC8 GetRealm() const; + + /** Setters for SIP header. */ + /** Sets Username field of the SIP header. **/ + inline void SetUserNameL(const TPtrC8 & aUserName); + /** Sets Password field of the SIP header. **/ + inline void SetPasswordL(const TPtrC8 & aPassword); + /** Sets Realm field of the SIP header. **/ + inline void SetRealmL(const TPtrC8 & aRealm); + + DATA_VTABLE +protected: + + /** The Username entry of Authenticate field in a SIP header. */ + RBuf8 iUserName; + /** The Password entry of Authenticate field in a SIP header. */ + RBuf8 iPassword; + /** The Realm entry of Authenticate field in a SIP header. */ + RBuf8 iRealm; +}; + + + +class CSIPSubConnExtensionParamsFactory : public CBase +/** Factory used to create instances of the SIP SubConnection Parameter Extension Sets. + +@publishedAll +@released since v9.2 +*/ + { +public: + static CSubConExtensionParameterSet* NewL(TAny* aConstructionParameters); + }; + +#include + +#endif // SIP_SUBCONPARAMS_H