epoc32/include/mw/sentransportproperties.h
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
     1.1 --- a/epoc32/include/mw/sentransportproperties.h	Tue Nov 24 13:55:44 2009 +0000
     1.2 +++ b/epoc32/include/mw/sentransportproperties.h	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -1,1 +1,560 @@
     1.4 -sentransportproperties.h
     1.5 +/*
     1.6 +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
     1.7 +* All rights reserved.
     1.8 +* This component and the accompanying materials are made available
     1.9 +* 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
    1.10 +* which accompanies this distribution, and is available
    1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.12 +*
    1.13 +* Initial Contributors:
    1.14 +* Nokia Corporation - initial contribution.
    1.15 +*
    1.16 +* Contributors:
    1.17 +*
    1.18 +* Description:  Transport properties class declaration     
    1.19 +*
    1.20 +*/
    1.21 +
    1.22 +#ifndef SEN_TRANSPORT_PROPERTIES_H
    1.23 +#define SEN_TRANSPORT_PROPERTIES_H
    1.24 +
    1.25 +#include <SenXmlProperties.h>
    1.26 +#include <SenSoapEnvelope.h>
    1.27 +
    1.28 +// CONSTANTS
    1.29 +_LIT8( KIapIdLocalName,              "IapId"            );
    1.30 +_LIT8( KSnapIdLocalName,              "SnapId"            );
    1.31 +_LIT8( KProxyHostLocalName,          "ProxyHost"        );
    1.32 +_LIT8( KProxyPortLocalName,          "ProxyPort"        );
    1.33 +_LIT8( KProxyUsageLocalName,         "ProxyUsage"       );
    1.34 +_LIT8( KSecureDialogLocalName,       "SecureDialog"     );
    1.35 +_LIT8( KDeviceIDLocalName,           "DeviceID"         );
    1.36 +_LIT8( KSoapActionLocalName,         "SOAPAction"       );
    1.37 +_LIT8( KUserAgentLocalName,          "User-Agent"       );
    1.38 +_LIT8( KDownloadFolderLocalName,     "DownloadFolder"   );
    1.39 +_LIT8( KFileAttachmentsLocalName,    "FileAttachments"  );
    1.40 +_LIT8( KMwsNamespaceLocalName,       "MwsNamespace"     );
    1.41 +_LIT8( KSenClientGeneratedMessageId, "MessageID"        );
    1.42 +_LIT8( KSenOnewayMessageOnOff,       "OneWayMessage"    );
    1.43 +
    1.44 +_LIT8( KSenConnectionHeartbeat,      "Heartbeat"        );
    1.45 +_LIT8( KSenConnectionHeartbeatMaxTTL,"MaxTTL"           );
    1.46 +_LIT8( KSenConnectionHeartbeatMinTTL,"MinTTL"           );
    1.47 +_LIT8( KSenEndpointResource,         "EndpointResource" );
    1.48 +
    1.49 +_LIT8( KNCIMConsumerKeyId,      "ConsumerKeyId"         );
    1.50 +_LIT8( KNCIMConsumerSecret,     "ConsumerSecret"        );
    1.51 +_LIT8( KNCIMConsumerServiceId,  "ConsumerServiceId"     );
    1.52 +_LIT8( KNCIMEndpoint,				"NCIMEndpoint"     );
    1.53 +_LIT8( KNCIMCountry,				"mcc"     );
    1.54 +
    1.55 +
    1.56 +/*
    1.57 +* Use Bool property to hold value. You can use convenient methods SetBoolPropertyL/BoolPropertyL.
    1.58 +* Value ETrue  - means NO dialog. If any problem occurs, then just an error is returned to the application. 
    1.59 +* Value EFalse - system IAP dialog is shown if any problem occurs
    1.60 +*/
    1.61 +_LIT8( KSenIAPDoNotPrompt,           "IAPDoNotPrompt"   );
    1.62 +_LIT8( KSenSNAPDoNotPrompt,           "SNAPDoNotPrompt"   );
    1.63 +
    1.64 +// Property type attribute's name for HTTP headers:
    1.65 +_LIT8( KHttpHeaderType,              "HttpHeader"       );
    1.66 +_LIT8( KAttachmentFileType,          "FileAttachment"   );
    1.67 +
    1.68 +class CSenTransportProperties : public CSenXmlProperties
    1.69 +    {
    1.70 +    public:
    1.71 +        /**
    1.72 +        * Basic constructor.
    1.73 +        * @return a pointer to new CSenTransportProperties class instance.
    1.74 +        */
    1.75 +        IMPORT_C static CSenTransportProperties* NewL();
    1.76 +        /**
    1.77 +        * Basic constructor.
    1.78 +        * @return a pointer to new CSenTransportProperties class instance.
    1.79 +        */
    1.80 +        IMPORT_C static CSenTransportProperties* NewLC();
    1.81 +
    1.82 +        /**
    1.83 +        * Basic constructor.
    1.84 +		* @param aXmlUtf8 
    1.85 +    	* @param aParser It is a XML reader        
    1.86 +        * @return a pointer to new CSenTransportProperties class instance.
    1.87 +        */
    1.88 +        IMPORT_C static CSenTransportProperties* NewL(const TDesC8& aXmlUtf8,
    1.89 +                                                          CSenXmlReader& aParser);
    1.90 +        /**
    1.91 +        * Basic constructor.
    1.92 +		* @param aXmlUtf8 
    1.93 +    	* @param aParser It is a XML reader        
    1.94 +        * @return a pointer to new CSenTransportProperties class instance.
    1.95 +        */
    1.96 +        IMPORT_C static CSenTransportProperties* NewLC(const TDesC8& aXmlUtf8,
    1.97 +                                                           CSenXmlReader& aParser);
    1.98 +
    1.99 +        /**
   1.100 +        * Basic constructor.
   1.101 +		* @param aElement
   1.102 +        * @return a pointer to new CSenTransportProperties class instance.
   1.103 +        */
   1.104 +        IMPORT_C static CSenTransportProperties* NewL(const CSenElement& aElement);
   1.105 +        /**
   1.106 +        * Basic constructor.
   1.107 +		* @param aElement
   1.108 +        * @return a pointer to new CSenTransportProperties class instance.
   1.109 +        */
   1.110 +        IMPORT_C static CSenTransportProperties* NewLC(const CSenElement& aElement);
   1.111 +    
   1.112 +        // From MSenProperties
   1.113 +        IMPORT_C virtual void SetReader(CSenXmlReader& aReader);
   1.114 +        IMPORT_C virtual TSenPropertiesClassType PropertiesClassType();
   1.115 +        IMPORT_C virtual void WriteToL(RWriteStream& aWriteStream);
   1.116 +        IMPORT_C virtual void ReadFromL(const TDesC8& aBuffer);
   1.117 +        IMPORT_C virtual HBufC8* AsUtf8L();
   1.118 +        IMPORT_C virtual HBufC8* AsUtf8LC();
   1.119 +        IMPORT_C virtual TInt SetPropertyL(const TDesC8& aName,
   1.120 +                                           const TDesC8& aValue);
   1.121 +        IMPORT_C virtual TInt PropertyL(const TDesC8& aName, TPtrC8& aValue);
   1.122 +        IMPORT_C virtual TInt SetIntPropertyL(const TDesC8& aName,
   1.123 +                                              const TInt aValue);
   1.124 +        IMPORT_C virtual TInt IntPropertyL(const TDesC8& aName,
   1.125 +                                           TInt& aValue);
   1.126 +        IMPORT_C virtual TInt SetBoolPropertyL(const TDesC8& aName,
   1.127 +                                               const TBool aValue);        
   1.128 +        IMPORT_C virtual TInt BoolPropertyL(const TDesC8& aName,
   1.129 +                                                TBool& aValue);
   1.130 +        IMPORT_C virtual TInt SetOmittedL(const TDesC8& aName, TBool aValue);
   1.131 +        IMPORT_C virtual TInt RemovePropertyL(const TDesC8& aName);
   1.132 +        IMPORT_C virtual TBool IsSafeToCast(TSenPropertiesClassType aClass);
   1.133 +        IMPORT_C virtual MSenProperties* CloneL() const;
   1.134 +        IMPORT_C virtual MSenProperties* Clone(TInt& aOkOrError) const;
   1.135 +
   1.136 +       /**
   1.137 +        * Destructor.
   1.138 +        */
   1.139 +        IMPORT_C virtual ~CSenTransportProperties();
   1.140 +        
   1.141 +        IMPORT_C virtual TInt SetPropertyL(const TDesC8& aName,
   1.142 +                                           const TDesC8& aValue,
   1.143 +                                           const TDesC8& aType);
   1.144 +
   1.145 +        IMPORT_C virtual TInt PropertyL(const TDesC8& aName,
   1.146 +                                        TPtrC8& aValue,
   1.147 +                                        TPtrC8& aType);
   1.148 +                                        
   1.149 +        /**
   1.150 +        * Gets the (connection) heartbeat property value as int.
   1.151 +        * @param aDelta     A TInt reference to be filled in with the
   1.152 +        *                       value of the heartbeat (in seconds).
   1.153 +        *                       Positive value means that a heartbeat
   1.154 +        *                       messages are sent to backend, keeping
   1.155 +        *                       the socket connection open (longlived
   1.156 +        *                       connection). Keeping heartbeat may be
   1.157 +        *                       costy, but increases performance in
   1.158 +        *                       scenarios, where multiple network
   1.159 +        *                       transactions take place within short
   1.160 +        *                       period (time window).
   1.161 +        * @return             KErrNone if no error, or some of the system
   1.162 +        *                       wide error codes.
   1.163 +        *                     KErrNotFound if shortlive connection defined
   1.164 +        */
   1.165 +        IMPORT_C virtual TInt HeartbeatL(TInt& aDelta);
   1.166 +
   1.167 +        /**
   1.168 +        * Sets the (connection) heartbeat property value as int.
   1.169 +        * Note, that with some transports, like vTCP, the heartbeat
   1.170 +        * can also be used to control connection modes (longlive
   1.171 +        * vs. shortlive connection). 
   1.172 +        * Hertbeat value is called also as delta.
   1.173 +        * 
   1.174 +        * Together with delta You can also set parameters Min & Max TTL
   1.175 +        * Long and short connection is set in different way, below guider.
   1.176 +        *
   1.177 +        * To setup longlive connection:
   1.178 +        *   delta   : user defined
   1.179 +        *   min TTL : If not specified then the default value of 90 sec will be used
   1.180 +        *   max TTL : If not specified then the default value 1800 sec will be used
   1.181 +        *
   1.182 +        * To setup shortlive connection:
   1.183 +        *   delta   : -1
   1.184 +        *   min TTL : If not specified then the default value of 90 sec will be used
   1.185 +        *   max TTL : ignored
   1.186 +        *
   1.187 +        * So, providing a negative value
   1.188 +        * (-1) can be utilized to disable heartbeat and to switch
   1.189 +        * the connection mode to a short lived state. With vTCP
   1.190 +        * transport, if heartbeat of -1 is set, the socket will be
   1.191 +        * kept open only for effective timeout value (shortlived), 
   1.192 +        * 
   1.193 +        * @param aDelta    TInt reference to be filled in with 
   1.194 +        *                      the value of the heartbeat (in seconds)
   1.195 +        * @return              KErrNone if no error, or some of the system
   1.196 +        *                      wide error codes.
   1.197 +        */
   1.198 +        IMPORT_C virtual TInt SetHeartbeatL(TInt aDelta);
   1.199 +        
   1.200 +        /**
   1.201 +        * Gets the IAP ID.
   1.202 +        * @param aCurrentIapId  A TUint32 reference to be filled in with the
   1.203 +        *                       value of the IAP ID.
   1.204 +        * @return               KErrNone if no error, or some of the system
   1.205 +        *                       wide error codes.
   1.206 +        */
   1.207 +        IMPORT_C virtual TInt IapIdL(TUint32& aCurrentIapId);
   1.208 +
   1.209 +        /**
   1.210 +        * Sets the IAP ID.
   1.211 +        * @param aIapId is the new IAP ID.
   1.212 +        */
   1.213 +        IMPORT_C virtual void SetIapIdL(TUint32 aIapId);
   1.214 +
   1.215 +        /**
   1.216 +        * Gets the Proxy Port.
   1.217 +        * @param aProxyPort  A TInt reference to be filled in with the
   1.218 +        *                    value of the Proxy Port.
   1.219 +        * @return            KErrNone if no error, or some of the system
   1.220 +        *                    wide error codes.
   1.221 +        */
   1.222 +        IMPORT_C virtual TInt ProxyPortL(TInt& aProxyPort);
   1.223 +
   1.224 +        /**
   1.225 +        * Sets the Proxy Port.
   1.226 +        * @param aProxyPort is the new Proxy Port.
   1.227 +        */
   1.228 +        IMPORT_C virtual void SetProxyPortL(TInt aProxyPort);
   1.229 +
   1.230 +        /**
   1.231 +        * Gets the Proxy Host.
   1.232 +        * @param aProxyHost  A TPtrC8 reference to be filled in with the
   1.233 +        *                    value of the Proxy Host.
   1.234 +        * @return            KErrNone if no error, or some of the system
   1.235 +        *                    wide error codes.
   1.236 +        */
   1.237 +        IMPORT_C virtual TInt ProxyHostL(TPtrC8& aProxyHost);
   1.238 +
   1.239 +        /**
   1.240 +        * Sets the Proxy Host.
   1.241 +        * @param aProxyHost is the new Proxy Host.
   1.242 +        */
   1.243 +        IMPORT_C virtual void SetProxyHostL(const TDesC8& aProxyHost);
   1.244 +        
   1.245 +        /**
   1.246 +        * Gets the Proxy Usage flag.
   1.247 +        * @param aProxyUsage A TBool reference to be filled in with the
   1.248 +        *                    value of the Proxy Usage.
   1.249 +        * @return            KErrNone if no error, or some of the system
   1.250 +        *                    wide error codes.
   1.251 +        */
   1.252 +        IMPORT_C virtual TInt ProxyUsageL(TBool& aProxyUsage);
   1.253 +
   1.254 +        /**
   1.255 +        * Sets the Proxy Usage flag.
   1.256 +        * @param aProxyUsage is the new value for Proxy Usage.
   1.257 +        */
   1.258 +        IMPORT_C virtual void SetProxyUsageL(TBool aProxyUsage);
   1.259 +
   1.260 +        /**
   1.261 +        * Gets the information if SecureDialog is shown or not.
   1.262 +        * @param aProxyUsage A TBool reference to be filled in with the
   1.263 +        *                    value of the SecureDialog flag.
   1.264 +        * @return            KErrNone if no error, or some of the system
   1.265 +        *                    wide error codes.
   1.266 +        */
   1.267 +        IMPORT_C virtual TInt SecureDialogL(TBool& aSecureDialog);
   1.268 +
   1.269 +        /**
   1.270 +        * Sets the flag which controls showing of SecureDialog.
   1.271 +        * @param aSecureDialog is the new value for SecureDialog flag.
   1.272 +        */
   1.273 +        IMPORT_C virtual void SetSecureDialogL(TBool aSecureDialog);
   1.274 +        
   1.275 +        /**
   1.276 +        * Gets the information if IAPDialog is shown or not.
   1.277 +        * @param aIAPDialog A TBool reference to be filled in with the
   1.278 +        *                   value of the SecureDialog flag.
   1.279 +        * @return           KErrNone if no error, or some of the system
   1.280 +        *                   wide error codes.
   1.281 +        */
   1.282 +//        IMPORT_C virtual TInt IAPDialogL(TBool& aIAPDialog);
   1.283 +
   1.284 +        /**
   1.285 +        * Sets the flag which controls showing of IAPDialog.
   1.286 +        * @param aIAPDialog is the new value for IAPDialog flag.
   1.287 +        */
   1.288 +//        IMPORT_C virtual void SetIAPDialogL(TBool aIAPDialog);
   1.289 +
   1.290 +        /**
   1.291 +        * Gets the UserAgent.
   1.292 +        * @param aUserAgent  A TPtrC8 reference to be filled in with the
   1.293 +        *                    value of the UserAgent.
   1.294 +        * @return            KErrNone if no error, or some of the system
   1.295 +        *                    wide error codes.
   1.296 +        */
   1.297 +        IMPORT_C virtual TInt UserAgentL(TPtrC8& aUserAgent);
   1.298 +        
   1.299 +        /**
   1.300 +        * Sets the UserAgent.
   1.301 +        * @param aUserAgent is the new User Agent.
   1.302 +        */
   1.303 +        IMPORT_C virtual void SetUserAgentL(const TDesC8& aUserAgent);
   1.304 +        
   1.305 +        /**
   1.306 +        * Gets the device ID
   1.307 +        * @param aDeviceID  A TPtrC8 reference to be filled in with the
   1.308 +        *                    value of the Device ID.
   1.309 +        * @return            KErrNone if no error, or some of the system
   1.310 +        *                    wide error codes.
   1.311 +        */
   1.312 +        IMPORT_C virtual TInt DeviceIDL(TPtrC8& aDeviceID);
   1.313 +
   1.314 +        /**
   1.315 +        * Sets the Device ID.
   1.316 +        * @param aDeviceID is the new Device ID.
   1.317 +        */
   1.318 +        IMPORT_C virtual void SetDeviceIDL(const TDesC8& aDeviceID);
   1.319 +        
   1.320 +        /**
   1.321 +        * Gets the Action of message
   1.322 +        * @param aAction A TPtrC8 reference to be filled in with the
   1.323 +        *                    value of the Action.
   1.324 +        * @return            KErrNone if no error, or some of the system
   1.325 +        *                    wide error codes.
   1.326 +        */
   1.327 +        IMPORT_C virtual TInt SoapActionL(TPtrC8& aAction);
   1.328 +        
   1.329 +        /**
   1.330 +        * Sets the Action.
   1.331 +        * @param aAction is the new Soap Action.
   1.332 +        */
   1.333 +        IMPORT_C virtual void SetSoapActionL(const TDesC8& aAction);
   1.334 +        
   1.335 +        /**
   1.336 +        * Apply binding.
   1.337 +        * @param aSoapVersion is the version of Soap (1.1 or 1.2).
   1.338 +        */
   1.339 +        IMPORT_C virtual void ApplyBindingL(TSOAPVersion aSoapVersion);
   1.340 +
   1.341 +        /**
   1.342 +        * Gets download folder for incoming BLOB (binary large objects)
   1.343 +        * @param aDownloadFolder - A TPtrC8 reference to be filled in with the
   1.344 +        *                    value of the shared, public folder for downloaded 
   1.345 +        *                    content
   1.346 +        * @return            KErrNone if no error, or some of the system
   1.347 +        *                    wide error codes.
   1.348 +        */
   1.349 +        IMPORT_C virtual TInt DownloadFolderL(TPtrC8& aDownloadFolder);
   1.350 +        
   1.351 +        /**
   1.352 +        * Sets download folder for incoming BLOB (binary large objects)
   1.353 +        * @param aDownloadFolder shared, public folder for downloaded content
   1.354 +        */
   1.355 +        IMPORT_C virtual void SetDownloadFolderL(const TDesC8& aDownloadFolder);
   1.356 +        
   1.357 +        /**
   1.358 +        * Gets filename of file attachment
   1.359 +        * @param aCid - cid for filename
   1.360 +        * @param aFileName - filename of file attachment with current cid
   1.361 +        * @return            KErrNone if no error, or some of the system
   1.362 +        *                    wide error codes.
   1.363 +        */
   1.364 +        IMPORT_C virtual TInt FileAttachmentL(const TDesC8& aCid, HBufC8*& aFileName);
   1.365 +        
   1.366 +        /**
   1.367 +        * Sets filename of file attachment
   1.368 +        * @param aCid - cid for filename
   1.369 +        * @param aFileName - filename of file attachment with current cid
   1.370 +        * @return            KErrNone if no error, or some of the system
   1.371 +        *                    wide error codes.
   1.372 +        */
   1.373 +        IMPORT_C virtual TInt SetFileAttachmentL(const TDesC8& aCid, const TDesC8& aFileName);
   1.374 +
   1.375 +        /**
   1.376 +        * Gets namespace of Microsoft schema
   1.377 +        * @param aMwsNamespace - namespace
   1.378 +        * @return            KErrNone if no error, or some of the system
   1.379 +        *                    wide error codes.
   1.380 +        */
   1.381 +        IMPORT_C virtual TInt MwsNamespaceL(TPtrC8& aMwsNamespace);
   1.382 +        
   1.383 +        /**
   1.384 +        * Sets namespace of Microsoft schema
   1.385 +        * @param aMwsNamespace - namespace
   1.386 +        * @return            KErrNone if no error, or some of the system
   1.387 +        *                    wide error codes.
   1.388 +        */
   1.389 +        IMPORT_C virtual void SetMwsNamespaceL(const TDesC8& aMwsNamespace);
   1.390 +
   1.391 +
   1.392 +        /**
   1.393 +        * Gets message ID
   1.394 +        * @param aMessageId - is the id of the message
   1.395 +        * @return            KErrNone if no error, or some of the system
   1.396 +        *                    wide error codes.
   1.397 +        */
   1.398 +        IMPORT_C virtual TInt MessageIdL(TPtrC8& aMessageId);
   1.399 +
   1.400 +        /**
   1.401 +        * Sets message ID. Typically, this property is set per each message, instead of
   1.402 +        * applying the same message ID for whole consumer session (service connection)
   1.403 +        * @param aMessageID - is the ID of the message
   1.404 +        * @return            KErrNone if no error, or some of the system
   1.405 +        *                    wide error codes.
   1.406 +        */
   1.407 +        IMPORT_C virtual void SetMessageIdL(const TDesC8& aMessageId);
   1.408 +
   1.409 +        /**
   1.410 +        * Gets one-way message mode.
   1.411 +        * @param aOnewayMsgOnOff A TBool reference to be filled in with the
   1.412 +        *                    value of the one-way message mode.
   1.413 +        * @return            KErrNone if no error, or some of the system
   1.414 +        *                    wide error codes.
   1.415 +        */
   1.416 +        IMPORT_C virtual TInt OnewayMessageOnOffL(TBool& aOnewayMessageOnOff);
   1.417 +
   1.418 +        /**
   1.419 +        * Sets the one-way message mode on/off. Typically, one-way
   1.420 +        * messages are rarely used by default: instead, a request-
   1.421 +        * response pair (consumer[request]<->[response]provider)
   1.422 +        * transaction takes place.
   1.423 +        * However, if one-way message mode is enabled, sending such
   1.424 +        * message will typically result immediate callback from
   1.425 +        * the transport (plug-in) itself. This means, that the
   1.426 +        * actual service response from the provider is not being
   1.427 +        * waited. 
   1.428 +        * Common use case to enable one-way message is when service
   1.429 +        * connection is used in transmitting *responses* to notification
   1.430 +        * request(s) that some remote consumer (from outside device) has 
   1.431 +        * sent earlier.
   1.432 +        * Such notification requests may thus be received via hostlet 
   1.433 +        * connection (hc), and by enabling one-way message, once can reply
   1.434 +        * via service connection, instead of calling hc->RespondL method.
   1.435 +        * Furthermore, application might wish to enable one-way message
   1.436 +        * mode to hostlet connection, if it is not interested of replying
   1.437 +        * to these two-way notifications via hostlet connection, but wishes
   1.438 +        * to use service connection instead.
   1.439 +        * @param aOnewayMessageOnOff is the new value of one-way message mode.
   1.440 +        */
   1.441 +        IMPORT_C virtual void SetOnewayMessageOnOffL(TBool aOnewayMessageOnOff);
   1.442 +
   1.443 +        /**
   1.444 +        * Sets the (connection) Max TTL for longlive connection.
   1.445 +        *
   1.446 +        * @see SetHeartbeatL(TInt aDelta)
   1.447 +        *
   1.448 +        * @param aMaxTTL      TInt reference to be filled in with 
   1.449 +        *                      the value of the max TTL (in seconds)
   1.450 +        * @return              KErrNone if no error, or some of the system
   1.451 +        *                       wide error codes.
   1.452 +        */
   1.453 +        IMPORT_C virtual TInt SetMaxTimeToLiveL(TInt aMaxTTL);
   1.454 +        
   1.455 +        /**
   1.456 +        * Gets the (connection) max TTL property value as int.
   1.457 +        *
   1.458 +        * @see SetHeartbeatL(TInt aDelta)
   1.459 +        *
   1.460 +        * @param aMaxTTL       A TInt reference to be filled in with the
   1.461 +        *                       value of the max TTL (in seconds).
   1.462 +        *
   1.463 +        * @return           KErrNotFound if shortlive connection defined
   1.464 +        *                   KErrNone if no error, or some of the system
   1.465 +        *                       wide error codes.
   1.466 +        */
   1.467 +        IMPORT_C virtual TInt MaxTimeToLiveL(TInt& aMaxTTL);
   1.468 +
   1.469 +        /**
   1.470 +        * Sets the (connection) Min TTL
   1.471 +        *
   1.472 +        * @see SetHeartbeatL(TInt aDelta)
   1.473 +        *
   1.474 +        * @param aMaxTTL      TInt reference to be filled in with 
   1.475 +        *                      the value of the min TTL (in seconds)
   1.476 +        * @return              KErrNone if no error, or some of the system
   1.477 +        *                       wide error codes.
   1.478 +        */
   1.479 +        IMPORT_C virtual TInt SetMinTimeToLiveL(TInt aMinTTL);
   1.480 +
   1.481 +        /**
   1.482 +        * Gets the (connection) min TTL property value as int.
   1.483 +        *
   1.484 +        * @see SetHeartbeatL(TInt aDelta)
   1.485 +        *
   1.486 +        * @param aMinTTL     A TInt reference to be filled in with the
   1.487 +        *                       value of the min TTL (in seconds).
   1.488 +        *
   1.489 +        * @return           KErrNone if no error, or some of the system
   1.490 +        *                       wide error codes.
   1.491 +        */
   1.492 +        IMPORT_C virtual TInt MinTimeToLiveL(TInt& aMinTTL);
   1.493 +
   1.494 +
   1.495 +
   1.496 +        /**
   1.497 +        * Sets resource property value  for endpoint
   1.498 +        *
   1.499 +        *
   1.500 +        * @param aEndpointResource - is the suffix for endpoint
   1.501 +        *                      
   1.502 +        * @return              KErrNone if no error, or some of the system
   1.503 +        *                       wide error codes.
   1.504 +        */
   1.505 +        IMPORT_C virtual TInt SetEndpointResourceL(const TDesC8& aEndpointResource);
   1.506 +
   1.507 +        /**
   1.508 +        * Gets resource property value for endpoint
   1.509 +        *
   1.510 +        *
   1.511 +        * @param aEndpointResource - is the suffix for endpoint
   1.512 +        *                      
   1.513 +        *
   1.514 +        * @return           KErrNone if no error, or some of the system
   1.515 +        *                       wide error codes.
   1.516 +        */
   1.517 +        IMPORT_C virtual TInt EndpointResourceL(TPtrC8& aEndpointResource);
   1.518 +
   1.519 +
   1.520 +    protected: // base class functions
   1.521 +
   1.522 +        IMPORT_C virtual void BaseConstructL(const TDesC8& aLocalname, 
   1.523 +                                    const TDesC8& aXml,
   1.524 +                                    CSenXmlReader* aParser = NULL);
   1.525 +
   1.526 +        IMPORT_C virtual void BaseConstructL(const TDesC8& aNamespace, 
   1.527 +                                    const TDesC8& aLocalname, 
   1.528 +                                    const TDesC8& aXml,
   1.529 +                                    CSenXmlReader* aParser = NULL);
   1.530 +
   1.531 +        IMPORT_C virtual void BaseConstructL(const TDesC8& aNamespace, 
   1.532 +                                    const TDesC8& aLocalname, 
   1.533 +                                    const TDesC8& aQualifiedName, 
   1.534 +                                    const TDesC8& aXml,
   1.535 +                                    CSenXmlReader* aParser = NULL);
   1.536 +
   1.537 +        IMPORT_C virtual void BaseConstructL(const CSenElement& aElement);
   1.538 +        
   1.539 +	public:
   1.540 +        /**
   1.541 +        * Sets the SNAP ID.
   1.542 +        * @param aSnapId is the new SNAP ID.
   1.543 +        */
   1.544 +        IMPORT_C void SetSnapIdL(TUint32 aSnapId); 
   1.545 +
   1.546 +        /**
   1.547 +        * Gets the SNAP ID.
   1.548 +        * @param aCurrentSnapId  A TUint32 reference to be filled in with the
   1.549 +        *                       value of the SNAP ID.
   1.550 +        * @return               KErrNone if no error, or some of the system
   1.551 +        *                       wide error codes.
   1.552 +        */
   1.553 +        IMPORT_C TInt SnapIdL(TUint32& aCurrentSnapId); 
   1.554 +    protected:
   1.555 +        /**
   1.556 +        * Constructor.
   1.557 +        */
   1.558 +        IMPORT_C CSenTransportProperties();
   1.559 +        
   1.560 +    private:
   1.561 +        TInt iFileAttachmentNum;        
   1.562 +    };
   1.563 +
   1.564 +#endif // SEN_TRANSPORT_PROPERTIES_H
   1.565 \ No newline at end of file