websrv_pub/web_service_connection_api/inc/SenTransportProperties.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:     Transport properties class declaration     
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 #ifndef SEN_TRANSPORT_PROPERTIES_H
       
    22 #define SEN_TRANSPORT_PROPERTIES_H
       
    23 
       
    24 #include <SenXmlProperties.h>
       
    25 #include <SenSoapEnvelope.h>
       
    26 
       
    27 // CONSTANTS
       
    28 _LIT8( KIapIdLocalName,              "IapId"            );
       
    29 _LIT8( KSnapIdLocalName,              "SnapId"            );
       
    30 _LIT8( KProxyHostLocalName,          "ProxyHost"        );
       
    31 _LIT8( KProxyPortLocalName,          "ProxyPort"        );
       
    32 _LIT8( KProxyUsageLocalName,         "ProxyUsage"       );
       
    33 _LIT8( KSecureDialogLocalName,       "SecureDialog"     );
       
    34 _LIT8( KDeviceIDLocalName,           "DeviceID"         );
       
    35 _LIT8( KSoapActionLocalName,         "SOAPAction"       );
       
    36 _LIT8( KUserAgentLocalName,          "User-Agent"       );
       
    37 _LIT8( KDownloadFolderLocalName,     "DownloadFolder"   );
       
    38 _LIT8( KFileAttachmentsLocalName,    "FileAttachments"  );
       
    39 _LIT8( KMwsNamespaceLocalName,       "MwsNamespace"     );
       
    40 _LIT8( KSenClientGeneratedMessageId, "MessageID"        );
       
    41 _LIT8( KSenOnewayMessageOnOff,       "OneWayMessage"    );
       
    42 
       
    43 _LIT8( KSenConnectionHeartbeat,      "Heartbeat"        );
       
    44 _LIT8( KSenConnectionHeartbeatMaxTTL,"MaxTTL"           );
       
    45 _LIT8( KSenConnectionHeartbeatMinTTL,"MinTTL"           );
       
    46 _LIT8( KSenEndpointResource,         "EndpointResource" );
       
    47 _LIT8( KSenConnectionProxyUrl,"ProxyUrl"           );
       
    48 
       
    49 _LIT8( KNCIMConsumerKeyId,      "ConsumerKeyId"         );
       
    50 _LIT8( KNCIMConsumerSecret,     "ConsumerSecret"        );
       
    51 _LIT8( KNCIMConsumerServiceId,  "ConsumerServiceId"     );
       
    52 _LIT8( KNCIMEndpoint,				"NCIMEndpoint"     );
       
    53 _LIT8( KSenConnectionRetryDelta,     "RetryDelta" );
       
    54 _LIT8( KSenConnectionRetryMaxTTL,    "RetryMaxTTL");
       
    55 _LIT8( KSenConnectionRetryMinTTL,    "RetryMinTTL");
       
    56 _LIT8( KNCIMCountry,				"mcc"     );
       
    57 
       
    58 
       
    59 /*
       
    60 * Use Bool property to hold value. You can use convenient methods SetBoolPropertyL/BoolPropertyL.
       
    61 * Value ETrue  - means NO dialog. If any problem occurs, then just an error is returned to the application. 
       
    62 * Value EFalse - system IAP dialog is shown if any problem occurs
       
    63 */
       
    64 _LIT8( KSenIAPDoNotPrompt,           "IAPDoNotPrompt"   );
       
    65 _LIT8( KSenSNAPDoNotPrompt,           "SNAPDoNotPrompt"   );
       
    66 
       
    67 // Property type attribute's name for HTTP headers:
       
    68 _LIT8( KHttpHeaderType,              "HttpHeader"       );
       
    69 _LIT8( KAttachmentFileType,          "FileAttachment"   );
       
    70 
       
    71 /* Property type attribute's name for Deflate Filters:
       
    72    Set this http transport property for the enabling of
       
    73    http compression.Http data Compression works from 
       
    74    server to client side.
       
    75  */
       
    76 _LIT8( KWsPropertyValueHttpFilterDeflate, "HttpFilterDeflate"     );
       
    77 
       
    78 class CSenTransportProperties : public CSenXmlProperties
       
    79     {
       
    80     public:
       
    81         /**
       
    82         * Basic constructor.
       
    83         * @return a pointer to new CSenTransportProperties class instance.
       
    84         */
       
    85         IMPORT_C static CSenTransportProperties* NewL();
       
    86         /**
       
    87         * Basic constructor.
       
    88         * @return a pointer to new CSenTransportProperties class instance.
       
    89         */
       
    90         IMPORT_C static CSenTransportProperties* NewLC();
       
    91 
       
    92         /**
       
    93         * Basic constructor.
       
    94 		* @param aXmlUtf8 
       
    95     	* @param aParser It is a XML reader        
       
    96         * @return a pointer to new CSenTransportProperties class instance.
       
    97         */
       
    98         IMPORT_C static CSenTransportProperties* NewL(const TDesC8& aXmlUtf8,
       
    99                                                           CSenXmlReader& aParser);
       
   100         /**
       
   101         * Basic constructor.
       
   102 		* @param aXmlUtf8 
       
   103     	* @param aParser It is a XML reader        
       
   104         * @return a pointer to new CSenTransportProperties class instance.
       
   105         */
       
   106         IMPORT_C static CSenTransportProperties* NewLC(const TDesC8& aXmlUtf8,
       
   107                                                            CSenXmlReader& aParser);
       
   108 
       
   109         /**
       
   110         * Basic constructor.
       
   111 		* @param aElement
       
   112         * @return a pointer to new CSenTransportProperties class instance.
       
   113         */
       
   114         IMPORT_C static CSenTransportProperties* NewL(const CSenElement& aElement);
       
   115         /**
       
   116         * Basic constructor.
       
   117 		* @param aElement
       
   118         * @return a pointer to new CSenTransportProperties class instance.
       
   119         */
       
   120         IMPORT_C static CSenTransportProperties* NewLC(const CSenElement& aElement);
       
   121     
       
   122         // From MSenProperties
       
   123         IMPORT_C virtual void SetReader(CSenXmlReader& aReader);
       
   124         IMPORT_C virtual TSenPropertiesClassType PropertiesClassType();
       
   125         IMPORT_C virtual void WriteToL(RWriteStream& aWriteStream);
       
   126         IMPORT_C virtual void ReadFromL(const TDesC8& aBuffer);
       
   127         IMPORT_C virtual HBufC8* AsUtf8L();
       
   128         IMPORT_C virtual HBufC8* AsUtf8LC();
       
   129         IMPORT_C virtual TInt SetPropertyL(const TDesC8& aName,
       
   130                                            const TDesC8& aValue);
       
   131         IMPORT_C virtual TInt PropertyL(const TDesC8& aName, TPtrC8& aValue);
       
   132         IMPORT_C virtual TInt SetIntPropertyL(const TDesC8& aName,
       
   133                                               const TInt aValue);
       
   134         IMPORT_C virtual TInt IntPropertyL(const TDesC8& aName,
       
   135                                            TInt& aValue);
       
   136         IMPORT_C virtual TInt SetBoolPropertyL(const TDesC8& aName,
       
   137                                                const TBool aValue);        
       
   138         IMPORT_C virtual TInt BoolPropertyL(const TDesC8& aName,
       
   139                                                 TBool& aValue);
       
   140         IMPORT_C virtual TInt SetOmittedL(const TDesC8& aName, TBool aValue);
       
   141         IMPORT_C virtual TInt RemovePropertyL(const TDesC8& aName);
       
   142         IMPORT_C virtual TBool IsSafeToCast(TSenPropertiesClassType aClass);
       
   143         IMPORT_C virtual MSenProperties* CloneL() const;
       
   144         IMPORT_C virtual MSenProperties* Clone(TInt& aOkOrError) const;
       
   145 
       
   146        /**
       
   147         * Destructor.
       
   148         */
       
   149         IMPORT_C virtual ~CSenTransportProperties();
       
   150         
       
   151         IMPORT_C virtual TInt SetPropertyL(const TDesC8& aName,
       
   152                                            const TDesC8& aValue,
       
   153                                            const TDesC8& aType);
       
   154 
       
   155         IMPORT_C virtual TInt PropertyL(const TDesC8& aName,
       
   156                                         TPtrC8& aValue,
       
   157                                         TPtrC8& aType);
       
   158                                         
       
   159         /**
       
   160         * Gets the (connection) heartbeat property value as int.
       
   161         * @param aDelta     A TInt reference to be filled in with the
       
   162         *                       value of the heartbeat (in seconds).
       
   163         *                       Positive value means that a heartbeat
       
   164         *                       messages are sent to backend, keeping
       
   165         *                       the socket connection open (longlived
       
   166         *                       connection). Keeping heartbeat may be
       
   167         *                       costy, but increases performance in
       
   168         *                       scenarios, where multiple network
       
   169         *                       transactions take place within short
       
   170         *                       period (time window).
       
   171         * @return             KErrNone if no error, or some of the system
       
   172         *                       wide error codes.
       
   173         *                     KErrNotFound if shortlive connection defined
       
   174         */
       
   175         IMPORT_C virtual TInt HeartbeatL(TInt& aDelta);
       
   176 
       
   177         /**
       
   178         * Sets the (connection) heartbeat property value as int.
       
   179         * Note, that with some transports, like vTCP, the heartbeat
       
   180         * can also be used to control connection modes (longlive
       
   181         * vs. shortlive connection). 
       
   182         * Hertbeat value is called also as delta.
       
   183         * 
       
   184         * Together with delta You can also set parameters Min & Max TTL
       
   185         * Long and short connection is set in different way, below guider.
       
   186         *
       
   187         * To setup longlive connection:
       
   188         *   delta   : user defined
       
   189         *   min TTL : If not specified then the default value of 90 sec will be used
       
   190         *   max TTL : If not specified then the default value 1800 sec will be used
       
   191         *
       
   192         * To setup shortlive connection:
       
   193         *   delta   : -1
       
   194         *   min TTL : If not specified then the default value of 90 sec will be used
       
   195         *   max TTL : ignored
       
   196         *
       
   197         * So, providing a negative value
       
   198         * (-1) can be utilized to disable heartbeat and to switch
       
   199         * the connection mode to a short lived state. With vTCP
       
   200         * transport, if heartbeat of -1 is set, the socket will be
       
   201         * kept open only for effective timeout value (shortlived), 
       
   202         * 
       
   203         * @param aDelta    TInt reference to be filled in with 
       
   204         *                      the value of the heartbeat (in seconds)
       
   205         * @return              KErrNone if no error, or some of the system
       
   206         *                      wide error codes.
       
   207         */
       
   208         IMPORT_C virtual TInt SetHeartbeatL(TInt aDelta);
       
   209         
       
   210         /**
       
   211         * Gets the IAP ID.
       
   212         * @param aCurrentIapId  A TUint32 reference to be filled in with the
       
   213         *                       value of the IAP ID.
       
   214         * @return               KErrNone if no error, or some of the system
       
   215         *                       wide error codes.
       
   216         */
       
   217         IMPORT_C virtual TInt IapIdL(TUint32& aCurrentIapId);
       
   218 
       
   219         /**
       
   220         * Sets the IAP ID.
       
   221         * @param aIapId is the new IAP ID.
       
   222         */
       
   223         IMPORT_C virtual void SetIapIdL(TUint32 aIapId);
       
   224 
       
   225         /**
       
   226         * Gets the Proxy Port.
       
   227         * @param aProxyPort  A TInt reference to be filled in with the
       
   228         *                    value of the Proxy Port.
       
   229         * @return            KErrNone if no error, or some of the system
       
   230         *                    wide error codes.
       
   231         */
       
   232         IMPORT_C virtual TInt ProxyPortL(TInt& aProxyPort);
       
   233 
       
   234         /**
       
   235         * Sets the Proxy Port.
       
   236         * @param aProxyPort is the new Proxy Port.
       
   237         */
       
   238         IMPORT_C virtual void SetProxyPortL(TInt aProxyPort);
       
   239 
       
   240         /**
       
   241         * Gets the Proxy Host.
       
   242         * @param aProxyHost  A TPtrC8 reference to be filled in with the
       
   243         *                    value of the Proxy Host.
       
   244         * @return            KErrNone if no error, or some of the system
       
   245         *                    wide error codes.
       
   246         */
       
   247         IMPORT_C virtual TInt ProxyHostL(TPtrC8& aProxyHost);
       
   248 
       
   249         /**
       
   250         * Sets the Proxy Host.
       
   251         * @param aProxyHost is the new Proxy Host.
       
   252         */
       
   253         IMPORT_C virtual void SetProxyHostL(const TDesC8& aProxyHost);
       
   254         
       
   255         /**
       
   256         * Gets the Proxy Usage flag.
       
   257         * @param aProxyUsage A TBool reference to be filled in with the
       
   258         *                    value of the Proxy Usage.
       
   259         * @return            KErrNone if no error, or some of the system
       
   260         *                    wide error codes.
       
   261         */
       
   262         IMPORT_C virtual TInt ProxyUsageL(TBool& aProxyUsage);
       
   263 
       
   264         /**
       
   265         * Sets the Proxy Usage flag.
       
   266         * @param aProxyUsage is the new value for Proxy Usage.
       
   267         */
       
   268         IMPORT_C virtual void SetProxyUsageL(TBool aProxyUsage);
       
   269 
       
   270         /**
       
   271         * Gets the information if SecureDialog is shown or not.
       
   272         * @param aProxyUsage A TBool reference to be filled in with the
       
   273         *                    value of the SecureDialog flag.
       
   274         * @return            KErrNone if no error, or some of the system
       
   275         *                    wide error codes.
       
   276         */
       
   277         IMPORT_C virtual TInt SecureDialogL(TBool& aSecureDialog);
       
   278 
       
   279         /**
       
   280         * Sets the flag which controls showing of SecureDialog.
       
   281         * @param aSecureDialog is the new value for SecureDialog flag.
       
   282         */
       
   283         IMPORT_C virtual void SetSecureDialogL(TBool aSecureDialog);
       
   284         
       
   285         /**
       
   286         * Gets the information if IAPDialog is shown or not.
       
   287         * @param aIAPDialog A TBool reference to be filled in with the
       
   288         *                   value of the SecureDialog flag.
       
   289         * @return           KErrNone if no error, or some of the system
       
   290         *                   wide error codes.
       
   291         */
       
   292 //        IMPORT_C virtual TInt IAPDialogL(TBool& aIAPDialog);
       
   293 
       
   294         /**
       
   295         * Sets the flag which controls showing of IAPDialog.
       
   296         * @param aIAPDialog is the new value for IAPDialog flag.
       
   297         */
       
   298 //        IMPORT_C virtual void SetIAPDialogL(TBool aIAPDialog);
       
   299 
       
   300         /**
       
   301         * Gets the UserAgent.
       
   302         * @param aUserAgent  A TPtrC8 reference to be filled in with the
       
   303         *                    value of the UserAgent.
       
   304         * @return            KErrNone if no error, or some of the system
       
   305         *                    wide error codes.
       
   306         */
       
   307         IMPORT_C virtual TInt UserAgentL(TPtrC8& aUserAgent);
       
   308         
       
   309         /**
       
   310         * Sets the UserAgent.
       
   311         * @param aUserAgent is the new User Agent.
       
   312         */
       
   313         IMPORT_C virtual void SetUserAgentL(const TDesC8& aUserAgent);
       
   314         
       
   315         /**
       
   316         * Gets the device ID
       
   317         * @param aDeviceID  A TPtrC8 reference to be filled in with the
       
   318         *                    value of the Device ID.
       
   319         * @return            KErrNone if no error, or some of the system
       
   320         *                    wide error codes.
       
   321         */
       
   322         IMPORT_C virtual TInt DeviceIDL(TPtrC8& aDeviceID);
       
   323 
       
   324         /**
       
   325         * Sets the Device ID.
       
   326         * @param aDeviceID is the new Device ID.
       
   327         */
       
   328         IMPORT_C virtual void SetDeviceIDL(const TDesC8& aDeviceID);
       
   329         
       
   330         /**
       
   331         * Gets the Action of message
       
   332         * @param aAction A TPtrC8 reference to be filled in with the
       
   333         *                    value of the Action.
       
   334         * @return            KErrNone if no error, or some of the system
       
   335         *                    wide error codes.
       
   336         */
       
   337         IMPORT_C virtual TInt SoapActionL(TPtrC8& aAction);
       
   338         
       
   339         /**
       
   340         * Sets the Action.
       
   341         * @param aAction is the new Soap Action.
       
   342         */
       
   343         IMPORT_C virtual void SetSoapActionL(const TDesC8& aAction);
       
   344         
       
   345         /**
       
   346         * Apply binding.
       
   347         * @param aSoapVersion is the version of Soap (1.1 or 1.2).
       
   348         */
       
   349         IMPORT_C virtual void ApplyBindingL(TSOAPVersion aSoapVersion);
       
   350 
       
   351         /**
       
   352         * Gets download folder for incoming BLOB (binary large objects)
       
   353         * @param aDownloadFolder - A TPtrC8 reference to be filled in with the
       
   354         *                    value of the shared, public folder for downloaded 
       
   355         *                    content
       
   356         * @return            KErrNone if no error, or some of the system
       
   357         *                    wide error codes.
       
   358         */
       
   359         IMPORT_C virtual TInt DownloadFolderL(TPtrC8& aDownloadFolder);
       
   360         
       
   361         /**
       
   362         * Sets download folder for incoming BLOB (binary large objects)
       
   363         * @param aDownloadFolder shared, public folder for downloaded content
       
   364         */
       
   365         IMPORT_C virtual void SetDownloadFolderL(const TDesC8& aDownloadFolder);
       
   366         
       
   367         /**
       
   368         * Gets filename of file attachment
       
   369         * @param aCid - cid for filename
       
   370         * @param aFileName - filename of file attachment with current cid
       
   371         * @return            KErrNone if no error, or some of the system
       
   372         *                    wide error codes.
       
   373         */
       
   374         IMPORT_C virtual TInt FileAttachmentL(const TDesC8& aCid, HBufC8*& aFileName);
       
   375         
       
   376         /**
       
   377         * Sets filename of file attachment
       
   378         * @param aCid - cid for filename
       
   379         * @param aFileName - filename of file attachment with current cid
       
   380         * @return            KErrNone if no error, or some of the system
       
   381         *                    wide error codes.
       
   382         */
       
   383         IMPORT_C virtual TInt SetFileAttachmentL(const TDesC8& aCid, const TDesC8& aFileName);
       
   384 
       
   385         /**
       
   386         * Gets namespace of Microsoft schema
       
   387         * @param aMwsNamespace - namespace
       
   388         * @return            KErrNone if no error, or some of the system
       
   389         *                    wide error codes.
       
   390         */
       
   391         IMPORT_C virtual TInt MwsNamespaceL(TPtrC8& aMwsNamespace);
       
   392         
       
   393         /**
       
   394         * Sets namespace of Microsoft schema
       
   395         * @param aMwsNamespace - namespace
       
   396         * @return            KErrNone if no error, or some of the system
       
   397         *                    wide error codes.
       
   398         */
       
   399         IMPORT_C virtual void SetMwsNamespaceL(const TDesC8& aMwsNamespace);
       
   400 
       
   401 
       
   402         /**
       
   403         * Gets message ID
       
   404         * @param aMessageId - is the id of the message
       
   405         * @return            KErrNone if no error, or some of the system
       
   406         *                    wide error codes.
       
   407         */
       
   408         IMPORT_C virtual TInt MessageIdL(TPtrC8& aMessageId);
       
   409 
       
   410         /**
       
   411         * Sets message ID. Typically, this property is set per each message, instead of
       
   412         * applying the same message ID for whole consumer session (service connection)
       
   413         * @param aMessageID - is the ID of the message
       
   414         * @return            KErrNone if no error, or some of the system
       
   415         *                    wide error codes.
       
   416         */
       
   417         IMPORT_C virtual void SetMessageIdL(const TDesC8& aMessageId);
       
   418 
       
   419         /**
       
   420         * Gets one-way message mode.
       
   421         * @param aOnewayMsgOnOff A TBool reference to be filled in with the
       
   422         *                    value of the one-way message mode.
       
   423         * @return            KErrNone if no error, or some of the system
       
   424         *                    wide error codes.
       
   425         */
       
   426         IMPORT_C virtual TInt OnewayMessageOnOffL(TBool& aOnewayMessageOnOff);
       
   427 
       
   428         /**
       
   429         * Sets the one-way message mode on/off. Typically, one-way
       
   430         * messages are rarely used by default: instead, a request-
       
   431         * response pair (consumer[request]<->[response]provider)
       
   432         * transaction takes place.
       
   433         * However, if one-way message mode is enabled, sending such
       
   434         * message will typically result immediate callback from
       
   435         * the transport (plug-in) itself. This means, that the
       
   436         * actual service response from the provider is not being
       
   437         * waited. 
       
   438         * Common use case to enable one-way message is when service
       
   439         * connection is used in transmitting *responses* to notification
       
   440         * request(s) that some remote consumer (from outside device) has 
       
   441         * sent earlier.
       
   442         * Such notification requests may thus be received via hostlet 
       
   443         * connection (hc), and by enabling one-way message, once can reply
       
   444         * via service connection, instead of calling hc->RespondL method.
       
   445         * Furthermore, application might wish to enable one-way message
       
   446         * mode to hostlet connection, if it is not interested of replying
       
   447         * to these two-way notifications via hostlet connection, but wishes
       
   448         * to use service connection instead.
       
   449         * @param aOnewayMessageOnOff is the new value of one-way message mode.
       
   450         */
       
   451         IMPORT_C virtual void SetOnewayMessageOnOffL(TBool aOnewayMessageOnOff);
       
   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 
       
   505 
       
   506         /**
       
   507         * Sets resource property value  for endpoint
       
   508         *
       
   509         *
       
   510         * @param aEndpointResource - is the suffix for endpoint
       
   511         *                      
       
   512         * @return              KErrNone if no error, or some of the system
       
   513         *                       wide error codes.
       
   514         */
       
   515         IMPORT_C virtual TInt SetEndpointResourceL(const TDesC8& aEndpointResource);
       
   516 
       
   517         /**
       
   518         * Gets resource property value for endpoint
       
   519         *
       
   520         *
       
   521         * @param aEndpointResource - is the suffix for endpoint
       
   522         *                      
       
   523         *
       
   524         * @return           KErrNone if no error, or some of the system
       
   525         *                       wide error codes.
       
   526         */
       
   527         IMPORT_C virtual TInt EndpointResourceL(TPtrC8& aEndpointResource);
       
   528 
       
   529 
       
   530     protected: // base class functions
       
   531 
       
   532         IMPORT_C virtual void BaseConstructL(const TDesC8& aLocalname, 
       
   533                                     const TDesC8& aXml,
       
   534                                     CSenXmlReader* aParser = NULL);
       
   535 
       
   536         IMPORT_C virtual void BaseConstructL(const TDesC8& aNamespace, 
       
   537                                     const TDesC8& aLocalname, 
       
   538                                     const TDesC8& aXml,
       
   539                                     CSenXmlReader* aParser = NULL);
       
   540 
       
   541         IMPORT_C virtual void BaseConstructL(const TDesC8& aNamespace, 
       
   542                                     const TDesC8& aLocalname, 
       
   543                                     const TDesC8& aQualifiedName, 
       
   544                                     const TDesC8& aXml,
       
   545                                     CSenXmlReader* aParser = NULL);
       
   546 
       
   547         IMPORT_C virtual void BaseConstructL(const CSenElement& aElement);
       
   548         
       
   549 	public:
       
   550         /**
       
   551         * Sets the SNAP ID.
       
   552         * @param aSnapId is the new SNAP ID.
       
   553         */
       
   554         IMPORT_C void SetSnapIdL(TUint32 aSnapId); 
       
   555 
       
   556         /**
       
   557         * Gets the SNAP ID.
       
   558         * @param aCurrentSnapId  A TUint32 reference to be filled in with the
       
   559         *                       value of the SNAP ID.
       
   560         * @return               KErrNone if no error, or some of the system
       
   561         *                       wide error codes.
       
   562         */
       
   563         IMPORT_C TInt SnapIdL(TUint32& aCurrentSnapId); 
       
   564     protected:
       
   565         /**
       
   566         * Constructor.
       
   567         */
       
   568         IMPORT_C CSenTransportProperties();
       
   569         
       
   570     private:
       
   571         TInt iFileAttachmentNum;        
       
   572     };
       
   573 
       
   574 #endif // SEN_TRANSPORT_PROPERTIES_H