webservices/wsutils/inc/senvtcptransportproperties.h
changeset 0 62f9d29f7211
equal deleted inserted replaced
-1:000000000000 0:62f9d29f7211
       
     1 /*
       
     2 * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:    Header declaration
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 
       
    24 
       
    25 
       
    26 
       
    27 
       
    28 
       
    29 #ifndef SEN_VTCP_TRANSPORT_PROPERTIES_H
       
    30 #define SEN_VTCP_TRANSPORT_PROPERTIES_H
       
    31 
       
    32 // INCLUDE
       
    33 #include <SenTransportProperties.h>
       
    34 
       
    35 
       
    36 // CONSTANTS
       
    37 _LIT8(KDeviceLCIDLocalName,              "DeviceLCID");
       
    38 _LIT8(KConnectionBoundLocalName,         "ConnectionBound");
       
    39 _LIT8(KConnectionTimeOutLocalName,       "ConnectionTimeOut");
       
    40 
       
    41 // CLASS DECLARATION
       
    42 class CSenVtcpTransportProperties : public CSenTransportProperties
       
    43     {
       
    44     public:
       
    45                 
       
    46         /**
       
    47         * Basic constructor.
       
    48         * @return a pointer to new CSenVtcpTransportProperties class instance.
       
    49         */
       
    50         IMPORT_C static CSenVtcpTransportProperties* NewL();
       
    51         /**
       
    52         * Basic constructor.
       
    53         * @return a pointer to new CSenVtcpTransportProperties class instance.
       
    54         */
       
    55         IMPORT_C static CSenVtcpTransportProperties* NewLC();
       
    56 
       
    57         /**
       
    58         * Basic constructor.
       
    59 		* @param aXmlUtf8 
       
    60     	* @param aParser It is a XML reader        
       
    61         * @return a pointer to new CSenVtcpTransportProperties class instance.
       
    62         */
       
    63         IMPORT_C static CSenVtcpTransportProperties* NewL(const TDesC8& aXmlUtf8,
       
    64                                                           CSenXmlReader& aParser);
       
    65 
       
    66         /**
       
    67         * Basic constructor.
       
    68 		* @param aXmlUtf8 
       
    69     	* @param aParser It is a XML reader        
       
    70         * @return a pointer to new CSenVtcpTransportProperties class instance.
       
    71         */
       
    72         IMPORT_C static CSenVtcpTransportProperties* NewLC(const TDesC8& aXmlUtf8,
       
    73                                                            CSenXmlReader& aParser);
       
    74 
       
    75         /**
       
    76         * Basic constructor.
       
    77 		* @param aElement
       
    78         * @return a pointer to new CSenVtcpTransportProperties class instance.
       
    79         */
       
    80         IMPORT_C static CSenVtcpTransportProperties* NewL(const CSenElement& aElement);
       
    81         /**
       
    82         * Basic constructor.
       
    83 		* @param aElement
       
    84         * @return a pointer to new CSenVtcpTransportProperties class instance.
       
    85         */
       
    86         IMPORT_C static CSenVtcpTransportProperties* NewLC(const CSenElement& aElement);
       
    87 
       
    88         // From MSenProperties
       
    89         virtual void SetReader(CSenXmlReader& aReader);
       
    90         virtual TSenPropertiesClassType PropertiesClassType();
       
    91         virtual void WriteToL(RWriteStream& aWriteStream);
       
    92         virtual void ReadFromL(const TDesC8& aBuffer);
       
    93         virtual HBufC8* AsUtf8L();
       
    94         virtual HBufC8* AsUtf8LC();
       
    95         virtual TBool IsSafeToCast(TSenPropertiesClassType aClass);
       
    96         virtual MSenProperties* CloneL() const;
       
    97         
       
    98         virtual TInt SetPropertyL(const TDesC8& aName, const TDesC8& aValue);
       
    99         virtual TInt PropertyL(const TDesC8& aName, TPtrC8& aValue);        
       
   100         virtual TInt SetPropertyL(const TDesC8& aName, const TDesC8& aValue, const TDesC8& aType);
       
   101         virtual TInt PropertyL(const TDesC8& aName, TPtrC8& aValue, TPtrC8& aType);
       
   102         virtual TInt SetIntPropertyL(const TDesC8& aName, const TInt aValue);
       
   103         virtual TInt IntPropertyL(const TDesC8& aName, TInt& aValue);
       
   104         virtual TInt SetBoolPropertyL(const TDesC8& aName, const TBool aValue);        
       
   105         virtual TInt BoolPropertyL(const TDesC8& aName, TBool& aValue);
       
   106 
       
   107        /**
       
   108         * Gets the IAP ID.
       
   109         * @param aCurrentIapId  A TUint32 reference to be filled in with the
       
   110         *                       value of the IAP ID.
       
   111         * @return               KErrNone if no error, or some of the system
       
   112         *                       wide error codes.
       
   113         */
       
   114         virtual TInt IapIdL(TUint32& aCurrentIapId);
       
   115 
       
   116         /**
       
   117         * Sets the IAP ID.
       
   118         * @param aIapId is the new IAP ID.
       
   119         */
       
   120         virtual void SetIapIdL(TUint32 aIapId);
       
   121 
       
   122         /**
       
   123         * Gets the Proxy Port.
       
   124         * @param aProxyPort  A TInt reference to be filled in with the
       
   125         *                    value of the Proxy Port.
       
   126         * @return            KErrNone if no error, or some of the system
       
   127         *                    wide error codes.
       
   128         */
       
   129         virtual TInt ProxyPortL(TInt& aProxyPort);
       
   130 
       
   131         /**
       
   132         * Sets the Proxy Port.
       
   133         * @param aProxyPort is the new Proxy Port.
       
   134         */
       
   135         virtual void SetProxyPortL(TInt aProxyPort);
       
   136 
       
   137         /**
       
   138         * Gets the Proxy Host.
       
   139         * @param aProxyHost  A TPtrC8 reference to be filled in with the
       
   140         *                    value of the Proxy Host.
       
   141         * @return            KErrNone if no error, or some of the system
       
   142         *                    wide error codes.
       
   143         */
       
   144         virtual TInt ProxyHostL(TPtrC8& aProxyHost);
       
   145 
       
   146         /**
       
   147         * Sets the Proxy Host.
       
   148         * @param aProxyHost is the new Proxy Host.
       
   149         */
       
   150         virtual void SetProxyHostL(const TDesC8& aProxyHost);
       
   151         
       
   152         /**
       
   153         * Gets the Proxy Usage flag.
       
   154         * @param aProxyUsage A TBool reference to be filled in with the
       
   155         *                    value of the Proxy Usage.
       
   156         * @return            KErrNone if no error, or some of the system
       
   157         *                    wide error codes.
       
   158         */
       
   159         virtual TInt ProxyUsageL(TBool& aProxyUsage);
       
   160 
       
   161         /**
       
   162         * Sets the Proxy Usage flag.
       
   163         * @param aProxyUsage is the new value for Proxy Usage.
       
   164         */
       
   165         virtual void SetProxyUsageL(TBool aProxyUsage);
       
   166 
       
   167         /**
       
   168         * Gets the information if SecureDialog is shown or not.
       
   169         * @param aProxyUsage A TBool reference to be filled in with the
       
   170         *                    value of the SecureDialog flag.
       
   171         * @return            KErrNone if no error, or some of the system
       
   172         *                    wide error codes.
       
   173         */
       
   174         virtual TInt SecureDialogL(TBool& aSecureDialog);
       
   175 
       
   176         /**
       
   177         * Sets the flag which controls showing of SecureDialog.
       
   178         * @param aSecureDialog is the new value for SecureDialog flag.
       
   179         */
       
   180         virtual void SetSecureDialogL(TBool aSecureDialog);
       
   181 
       
   182         /**
       
   183         * Gets the UserAgent.
       
   184         * @param aUserAgent  A TPtrC8 reference to be filled in with the
       
   185         *                    value of the UserAgent.
       
   186         * @return            KErrNone if no error, or some of the system
       
   187         *                    wide error codes.
       
   188         */
       
   189         virtual TInt UserAgentL(TPtrC8& aUserAgent);
       
   190         
       
   191         /**
       
   192         * Sets the UserAgent.
       
   193         * @param aUserAgent is the new User Agent.
       
   194         */
       
   195         virtual void SetUserAgentL(const TDesC8& aUserAgent);
       
   196 
       
   197 
       
   198         /**
       
   199         * Gets the device ID
       
   200         * @param aDeviceID  A TPtrC8 reference to be filled in with the
       
   201         *                    value of the Device ID.
       
   202         * @return            KErrNone if no error, or some of the system
       
   203         *                    wide error codes.
       
   204         */
       
   205         virtual TInt DeviceIDL(TPtrC8& aDeviceID);
       
   206 
       
   207         /**
       
   208         * Sets the Device ID.
       
   209         * @param aDeviceID is the new Device ID.
       
   210         */
       
   211         virtual void SetDeviceIDL(const TDesC8& aDeviceID);
       
   212 
       
   213         /**
       
   214         * Gets the Action of message
       
   215         * @param aAction A TPtrC8 reference to be filled in with the
       
   216         *                    value of the Action.
       
   217         * @return            KErrNone if no error, or some of the system
       
   218         *                    wide error codes.
       
   219         */
       
   220         virtual TInt SoapActionL(TPtrC8& aAction);
       
   221         
       
   222         /**
       
   223         * Sets the Action.
       
   224         * @param aAction is the new Soap Action.
       
   225         */
       
   226         virtual void SetSoapActionL(const TDesC8& aAction);
       
   227 
       
   228         /**
       
   229         * Apply binding.
       
   230         * @param aSoapVersion is the version of Soap (1.1 or 1.2).
       
   231         */
       
   232         virtual void ApplyBindingL(TSOAPVersion aSoapVersion);
       
   233 
       
   234         /**
       
   235         * Gets the device LCID
       
   236         * @param aDeviceLCID  A TPtrC8 reference to be filled in with the
       
   237         *                    value of the Device LCID.
       
   238         * @return            KErrNone if no error, or some of the system
       
   239         *                    wide error codes.
       
   240         */
       
   241         virtual TInt DeviceLCIDL(TPtrC8& aDeviceLCID);
       
   242         
       
   243         /**
       
   244         * Sets the Device LCID.
       
   245         * @param aDeviceLCID is the new Device LCID.
       
   246         */
       
   247         virtual void SetDeviceLCIDL(const TDesC8& aDeviceLCID);
       
   248         
       
   249         /**
       
   250         * Gets connection bound mode
       
   251         * @param aConnectionBound  A boolean reference used to return the
       
   252         *                    connection value (ETrue if bounded).
       
   253         *                    With virtual TCP, default is EFalse 
       
   254         *                    (unbound == persistant connection).
       
   255         * @return            KErrNone if no error, or some of the system
       
   256         *                    wide error codes.
       
   257         */
       
   258         virtual TInt ConnectionBoundL(TBool& aConnectionBound);
       
   259         
       
   260         /**
       
   261         * Sets the connection bound mode.
       
   262         * @param aConnectionBound is the connection bound mode
       
   263         */
       
   264         virtual void SetConnectionBoundL(const TBool& aConnectionBound);
       
   265 
       
   266         /**
       
   267         * Gets virtual connection timeout
       
   268         * @param aConnectionTimeOut  A TPtrC8 reference to be filled in with the
       
   269         *                    value of the connection time out
       
   270         * @return            KErrNone if no error, or some of the system
       
   271         *                    wide error codes.
       
   272         */
       
   273         virtual TInt ConnectionTimeOutL(TInt& aConnectionTimeOut);
       
   274         
       
   275         /**
       
   276         * Sets the connection time out
       
   277         * @param aConnectionTimeOut is the connection time out
       
   278         */
       
   279         virtual void SetConnectionTimeOutL(const TInt& aConnectionTimeOut);
       
   280        
       
   281         /**
       
   282         * Gets download folder for incoming BLOB (binary large objects)
       
   283         * @param aDownloadFolder - A TPtrC8 reference to be filled in with the
       
   284         *                    value of the shared, public folder for downloaded 
       
   285         *                    content
       
   286         * @return            KErrNone if no error, or some of the system
       
   287         *                    wide error codes.
       
   288         */
       
   289         virtual TInt DownloadFolderL(TPtrC8& aDownloadFolder);
       
   290         
       
   291         /**
       
   292         * Sets download folder for incoming BLOB (binary large objects)
       
   293         * @param aDownloadFolder - shared, public folder for downloaded content
       
   294         */
       
   295         virtual void SetDownloadFolderL(const TDesC8& aDownloadFolder);
       
   296 
       
   297         /**
       
   298         * Gets filename of file attachment
       
   299         * @param aCid - cid for filename
       
   300         * @param aFileName - filename of file attachment with current cid
       
   301         * @return            KErrNone if no error, or some of the system
       
   302         *                    wide error codes.
       
   303         */
       
   304         virtual TInt FileAttachmentL(const TDesC8& aCid, HBufC8*& aFileName);
       
   305         
       
   306         /**
       
   307         * Sets filename of file attachment
       
   308         * @param aCid - cid for filename
       
   309         * @param aFileName - filename of file attachment with current cid
       
   310         * @return            KErrNone if no error, or some of the system
       
   311         *                    wide error codes.
       
   312         */
       
   313         virtual TInt SetFileAttachmentL(const TDesC8& aCid, const TDesC8& aFileName);
       
   314 
       
   315         /**
       
   316         * Gets namespace of Microsoft schema
       
   317         * @param aMwsNamespace - namespace 
       
   318         * @return            KErrNone if no error, or some of the system
       
   319         *                    wide error codes.
       
   320         */
       
   321         virtual TInt MwsNamespaceL(TPtrC8& aMwsNamespace);
       
   322         
       
   323         /**
       
   324         * Sets namespace of Microsoft schema
       
   325         * @param aMwsNamespace - namespace
       
   326         * @return            KErrNone if no error, or some of the system
       
   327         *                    wide error codes.
       
   328         */
       
   329         virtual void SetMwsNamespaceL(const TDesC8& aMwsNamespace);
       
   330 
       
   331         /**
       
   332         * Gets message ID
       
   333         * @param aMessageId - is the id of the message
       
   334         * @return            KErrNone if no error, or some of the system
       
   335         *                    wide error codes.
       
   336         */
       
   337         virtual TInt MessageIdL(TPtrC8& aMessageId);
       
   338 
       
   339         /**
       
   340         * Sets message ID. Typically, this property is set per each message, instead of
       
   341         * applying the same message ID for whole consumer session (service connection)
       
   342         * @param aMessageID - is the ID of the message
       
   343         * @return            KErrNone if no error, or some of the system
       
   344         *                    wide error codes.
       
   345         */
       
   346         virtual void SetMessageIdL(const TDesC8& aMessageId);
       
   347 
       
   348         /**
       
   349         * Gets one-way message mode.
       
   350         * @param aOnewayMsgOnOff A TBool reference to be filled in with the
       
   351         *                    value of the one-way message mode.
       
   352         * @return            KErrNone if no error, or some of the system
       
   353         *                    wide error codes.
       
   354         */
       
   355         IMPORT_C virtual TInt OnewayMessageOnOffL(TBool& aOnewayMessageOnOff);
       
   356 
       
   357         /**
       
   358         * Sets the one-way message mode on/off. Typically, one-way
       
   359         * messages are rarely used by default: instead, a request-
       
   360         * response pair (consumer[request]<->[response]provider)
       
   361         * transaction takes place.
       
   362         * However, if one-way message mode is enabled, sending such
       
   363         * message will typically result immediate callback from
       
   364         * the transport (plug-in) itself. This means, that the
       
   365         * actual service response from the provider is not being
       
   366         * waited. 
       
   367         * Common use case to enable one-way message is when service
       
   368         * connection is used in transmitting *responses* to notification
       
   369         * request(s) that some remote consumer (from outside device) has 
       
   370         * sent earlier.
       
   371         * Such notification requests may thus be received via hostlet 
       
   372         * connection (hc), and by enabling one-way message, once can reply
       
   373         * via service connection, instead of calling hc->RespondL method.
       
   374         * Furthermore, application might wish to enable one-way message
       
   375         * mode to hostlet connection, if it is not interested of replying
       
   376         * to these two-way notifications via hostlet connection, but wishes
       
   377         * to use service connection instead.
       
   378         * @param aOnewayMessageOnOff is the new value of one-way message mode.
       
   379         */
       
   380         IMPORT_C virtual void SetOnewayMessageOnOffL(TBool aOnewayMessageOnOff);
       
   381 
       
   382 
       
   383        /**
       
   384         * Destructor.
       
   385         */
       
   386         virtual ~CSenVtcpTransportProperties();
       
   387 
       
   388     protected: // base class functions
       
   389 
       
   390         virtual void BaseConstructL(const TDesC8& aLocalname, 
       
   391                                     const TDesC8& aXml,
       
   392                                     CSenXmlReader* aParser = NULL);
       
   393 
       
   394         virtual void BaseConstructL(const CSenElement& aElement);
       
   395 
       
   396 
       
   397     public: // Extensions
       
   398       
       
   399       
       
   400       
       
   401         /**
       
   402         * Gets the (connection) heartbeat property value as int.
       
   403         * @param aDelta     A TInt reference to be filled in with the
       
   404         *                       value of the heartbeat (in seconds).
       
   405         *                       Positive value means that a heartbeat
       
   406         *                       messages are sent to backend, keeping
       
   407         *                       the socket connection open (longlived
       
   408         *                       connection). Keeping heartbeat may be
       
   409         *                       costy, but increases performance in
       
   410         *                       scenarios, where multiple network
       
   411         *                       transactions take place within short
       
   412         *                       period (time window).
       
   413         * @return             KErrNone if no error, or some of the system
       
   414         *                       wide error codes.
       
   415         *                     KErrNotFound if shortlive connection defined
       
   416         */
       
   417         virtual TInt HeartbeatL(TInt& aDelta);
       
   418 
       
   419 
       
   420         /**
       
   421         * Sets the (connection) heartbeat property value as int.
       
   422         * Note, that with some transports, like vTCP, the heartbeat
       
   423         * can also be used to control connection modes (longlive
       
   424         * vs. shortlive connection). 
       
   425         * Hertbeat value is called also as delta.
       
   426         * 
       
   427         * Together with delta You can also set parameters Min & Max TTL
       
   428         * Long and short connection is set in different way, below guider.
       
   429         *
       
   430         * To setup longlive connection:
       
   431         *   delta   : user defined
       
   432         *   min TTL : If not specified then the default value of 90 sec will be used
       
   433         *   max TTL : If not specified then the default value 1800 sec will be used
       
   434         *
       
   435         * To setup shortlive connection:
       
   436         *   delta   : -1
       
   437         *   min TTL : If not specified then the default value of 90 sec will be used
       
   438         *   max TTL : ignored
       
   439         *
       
   440         * So, providing a negative value
       
   441         * (-1) can be utilized to disable heartbeat and to switch
       
   442         * the connection mode to a short lived state. With vTCP
       
   443         * transport, if heartbeat of -1 is set, the socket will be
       
   444         * kept open only for effective timeout value (shortlived), 
       
   445         * 
       
   446         * @param aDelta    TInt reference to be filled in with 
       
   447         *                      the value of the heartbeat (in seconds)
       
   448         * @return              KErrNone if no error, or some of the system
       
   449         *                      wide error codes.
       
   450         */
       
   451         virtual TInt SetHeartbeatL(TInt aDelta);
       
   452         
       
   453         /**
       
   454         * Sets the (connection) Max TTL for longlive connection.
       
   455         *
       
   456         * @see SetHeartbeatL(TInt aDelta)
       
   457         *
       
   458         * @param aMaxTTL      TInt reference to be filled in with 
       
   459         *                      the value of the max TTL (in seconds)
       
   460         * @return              KErrNone if no error, or some of the system
       
   461         *                       wide error codes.
       
   462         */
       
   463         IMPORT_C virtual TInt SetMaxTimeToLiveL(TInt aMaxTTL);
       
   464         
       
   465         /**
       
   466         * Gets the (connection) max TTL property value as int.
       
   467         *
       
   468         * @see SetHeartbeatL(TInt aDelta)
       
   469         *
       
   470         * @param aMaxTTL       A TInt reference to be filled in with the
       
   471         *                       value of the max TTL (in seconds).
       
   472         *
       
   473         * @return           KErrNotFound if shortlive connection defined
       
   474         *                   KErrNone if no error, or some of the system
       
   475         *                       wide error codes.
       
   476         */
       
   477         IMPORT_C virtual TInt MaxTimeToLiveL(TInt& aMaxTTL);
       
   478 
       
   479         /**
       
   480         * Sets the (connection) Min TTL
       
   481         *
       
   482         * @see SetHeartbeatL(TInt aDelta)
       
   483         *
       
   484         * @param aMaxTTL      TInt reference to be filled in with 
       
   485         *                      the value of the min TTL (in seconds)
       
   486         * @return              KErrNone if no error, or some of the system
       
   487         *                       wide error codes.
       
   488         */
       
   489         IMPORT_C virtual TInt SetMinTimeToLiveL(TInt aMinTTL);
       
   490 
       
   491         /**
       
   492         * Gets the (connection) min TTL property value as int.
       
   493         *
       
   494         * @see SetHeartbeatL(TInt aDelta)
       
   495         *
       
   496         * @param aMinTTL     A TInt reference to be filled in with the
       
   497         *                       value of the min TTL (in seconds).
       
   498         *
       
   499         * @return           KErrNone if no error, or some of the system
       
   500         *                       wide error codes.
       
   501         */
       
   502         IMPORT_C virtual TInt MinTimeToLiveL(TInt& aMinTTL);
       
   503 
       
   504 	public:
       
   505         /**
       
   506         * Sets the SNAP ID.
       
   507         * @param aSnapId is the new SNAP ID.
       
   508         */
       
   509 		virtual void SetSnapIdL(TUint32 aSnapId);
       
   510 
       
   511        /**
       
   512         * Gets the SNAP ID.
       
   513         * @param aCurrentSnapId  A TUint32 reference to be filled in with the
       
   514         *                       value of the SNAP ID.
       
   515         * @return               KErrNone if no error, or some of the system
       
   516         *                       wide error codes.
       
   517         */
       
   518        	virtual TInt SnapIdL(TUint32& aCurrentSnapId);	
       
   519     /**
       
   520         * Sets the (LongLived Retry) Long Lived Retry property value as int.
       
   521         * Note, that with some transports, like vTCP, the RetryMaxTTL
       
   522         * can also be used to control only long lived connection retry modes 
       
   523         * RetryMaxTTL value is called also as delta.
       
   524         * Together with delta You can also set parameters RetryMinTTL & RetryMaxTTL
       
   525         * Long and short connection is set in different way, below guider.
       
   526         * @param aDelta    TInt reference to be filled in with 
       
   527         *                      the value of the RetryMaxTTL (in seconds)
       
   528         * @return              KErrNone if no error, or some of the system
       
   529         *                      wide error codes.
       
   530         */
       
   531         IMPORT_C virtual TInt SetMaxRetryTTLL(TInt aMaxRetryTTL);
       
   532         
       
   533 	    /**
       
   534         * Gets the (Long Lived Retry)RetryMaxTTL property value as int.
       
   535         * @param aDelta     A TInt reference to be filled in with the
       
   536         *                       value of the RetryMaxTTL (in seconds).
       
   537         *                       Positive value means that a RetryMaxTTL
       
   538         *                       messages are sent to backend, keeping
       
   539         *                       the socket connection open (longlived
       
   540         *                       connection). Keeping RetryMaxTTL may be
       
   541         *                       costy, but increases performance in
       
   542         *                       scenarios, where multiple network
       
   543         *                       transactions take place within short
       
   544         *                       period (time window).
       
   545         * @return             KErrNone if no error, or some of the system
       
   546         *                       wide error codes.
       
   547         *                     KErrNotFound if shortlive connection defined
       
   548         */
       
   549         IMPORT_C virtual TInt MaxRetryTTLL(TInt& aMaxRetryTTL);
       
   550         
       
   551         
       
   552 		/**
       
   553         * Sets the (LongLived Retry) RetryDelta
       
   554         *
       
   555         * @see SetMaxRetryTTLL(TInt aDelta)
       
   556         *
       
   557         * @param aMaxTTL      TInt reference to be filled in with 
       
   558         *                      the value of the min TTL (in seconds)
       
   559         * @return              KErrNone if no error, or some of the system
       
   560         *                       wide error codes.
       
   561         */
       
   562  		IMPORT_C virtual TInt SetRetryDeltaTimeoutL(TInt aTimeout);
       
   563  		
       
   564 		/**
       
   565         * Gets the (LongLived Retry) RetryDelta
       
   566         *
       
   567         * @see SetMaxRetryTTLL(TInt aDelta)
       
   568         *
       
   569         * @param aMaxTTL      TInt reference to be filled in with 
       
   570         *                      the value of the min TTL (in seconds)
       
   571         * @return              KErrNone if no error, or some of the system
       
   572         *                       wide error codes.
       
   573         */
       
   574         IMPORT_C virtual TInt RetryDeltaTimeoutL(TInt& aTimeout);
       
   575         
       
   576 		/**
       
   577         * Sets the (LongLived Retry) RetryMinTTL
       
   578         *
       
   579         * @see SetMaxRetryTTLL(TInt aDelta)
       
   580         *
       
   581         * @param aMaxTTL      TInt reference to be filled in with 
       
   582         *                      the value of the min TTL (in seconds)
       
   583         * @return              KErrNone if no error, or some of the system
       
   584         *                       wide error codes.
       
   585         */
       
   586         IMPORT_C virtual TInt SetMinRetryTTLL(TInt aMinRetryTTL);
       
   587         
       
   588 		/**
       
   589         * Gets the (LongLived Retry) RetryMinTTL
       
   590         *
       
   591         * @see SetMaxRetryTTLL(TInt aDelta)
       
   592         *
       
   593         * @param aMaxTTL      TInt reference to be filled in with 
       
   594         *                      the value of the min TTL (in seconds)
       
   595         * @return              KErrNone if no error, or some of the system
       
   596         *                       wide error codes.
       
   597         */
       
   598         IMPORT_C virtual TInt MinRetryTTLL(TInt& aMinRetryTTL);
       
   599 
       
   600     protected:
       
   601         /**
       
   602         * Constructor.
       
   603         */
       
   604         CSenVtcpTransportProperties();
       
   605     };
       
   606 
       
   607 #endif // SEN_VTCP_TRANSPORT_PROPERTIES_H