williamr@2: /* williamr@2: * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * 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 williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Transport properties class declaration williamr@2: * williamr@2: */ williamr@2: williamr@2: #ifndef SEN_TRANSPORT_PROPERTIES_H williamr@2: #define SEN_TRANSPORT_PROPERTIES_H williamr@2: williamr@2: #include williamr@2: #include williamr@2: williamr@2: // CONSTANTS williamr@2: _LIT8( KIapIdLocalName, "IapId" ); williamr@2: _LIT8( KSnapIdLocalName, "SnapId" ); williamr@2: _LIT8( KProxyHostLocalName, "ProxyHost" ); williamr@2: _LIT8( KProxyPortLocalName, "ProxyPort" ); williamr@2: _LIT8( KProxyUsageLocalName, "ProxyUsage" ); williamr@2: _LIT8( KSecureDialogLocalName, "SecureDialog" ); williamr@2: _LIT8( KDeviceIDLocalName, "DeviceID" ); williamr@2: _LIT8( KSoapActionLocalName, "SOAPAction" ); williamr@2: _LIT8( KUserAgentLocalName, "User-Agent" ); williamr@2: _LIT8( KDownloadFolderLocalName, "DownloadFolder" ); williamr@2: _LIT8( KFileAttachmentsLocalName, "FileAttachments" ); williamr@2: _LIT8( KMwsNamespaceLocalName, "MwsNamespace" ); williamr@2: _LIT8( KSenClientGeneratedMessageId, "MessageID" ); williamr@2: _LIT8( KSenOnewayMessageOnOff, "OneWayMessage" ); williamr@2: williamr@2: _LIT8( KSenConnectionHeartbeat, "Heartbeat" ); williamr@2: _LIT8( KSenConnectionHeartbeatMaxTTL,"MaxTTL" ); williamr@2: _LIT8( KSenConnectionHeartbeatMinTTL,"MinTTL" ); williamr@2: _LIT8( KSenEndpointResource, "EndpointResource" ); williamr@2: williamr@2: _LIT8( KNCIMConsumerKeyId, "ConsumerKeyId" ); williamr@2: _LIT8( KNCIMConsumerSecret, "ConsumerSecret" ); williamr@2: _LIT8( KNCIMConsumerServiceId, "ConsumerServiceId" ); williamr@2: _LIT8( KNCIMEndpoint, "NCIMEndpoint" ); williamr@2: _LIT8( KNCIMCountry, "mcc" ); williamr@2: williamr@2: williamr@2: /* williamr@2: * Use Bool property to hold value. You can use convenient methods SetBoolPropertyL/BoolPropertyL. williamr@2: * Value ETrue - means NO dialog. If any problem occurs, then just an error is returned to the application. williamr@2: * Value EFalse - system IAP dialog is shown if any problem occurs williamr@2: */ williamr@2: _LIT8( KSenIAPDoNotPrompt, "IAPDoNotPrompt" ); williamr@2: _LIT8( KSenSNAPDoNotPrompt, "SNAPDoNotPrompt" ); williamr@2: williamr@2: // Property type attribute's name for HTTP headers: williamr@2: _LIT8( KHttpHeaderType, "HttpHeader" ); williamr@2: _LIT8( KAttachmentFileType, "FileAttachment" ); williamr@2: williamr@2: class CSenTransportProperties : public CSenXmlProperties williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Basic constructor. williamr@2: * @return a pointer to new CSenTransportProperties class instance. williamr@2: */ williamr@2: IMPORT_C static CSenTransportProperties* NewL(); williamr@2: /** williamr@2: * Basic constructor. williamr@2: * @return a pointer to new CSenTransportProperties class instance. williamr@2: */ williamr@2: IMPORT_C static CSenTransportProperties* NewLC(); williamr@2: williamr@2: /** williamr@2: * Basic constructor. williamr@2: * @param aXmlUtf8 williamr@2: * @param aParser It is a XML reader williamr@2: * @return a pointer to new CSenTransportProperties class instance. williamr@2: */ williamr@2: IMPORT_C static CSenTransportProperties* NewL(const TDesC8& aXmlUtf8, williamr@2: CSenXmlReader& aParser); williamr@2: /** williamr@2: * Basic constructor. williamr@2: * @param aXmlUtf8 williamr@2: * @param aParser It is a XML reader williamr@2: * @return a pointer to new CSenTransportProperties class instance. williamr@2: */ williamr@2: IMPORT_C static CSenTransportProperties* NewLC(const TDesC8& aXmlUtf8, williamr@2: CSenXmlReader& aParser); williamr@2: williamr@2: /** williamr@2: * Basic constructor. williamr@2: * @param aElement williamr@2: * @return a pointer to new CSenTransportProperties class instance. williamr@2: */ williamr@2: IMPORT_C static CSenTransportProperties* NewL(const CSenElement& aElement); williamr@2: /** williamr@2: * Basic constructor. williamr@2: * @param aElement williamr@2: * @return a pointer to new CSenTransportProperties class instance. williamr@2: */ williamr@2: IMPORT_C static CSenTransportProperties* NewLC(const CSenElement& aElement); williamr@2: williamr@2: // From MSenProperties williamr@2: IMPORT_C virtual void SetReader(CSenXmlReader& aReader); williamr@2: IMPORT_C virtual TSenPropertiesClassType PropertiesClassType(); williamr@2: IMPORT_C virtual void WriteToL(RWriteStream& aWriteStream); williamr@2: IMPORT_C virtual void ReadFromL(const TDesC8& aBuffer); williamr@2: IMPORT_C virtual HBufC8* AsUtf8L(); williamr@2: IMPORT_C virtual HBufC8* AsUtf8LC(); williamr@2: IMPORT_C virtual TInt SetPropertyL(const TDesC8& aName, williamr@2: const TDesC8& aValue); williamr@2: IMPORT_C virtual TInt PropertyL(const TDesC8& aName, TPtrC8& aValue); williamr@2: IMPORT_C virtual TInt SetIntPropertyL(const TDesC8& aName, williamr@2: const TInt aValue); williamr@2: IMPORT_C virtual TInt IntPropertyL(const TDesC8& aName, williamr@2: TInt& aValue); williamr@2: IMPORT_C virtual TInt SetBoolPropertyL(const TDesC8& aName, williamr@2: const TBool aValue); williamr@2: IMPORT_C virtual TInt BoolPropertyL(const TDesC8& aName, williamr@2: TBool& aValue); williamr@2: IMPORT_C virtual TInt SetOmittedL(const TDesC8& aName, TBool aValue); williamr@2: IMPORT_C virtual TInt RemovePropertyL(const TDesC8& aName); williamr@2: IMPORT_C virtual TBool IsSafeToCast(TSenPropertiesClassType aClass); williamr@2: IMPORT_C virtual MSenProperties* CloneL() const; williamr@2: IMPORT_C virtual MSenProperties* Clone(TInt& aOkOrError) const; williamr@2: williamr@2: /** williamr@2: * Destructor. williamr@2: */ williamr@2: IMPORT_C virtual ~CSenTransportProperties(); williamr@2: williamr@2: IMPORT_C virtual TInt SetPropertyL(const TDesC8& aName, williamr@2: const TDesC8& aValue, williamr@2: const TDesC8& aType); williamr@2: williamr@2: IMPORT_C virtual TInt PropertyL(const TDesC8& aName, williamr@2: TPtrC8& aValue, williamr@2: TPtrC8& aType); williamr@2: williamr@2: /** williamr@2: * Gets the (connection) heartbeat property value as int. williamr@2: * @param aDelta A TInt reference to be filled in with the williamr@2: * value of the heartbeat (in seconds). williamr@2: * Positive value means that a heartbeat williamr@2: * messages are sent to backend, keeping williamr@2: * the socket connection open (longlived williamr@2: * connection). Keeping heartbeat may be williamr@2: * costy, but increases performance in williamr@2: * scenarios, where multiple network williamr@2: * transactions take place within short williamr@2: * period (time window). williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: * KErrNotFound if shortlive connection defined williamr@2: */ williamr@2: IMPORT_C virtual TInt HeartbeatL(TInt& aDelta); williamr@2: williamr@2: /** williamr@2: * Sets the (connection) heartbeat property value as int. williamr@2: * Note, that with some transports, like vTCP, the heartbeat williamr@2: * can also be used to control connection modes (longlive williamr@2: * vs. shortlive connection). williamr@2: * Hertbeat value is called also as delta. williamr@2: * williamr@2: * Together with delta You can also set parameters Min & Max TTL williamr@2: * Long and short connection is set in different way, below guider. williamr@2: * williamr@2: * To setup longlive connection: williamr@2: * delta : user defined williamr@2: * min TTL : If not specified then the default value of 90 sec will be used williamr@2: * max TTL : If not specified then the default value 1800 sec will be used williamr@2: * williamr@2: * To setup shortlive connection: williamr@2: * delta : -1 williamr@2: * min TTL : If not specified then the default value of 90 sec will be used williamr@2: * max TTL : ignored williamr@2: * williamr@2: * So, providing a negative value williamr@2: * (-1) can be utilized to disable heartbeat and to switch williamr@2: * the connection mode to a short lived state. With vTCP williamr@2: * transport, if heartbeat of -1 is set, the socket will be williamr@2: * kept open only for effective timeout value (shortlived), williamr@2: * williamr@2: * @param aDelta TInt reference to be filled in with williamr@2: * the value of the heartbeat (in seconds) williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt SetHeartbeatL(TInt aDelta); williamr@2: williamr@2: /** williamr@2: * Gets the IAP ID. williamr@2: * @param aCurrentIapId A TUint32 reference to be filled in with the williamr@2: * value of the IAP ID. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt IapIdL(TUint32& aCurrentIapId); williamr@2: williamr@2: /** williamr@2: * Sets the IAP ID. williamr@2: * @param aIapId is the new IAP ID. williamr@2: */ williamr@2: IMPORT_C virtual void SetIapIdL(TUint32 aIapId); williamr@2: williamr@2: /** williamr@2: * Gets the Proxy Port. williamr@2: * @param aProxyPort A TInt reference to be filled in with the williamr@2: * value of the Proxy Port. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt ProxyPortL(TInt& aProxyPort); williamr@2: williamr@2: /** williamr@2: * Sets the Proxy Port. williamr@2: * @param aProxyPort is the new Proxy Port. williamr@2: */ williamr@2: IMPORT_C virtual void SetProxyPortL(TInt aProxyPort); williamr@2: williamr@2: /** williamr@2: * Gets the Proxy Host. williamr@2: * @param aProxyHost A TPtrC8 reference to be filled in with the williamr@2: * value of the Proxy Host. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt ProxyHostL(TPtrC8& aProxyHost); williamr@2: williamr@2: /** williamr@2: * Sets the Proxy Host. williamr@2: * @param aProxyHost is the new Proxy Host. williamr@2: */ williamr@2: IMPORT_C virtual void SetProxyHostL(const TDesC8& aProxyHost); williamr@2: williamr@2: /** williamr@2: * Gets the Proxy Usage flag. williamr@2: * @param aProxyUsage A TBool reference to be filled in with the williamr@2: * value of the Proxy Usage. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt ProxyUsageL(TBool& aProxyUsage); williamr@2: williamr@2: /** williamr@2: * Sets the Proxy Usage flag. williamr@2: * @param aProxyUsage is the new value for Proxy Usage. williamr@2: */ williamr@2: IMPORT_C virtual void SetProxyUsageL(TBool aProxyUsage); williamr@2: williamr@2: /** williamr@2: * Gets the information if SecureDialog is shown or not. williamr@2: * @param aProxyUsage A TBool reference to be filled in with the williamr@2: * value of the SecureDialog flag. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt SecureDialogL(TBool& aSecureDialog); williamr@2: williamr@2: /** williamr@2: * Sets the flag which controls showing of SecureDialog. williamr@2: * @param aSecureDialog is the new value for SecureDialog flag. williamr@2: */ williamr@2: IMPORT_C virtual void SetSecureDialogL(TBool aSecureDialog); williamr@2: williamr@2: /** williamr@2: * Gets the information if IAPDialog is shown or not. williamr@2: * @param aIAPDialog A TBool reference to be filled in with the williamr@2: * value of the SecureDialog flag. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: // IMPORT_C virtual TInt IAPDialogL(TBool& aIAPDialog); williamr@2: williamr@2: /** williamr@2: * Sets the flag which controls showing of IAPDialog. williamr@2: * @param aIAPDialog is the new value for IAPDialog flag. williamr@2: */ williamr@2: // IMPORT_C virtual void SetIAPDialogL(TBool aIAPDialog); williamr@2: williamr@2: /** williamr@2: * Gets the UserAgent. williamr@2: * @param aUserAgent A TPtrC8 reference to be filled in with the williamr@2: * value of the UserAgent. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt UserAgentL(TPtrC8& aUserAgent); williamr@2: williamr@2: /** williamr@2: * Sets the UserAgent. williamr@2: * @param aUserAgent is the new User Agent. williamr@2: */ williamr@2: IMPORT_C virtual void SetUserAgentL(const TDesC8& aUserAgent); williamr@2: williamr@2: /** williamr@2: * Gets the device ID williamr@2: * @param aDeviceID A TPtrC8 reference to be filled in with the williamr@2: * value of the Device ID. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt DeviceIDL(TPtrC8& aDeviceID); williamr@2: williamr@2: /** williamr@2: * Sets the Device ID. williamr@2: * @param aDeviceID is the new Device ID. williamr@2: */ williamr@2: IMPORT_C virtual void SetDeviceIDL(const TDesC8& aDeviceID); williamr@2: williamr@2: /** williamr@2: * Gets the Action of message williamr@2: * @param aAction A TPtrC8 reference to be filled in with the williamr@2: * value of the Action. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt SoapActionL(TPtrC8& aAction); williamr@2: williamr@2: /** williamr@2: * Sets the Action. williamr@2: * @param aAction is the new Soap Action. williamr@2: */ williamr@2: IMPORT_C virtual void SetSoapActionL(const TDesC8& aAction); williamr@2: williamr@2: /** williamr@2: * Apply binding. williamr@2: * @param aSoapVersion is the version of Soap (1.1 or 1.2). williamr@2: */ williamr@2: IMPORT_C virtual void ApplyBindingL(TSOAPVersion aSoapVersion); williamr@2: williamr@2: /** williamr@2: * Gets download folder for incoming BLOB (binary large objects) williamr@2: * @param aDownloadFolder - A TPtrC8 reference to be filled in with the williamr@2: * value of the shared, public folder for downloaded williamr@2: * content williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt DownloadFolderL(TPtrC8& aDownloadFolder); williamr@2: williamr@2: /** williamr@2: * Sets download folder for incoming BLOB (binary large objects) williamr@2: * @param aDownloadFolder shared, public folder for downloaded content williamr@2: */ williamr@2: IMPORT_C virtual void SetDownloadFolderL(const TDesC8& aDownloadFolder); williamr@2: williamr@2: /** williamr@2: * Gets filename of file attachment williamr@2: * @param aCid - cid for filename williamr@2: * @param aFileName - filename of file attachment with current cid williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt FileAttachmentL(const TDesC8& aCid, HBufC8*& aFileName); williamr@2: williamr@2: /** williamr@2: * Sets filename of file attachment williamr@2: * @param aCid - cid for filename williamr@2: * @param aFileName - filename of file attachment with current cid williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt SetFileAttachmentL(const TDesC8& aCid, const TDesC8& aFileName); williamr@2: williamr@2: /** williamr@2: * Gets namespace of Microsoft schema williamr@2: * @param aMwsNamespace - namespace williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt MwsNamespaceL(TPtrC8& aMwsNamespace); williamr@2: williamr@2: /** williamr@2: * Sets namespace of Microsoft schema williamr@2: * @param aMwsNamespace - namespace williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual void SetMwsNamespaceL(const TDesC8& aMwsNamespace); williamr@2: williamr@2: williamr@2: /** williamr@2: * Gets message ID williamr@2: * @param aMessageId - is the id of the message williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt MessageIdL(TPtrC8& aMessageId); williamr@2: williamr@2: /** williamr@2: * Sets message ID. Typically, this property is set per each message, instead of williamr@2: * applying the same message ID for whole consumer session (service connection) williamr@2: * @param aMessageID - is the ID of the message williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual void SetMessageIdL(const TDesC8& aMessageId); williamr@2: williamr@2: /** williamr@2: * Gets one-way message mode. williamr@2: * @param aOnewayMsgOnOff A TBool reference to be filled in with the williamr@2: * value of the one-way message mode. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt OnewayMessageOnOffL(TBool& aOnewayMessageOnOff); williamr@2: williamr@2: /** williamr@2: * Sets the one-way message mode on/off. Typically, one-way williamr@2: * messages are rarely used by default: instead, a request- williamr@2: * response pair (consumer[request]<->[response]provider) williamr@2: * transaction takes place. williamr@2: * However, if one-way message mode is enabled, sending such williamr@2: * message will typically result immediate callback from williamr@2: * the transport (plug-in) itself. This means, that the williamr@2: * actual service response from the provider is not being williamr@2: * waited. williamr@2: * Common use case to enable one-way message is when service williamr@2: * connection is used in transmitting *responses* to notification williamr@2: * request(s) that some remote consumer (from outside device) has williamr@2: * sent earlier. williamr@2: * Such notification requests may thus be received via hostlet williamr@2: * connection (hc), and by enabling one-way message, once can reply williamr@2: * via service connection, instead of calling hc->RespondL method. williamr@2: * Furthermore, application might wish to enable one-way message williamr@2: * mode to hostlet connection, if it is not interested of replying williamr@2: * to these two-way notifications via hostlet connection, but wishes williamr@2: * to use service connection instead. williamr@2: * @param aOnewayMessageOnOff is the new value of one-way message mode. williamr@2: */ williamr@2: IMPORT_C virtual void SetOnewayMessageOnOffL(TBool aOnewayMessageOnOff); williamr@2: williamr@2: /** williamr@2: * Sets the (connection) Max TTL for longlive connection. williamr@2: * williamr@2: * @see SetHeartbeatL(TInt aDelta) williamr@2: * williamr@2: * @param aMaxTTL TInt reference to be filled in with williamr@2: * the value of the max TTL (in seconds) williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt SetMaxTimeToLiveL(TInt aMaxTTL); williamr@2: williamr@2: /** williamr@2: * Gets the (connection) max TTL property value as int. williamr@2: * williamr@2: * @see SetHeartbeatL(TInt aDelta) williamr@2: * williamr@2: * @param aMaxTTL A TInt reference to be filled in with the williamr@2: * value of the max TTL (in seconds). williamr@2: * williamr@2: * @return KErrNotFound if shortlive connection defined williamr@2: * KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt MaxTimeToLiveL(TInt& aMaxTTL); williamr@2: williamr@2: /** williamr@2: * Sets the (connection) Min TTL williamr@2: * williamr@2: * @see SetHeartbeatL(TInt aDelta) williamr@2: * williamr@2: * @param aMaxTTL TInt reference to be filled in with williamr@2: * the value of the min TTL (in seconds) williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt SetMinTimeToLiveL(TInt aMinTTL); williamr@2: williamr@2: /** williamr@2: * Gets the (connection) min TTL property value as int. williamr@2: * williamr@2: * @see SetHeartbeatL(TInt aDelta) williamr@2: * williamr@2: * @param aMinTTL A TInt reference to be filled in with the williamr@2: * value of the min TTL (in seconds). williamr@2: * williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt MinTimeToLiveL(TInt& aMinTTL); williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: * Sets resource property value for endpoint williamr@2: * williamr@2: * williamr@2: * @param aEndpointResource - is the suffix for endpoint williamr@2: * williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt SetEndpointResourceL(const TDesC8& aEndpointResource); williamr@2: williamr@2: /** williamr@2: * Gets resource property value for endpoint williamr@2: * williamr@2: * williamr@2: * @param aEndpointResource - is the suffix for endpoint williamr@2: * williamr@2: * williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C virtual TInt EndpointResourceL(TPtrC8& aEndpointResource); williamr@2: williamr@2: williamr@2: protected: // base class functions williamr@2: williamr@2: IMPORT_C virtual void BaseConstructL(const TDesC8& aLocalname, williamr@2: const TDesC8& aXml, williamr@2: CSenXmlReader* aParser = NULL); williamr@2: williamr@2: IMPORT_C virtual void BaseConstructL(const TDesC8& aNamespace, williamr@2: const TDesC8& aLocalname, williamr@2: const TDesC8& aXml, williamr@2: CSenXmlReader* aParser = NULL); williamr@2: williamr@2: IMPORT_C virtual void BaseConstructL(const TDesC8& aNamespace, williamr@2: const TDesC8& aLocalname, williamr@2: const TDesC8& aQualifiedName, williamr@2: const TDesC8& aXml, williamr@2: CSenXmlReader* aParser = NULL); williamr@2: williamr@2: IMPORT_C virtual void BaseConstructL(const CSenElement& aElement); williamr@2: williamr@2: public: williamr@2: /** williamr@2: * Sets the SNAP ID. williamr@2: * @param aSnapId is the new SNAP ID. williamr@2: */ williamr@2: IMPORT_C void SetSnapIdL(TUint32 aSnapId); williamr@2: williamr@2: /** williamr@2: * Gets the SNAP ID. williamr@2: * @param aCurrentSnapId A TUint32 reference to be filled in with the williamr@2: * value of the SNAP ID. williamr@2: * @return KErrNone if no error, or some of the system williamr@2: * wide error codes. williamr@2: */ williamr@2: IMPORT_C TInt SnapIdL(TUint32& aCurrentSnapId); williamr@2: protected: williamr@2: /** williamr@2: * Constructor. williamr@2: */ williamr@2: IMPORT_C CSenTransportProperties(); williamr@2: williamr@2: private: williamr@2: TInt iFileAttachmentNum; williamr@2: }; williamr@2: williamr@2: #endif // SEN_TRANSPORT_PROPERTIES_H