CSenTransportProperties Class Reference

class CSenTransportProperties : public CSenXmlProperties

Inherits from

Public Member Functions
~CSenTransportProperties ()
IMPORT_C void ApplyBindingL ( TSOAPVersion )
IMPORT_C HBufC8 * AsUtf8L ()
IMPORT_C HBufC8 * AsUtf8LC ()
IMPORT_C TInt BoolPropertyL (const TDesC8 &, TBool &)
IMPORT_C MSenProperties * Clone ( TInt &)
IMPORT_C MSenProperties * CloneL ()
IMPORT_C TInt DeviceIDL ( TPtrC8 &)
IMPORT_C TInt DownloadFolderL ( TPtrC8 &)
IMPORT_C TInt EndpointResourceL ( TPtrC8 &)
IMPORT_C TInt FileAttachmentL (const TDesC8 &, HBufC8 *&)
IMPORT_C TInt HeartbeatL ( TInt &)
IMPORT_C TInt IapIdL ( TUint32 &)
IMPORT_C TInt IntPropertyL (const TDesC8 &, TInt &)
IMPORT_C TBool IsSafeToCast (TSenPropertiesClassType)
IMPORT_C TInt MaxTimeToLiveL ( TInt &)
IMPORT_C TInt MessageIdL ( TPtrC8 &)
IMPORT_C TInt MinTimeToLiveL ( TInt &)
IMPORT_C TInt MwsNamespaceL ( TPtrC8 &)
IMPORT_C CSenTransportProperties * NewL ()
IMPORT_C CSenTransportProperties * NewL (const TDesC8 &, CSenXmlReader &)
IMPORT_C CSenTransportProperties * NewL (const CSenElement &)
IMPORT_C CSenTransportProperties * NewLC ()
IMPORT_C CSenTransportProperties * NewLC (const TDesC8 &, CSenXmlReader &)
IMPORT_C CSenTransportProperties * NewLC (const CSenElement &)
IMPORT_C TInt OnewayMessageOnOffL ( TBool &)
IMPORT_C TSenPropertiesClassType PropertiesClassType ()
IMPORT_C TInt PropertyL (const TDesC8 &, TPtrC8 &)
IMPORT_C TInt PropertyL (const TDesC8 &, TPtrC8 &, TPtrC8 &)
IMPORT_C TInt ProxyHostL ( TPtrC8 &)
IMPORT_C TInt ProxyPortL ( TInt &)
IMPORT_C TInt ProxyUsageL ( TBool &)
IMPORT_C void ReadFromL (const TDesC8 &)
IMPORT_C TInt RemovePropertyL (const TDesC8 &)
IMPORT_C TInt SecureDialogL ( TBool &)
IMPORT_C TInt SetBoolPropertyL (const TDesC8 &, const TBool )
IMPORT_C void SetDeviceIDL (const TDesC8 &)
IMPORT_C void SetDownloadFolderL (const TDesC8 &)
IMPORT_C TInt SetEndpointResourceL (const TDesC8 &)
IMPORT_C TInt SetFileAttachmentL (const TDesC8 &, const TDesC8 &)
IMPORT_C TInt SetHeartbeatL ( TInt )
IMPORT_C void SetIapIdL ( TUint32 )
IMPORT_C TInt SetIntPropertyL (const TDesC8 &, const TInt )
IMPORT_C TInt SetMaxTimeToLiveL ( TInt )
IMPORT_C void SetMessageIdL (const TDesC8 &)
IMPORT_C TInt SetMinTimeToLiveL ( TInt )
IMPORT_C void SetMwsNamespaceL (const TDesC8 &)
IMPORT_C TInt SetOmittedL (const TDesC8 &, TBool )
IMPORT_C void SetOnewayMessageOnOffL ( TBool )
IMPORT_C TInt SetPropertyL (const TDesC8 &, const TDesC8 &)
IMPORT_C TInt SetPropertyL (const TDesC8 &, const TDesC8 &, const TDesC8 &)
IMPORT_C void SetProxyHostL (const TDesC8 &)
IMPORT_C void SetProxyPortL ( TInt )
IMPORT_C void SetProxyUsageL ( TBool )
IMPORT_C void SetReader ( CSenXmlReader &)
IMPORT_C void SetSecureDialogL ( TBool )
IMPORT_C void SetSnapIdL ( TUint32 )
IMPORT_C void SetSoapActionL (const TDesC8 &)
IMPORT_C void SetUserAgentL (const TDesC8 &)
IMPORT_C TInt SnapIdL ( TUint32 &)
IMPORT_C TInt SoapActionL ( TPtrC8 &)
IMPORT_C TInt UserAgentL ( TPtrC8 &)
IMPORT_C void WriteToL ( RWriteStream &)
Protected Member Functions
CSenTransportProperties ()
IMPORT_C void BaseConstructL (const TDesC8 &, const TDesC8 &, CSenXmlReader *)
IMPORT_C void BaseConstructL (const TDesC8 &, const TDesC8 &, const TDesC8 &, CSenXmlReader *)
IMPORT_C void BaseConstructL (const TDesC8 &, const TDesC8 &, const TDesC8 &, const TDesC8 &, CSenXmlReader *)
IMPORT_C void BaseConstructL (const CSenElement &)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CSenXmlProperties::CSenXmlProperties()
CSenXmlProperties::~CSenXmlProperties()
Private Attributes
TInt iFileAttachmentNum
Inherited Attributes
CSenXmlProperties::ipFragment
CSenXmlProperties::ipReader

Constructor & Destructor Documentation

CSenTransportProperties()

IMPORT_C CSenTransportProperties ( ) [protected]

Constructor.

~CSenTransportProperties()

IMPORT_C ~CSenTransportProperties ( ) [virtual]

Destructor.

Member Functions Documentation

ApplyBindingL(TSOAPVersion)

IMPORT_C void ApplyBindingL ( TSOAPVersion aSoapVersion ) [virtual]

Apply binding.

Parameters

TSOAPVersion aSoapVersion is the version of Soap (1.1 or 1.2).

AsUtf8L()

IMPORT_C HBufC8 * AsUtf8L ( ) [virtual]

AsUtf8LC()

IMPORT_C HBufC8 * AsUtf8LC ( ) [virtual]

BaseConstructL(const TDesC8 &, const TDesC8 &, CSenXmlReader *)

IMPORT_C void BaseConstructL ( const TDesC8 & aLocalname,
const TDesC8 & aXml,
CSenXmlReader * aParser = NULL
) [protected, virtual]

Parameters

const TDesC8 & aLocalname
const TDesC8 & aXml
CSenXmlReader * aParser = NULL

BaseConstructL(const TDesC8 &, const TDesC8 &, const TDesC8 &, CSenXmlReader *)

IMPORT_C void BaseConstructL ( const TDesC8 & aNamespace,
const TDesC8 & aLocalname,
const TDesC8 & aXml,
CSenXmlReader * aParser = NULL
) [protected, virtual]

Parameters

const TDesC8 & aNamespace
const TDesC8 & aLocalname
const TDesC8 & aXml
CSenXmlReader * aParser = NULL

BaseConstructL(const TDesC8 &, const TDesC8 &, const TDesC8 &, const TDesC8 &, CSenXmlReader *)

IMPORT_C void BaseConstructL ( const TDesC8 & aNamespace,
const TDesC8 & aLocalname,
const TDesC8 & aQualifiedName,
const TDesC8 & aXml,
CSenXmlReader * aParser = NULL
) [protected, virtual]

Parameters

const TDesC8 & aNamespace
const TDesC8 & aLocalname
const TDesC8 & aQualifiedName
const TDesC8 & aXml
CSenXmlReader * aParser = NULL

BaseConstructL(const CSenElement &)

IMPORT_C void BaseConstructL ( const CSenElement & aElement ) [protected, virtual]

Parameters

const CSenElement & aElement

BoolPropertyL(const TDesC8 &, TBool &)

IMPORT_C TInt BoolPropertyL ( const TDesC8 & aName,
TBool & aValue
) [virtual]

Parameters

const TDesC8 & aName
TBool & aValue

Clone(TInt &)

IMPORT_C MSenProperties * Clone ( TInt & aOkOrError ) const [virtual]

Parameters

TInt & aOkOrError

CloneL()

IMPORT_C MSenProperties * CloneL ( ) const [virtual]

DeviceIDL(TPtrC8 &)

IMPORT_C TInt DeviceIDL ( TPtrC8 & aDeviceID ) [virtual]

Gets the device ID

Parameters

TPtrC8 & aDeviceID A TPtrC8 reference to be filled in with the value of the Device ID.

DownloadFolderL(TPtrC8 &)

IMPORT_C TInt DownloadFolderL ( TPtrC8 & aDownloadFolder ) [virtual]

Gets download folder for incoming BLOB (binary large objects)

Parameters

TPtrC8 & aDownloadFolder - A TPtrC8 reference to be filled in with the value of the shared, public folder for downloaded content

EndpointResourceL(TPtrC8 &)

IMPORT_C TInt EndpointResourceL ( TPtrC8 & aEndpointResource ) [virtual]

Gets resource property value for endpoint

Parameters

TPtrC8 & aEndpointResource - is the suffix for endpoint

FileAttachmentL(const TDesC8 &, HBufC8 *&)

IMPORT_C TInt FileAttachmentL ( const TDesC8 & aCid,
HBufC8 *& aFileName
) [virtual]

Gets filename of file attachment

Parameters

const TDesC8 & aCid - cid for filename
HBufC8 *& aFileName - filename of file attachment with current cid

HeartbeatL(TInt &)

IMPORT_C TInt HeartbeatL ( TInt & aDelta ) [virtual]

Gets the (connection) heartbeat property value as int.

Parameters

TInt & aDelta A TInt reference to be filled in with the value of the heartbeat (in seconds). Positive value means that a heartbeat messages are sent to backend, keeping the socket connection open (longlived connection). Keeping heartbeat may be costy, but increases performance in scenarios, where multiple network transactions take place within short period (time window).

IapIdL(TUint32 &)

IMPORT_C TInt IapIdL ( TUint32 & aCurrentIapId ) [virtual]

Gets the IAP ID.

Parameters

TUint32 & aCurrentIapId A TUint32 reference to be filled in with the value of the IAP ID.

IntPropertyL(const TDesC8 &, TInt &)

IMPORT_C TInt IntPropertyL ( const TDesC8 & aName,
TInt & aValue
) [virtual]

Parameters

const TDesC8 & aName
TInt & aValue

IsSafeToCast(TSenPropertiesClassType)

IMPORT_C TBool IsSafeToCast ( TSenPropertiesClassType aClass ) [virtual]

Parameters

TSenPropertiesClassType aClass

MaxTimeToLiveL(TInt &)

IMPORT_C TInt MaxTimeToLiveL ( TInt & aMaxTTL ) [virtual]

Gets the (connection) max TTL property value as int.

SetHeartbeatL(TInt aDelta)

Parameters

TInt & aMaxTTL A TInt reference to be filled in with the value of the max TTL (in seconds).

MessageIdL(TPtrC8 &)

IMPORT_C TInt MessageIdL ( TPtrC8 & aMessageId ) [virtual]

Gets message ID

Parameters

TPtrC8 & aMessageId - is the id of the message

MinTimeToLiveL(TInt &)

IMPORT_C TInt MinTimeToLiveL ( TInt & aMinTTL ) [virtual]

Gets the (connection) min TTL property value as int.

SetHeartbeatL(TInt aDelta)

Parameters

TInt & aMinTTL A TInt reference to be filled in with the value of the min TTL (in seconds).

MwsNamespaceL(TPtrC8 &)

IMPORT_C TInt MwsNamespaceL ( TPtrC8 & aMwsNamespace ) [virtual]

Gets namespace of Microsoft schema

Parameters

TPtrC8 & aMwsNamespace - namespace

NewL()

IMPORT_C CSenTransportProperties * NewL ( ) [static]

Basic constructor.

NewL(const TDesC8 &, CSenXmlReader &)

IMPORT_C CSenTransportProperties * NewL ( const TDesC8 & aXmlUtf8,
CSenXmlReader & aParser
) [static]

Basic constructor.

Parameters

const TDesC8 & aXmlUtf8
CSenXmlReader & aParser It is a XML reader

NewL(const CSenElement &)

IMPORT_C CSenTransportProperties * NewL ( const CSenElement & aElement ) [static]

Basic constructor.

Parameters

const CSenElement & aElement

NewLC()

IMPORT_C CSenTransportProperties * NewLC ( ) [static]

Basic constructor.

NewLC(const TDesC8 &, CSenXmlReader &)

IMPORT_C CSenTransportProperties * NewLC ( const TDesC8 & aXmlUtf8,
CSenXmlReader & aParser
) [static]

Basic constructor.

Parameters

const TDesC8 & aXmlUtf8
CSenXmlReader & aParser It is a XML reader

NewLC(const CSenElement &)

IMPORT_C CSenTransportProperties * NewLC ( const CSenElement & aElement ) [static]

Basic constructor.

Parameters

const CSenElement & aElement

OnewayMessageOnOffL(TBool &)

IMPORT_C TInt OnewayMessageOnOffL ( TBool & aOnewayMessageOnOff ) [virtual]

Gets one-way message mode.

Parameters

TBool & aOnewayMessageOnOff

PropertiesClassType()

IMPORT_C TSenPropertiesClassType PropertiesClassType ( ) [virtual]

PropertyL(const TDesC8 &, TPtrC8 &)

IMPORT_C TInt PropertyL ( const TDesC8 & aName,
TPtrC8 & aValue
) [virtual]

Parameters

const TDesC8 & aName
TPtrC8 & aValue

PropertyL(const TDesC8 &, TPtrC8 &, TPtrC8 &)

IMPORT_C TInt PropertyL ( const TDesC8 & aName,
TPtrC8 & aValue,
TPtrC8 & aType
) [virtual]
Gets the value of the property behind certain name.
Since
Series60

Parameters

const TDesC8 & aName The name identifying this property.
TPtrC8 & aValue A TPtrC8 reference to be filled in with the value of the property.
TPtrC8 & aType A TPtrC8 reference to be filled in with the type of the property.

ProxyHostL(TPtrC8 &)

IMPORT_C TInt ProxyHostL ( TPtrC8 & aProxyHost ) [virtual]

Gets the Proxy Host.

Parameters

TPtrC8 & aProxyHost A TPtrC8 reference to be filled in with the value of the Proxy Host.

ProxyPortL(TInt &)

IMPORT_C TInt ProxyPortL ( TInt & aProxyPort ) [virtual]

Gets the Proxy Port.

Parameters

TInt & aProxyPort A TInt reference to be filled in with the value of the Proxy Port.

ProxyUsageL(TBool &)

IMPORT_C TInt ProxyUsageL ( TBool & aProxyUsage ) [virtual]

Gets the Proxy Usage flag.

Parameters

TBool & aProxyUsage A TBool reference to be filled in with the value of the Proxy Usage.

ReadFromL(const TDesC8 &)

IMPORT_C void ReadFromL ( const TDesC8 & aBuffer ) [virtual]

Parameters

const TDesC8 & aBuffer

RemovePropertyL(const TDesC8 &)

IMPORT_C TInt RemovePropertyL ( const TDesC8 & aName ) [virtual]

Parameters

const TDesC8 & aName

SecureDialogL(TBool &)

IMPORT_C TInt SecureDialogL ( TBool & aSecureDialog ) [virtual]

Gets the information if SecureDialog is shown or not.

Parameters

TBool & aSecureDialog

SetBoolPropertyL(const TDesC8 &, const TBool)

IMPORT_C TInt SetBoolPropertyL ( const TDesC8 & aName,
const TBool aValue
) [virtual]

MSenProperties Leave codes: KErrSenInvalidCharacters if aName contains illegal characters. KErrSenZeroLengthDescriptor if aName is zero length.

Parameters

const TDesC8 & aName
const TBool aValue

SetDeviceIDL(const TDesC8 &)

IMPORT_C void SetDeviceIDL ( const TDesC8 & aDeviceID ) [virtual]

Sets the Device ID.

Parameters

const TDesC8 & aDeviceID is the new Device ID.

SetDownloadFolderL(const TDesC8 &)

IMPORT_C void SetDownloadFolderL ( const TDesC8 & aDownloadFolder ) [virtual]

Sets download folder for incoming BLOB (binary large objects)

Parameters

const TDesC8 & aDownloadFolder shared, public folder for downloaded content

SetEndpointResourceL(const TDesC8 &)

IMPORT_C TInt SetEndpointResourceL ( const TDesC8 & aEndpointResource ) [virtual]

Sets resource property value for endpoint

Parameters

const TDesC8 & aEndpointResource - is the suffix for endpoint

SetFileAttachmentL(const TDesC8 &, const TDesC8 &)

IMPORT_C TInt SetFileAttachmentL ( const TDesC8 & aCid,
const TDesC8 & aFileName
) [virtual]

Sets filename of file attachment

Parameters

const TDesC8 & aCid - cid for filename
const TDesC8 & aFileName - filename of file attachment with current cid

SetHeartbeatL(TInt)

IMPORT_C TInt SetHeartbeatL ( TInt aDelta ) [virtual]

Sets the (connection) heartbeat property value as int. Note, that with some transports, like vTCP, the heartbeat can also be used to control connection modes (longlive vs. shortlive connection). Hertbeat value is called also as delta.

Together with delta You can also set parameters Min & Max TTL Long and short connection is set in different way, below guider.

To setup longlive connection: delta : user defined min TTL : If not specified then the default value of 90 sec will be used max TTL : If not specified then the default value 1800 sec will be used

To setup shortlive connection: delta : -1 min TTL : If not specified then the default value of 90 sec will be used max TTL : ignored

So, providing a negative value (-1) can be utilized to disable heartbeat and to switch the connection mode to a short lived state. With vTCP transport, if heartbeat of -1 is set, the socket will be kept open only for effective timeout value (shortlived),

Parameters

TInt aDelta TInt reference to be filled in with the value of the heartbeat (in seconds)

SetIapIdL(TUint32)

IMPORT_C void SetIapIdL ( TUint32 aIapId ) [virtual]

Sets the IAP ID.

Parameters

TUint32 aIapId is the new IAP ID.

SetIntPropertyL(const TDesC8 &, const TInt)

IMPORT_C TInt SetIntPropertyL ( const TDesC8 & aName,
const TInt aValue
) [virtual]

MSenProperties Leave codes: KErrSenInvalidCharacters if aName contains illegal characters. KErrSenZeroLengthDescriptor if aName is zero length.

Parameters

const TDesC8 & aName
const TInt aValue

SetMaxTimeToLiveL(TInt)

IMPORT_C TInt SetMaxTimeToLiveL ( TInt aMaxTTL ) [virtual]

Sets the (connection) Max TTL for longlive connection.

SetHeartbeatL(TInt aDelta)

Parameters

TInt aMaxTTL TInt reference to be filled in with the value of the max TTL (in seconds)

SetMessageIdL(const TDesC8 &)

IMPORT_C void SetMessageIdL ( const TDesC8 & aMessageId ) [virtual]

Sets message ID. Typically, this property is set per each message, instead of applying the same message ID for whole consumer session (service connection)

Parameters

const TDesC8 & aMessageId

SetMinTimeToLiveL(TInt)

IMPORT_C TInt SetMinTimeToLiveL ( TInt aMinTTL ) [virtual]

Sets the (connection) Min TTL

SetHeartbeatL(TInt aDelta)

Parameters

TInt aMinTTL

SetMwsNamespaceL(const TDesC8 &)

IMPORT_C void SetMwsNamespaceL ( const TDesC8 & aMwsNamespace ) [virtual]

Sets namespace of Microsoft schema

Parameters

const TDesC8 & aMwsNamespace - namespace

SetOmittedL(const TDesC8 &, TBool)

IMPORT_C TInt SetOmittedL ( const TDesC8 & aName,
TBool aValue
) [virtual]

Parameters

const TDesC8 & aName
TBool aValue

SetOnewayMessageOnOffL(TBool)

IMPORT_C void SetOnewayMessageOnOffL ( TBool aOnewayMessageOnOff ) [virtual]

Sets the one-way message mode on/off. Typically, one-way messages are rarely used by default: instead, a request- response pair (consumer[request]<->[response]provider) transaction takes place. However, if one-way message mode is enabled, sending such message will typically result immediate callback from the transport (plug-in) itself. This means, that the actual service response from the provider is not being waited. Common use case to enable one-way message is when service connection is used in transmitting *responses* to notification request(s) that some remote consumer (from outside device) has sent earlier. Such notification requests may thus be received via hostlet connection (hc), and by enabling one-way message, once can reply via service connection, instead of calling hc->RespondL method. Furthermore, application might wish to enable one-way message mode to hostlet connection, if it is not interested of replying to these two-way notifications via hostlet connection, but wishes to use service connection instead.

Parameters

TBool aOnewayMessageOnOff is the new value of one-way message mode.

SetPropertyL(const TDesC8 &, const TDesC8 &)

IMPORT_C TInt SetPropertyL ( const TDesC8 & aName,
const TDesC8 & aValue
) [virtual]

MSenProperties Leave codes: KErrSenInvalidCharacters if aName contains illegal characters. KErrSenZeroLengthDescriptor if aName is zero length.

Parameters

const TDesC8 & aName
const TDesC8 & aValue

SetPropertyL(const TDesC8 &, const TDesC8 &, const TDesC8 &)

IMPORT_C TInt SetPropertyL ( const TDesC8 & aName,
const TDesC8 & aValue,
const TDesC8 & aType
) [virtual]

Sets new property.

If property with given name does not exist, new property with given value will be added. Otherwise the value of existing property will be updated.

Since
Series60

Parameters

const TDesC8 & aName Name of the property, which can be later used to refer the given value.
const TDesC8 & aValue Is the value of this property.
const TDesC8 & aType Is the type of this property.

SetProxyHostL(const TDesC8 &)

IMPORT_C void SetProxyHostL ( const TDesC8 & aProxyHost ) [virtual]

Sets the Proxy Host.

Parameters

const TDesC8 & aProxyHost is the new Proxy Host.

SetProxyPortL(TInt)

IMPORT_C void SetProxyPortL ( TInt aProxyPort ) [virtual]

Sets the Proxy Port.

Parameters

TInt aProxyPort is the new Proxy Port.

SetProxyUsageL(TBool)

IMPORT_C void SetProxyUsageL ( TBool aProxyUsage ) [virtual]

Sets the Proxy Usage flag.

Parameters

TBool aProxyUsage is the new value for Proxy Usage.

SetReader(CSenXmlReader &)

IMPORT_C void SetReader ( CSenXmlReader & aReader ) [virtual]

Parameters

CSenXmlReader & aReader

SetSecureDialogL(TBool)

IMPORT_C void SetSecureDialogL ( TBool aSecureDialog ) [virtual]

Sets the flag which controls showing of SecureDialog.

Parameters

TBool aSecureDialog is the new value for SecureDialog flag.

SetSnapIdL(TUint32)

IMPORT_C void SetSnapIdL ( TUint32 aSnapId )

Sets the SNAP ID.

Parameters

TUint32 aSnapId is the new SNAP ID.

SetSoapActionL(const TDesC8 &)

IMPORT_C void SetSoapActionL ( const TDesC8 & aAction ) [virtual]

Sets the Action.

Parameters

const TDesC8 & aAction is the new Soap Action.

SetUserAgentL(const TDesC8 &)

IMPORT_C void SetUserAgentL ( const TDesC8 & aUserAgent ) [virtual]

Sets the UserAgent.

Parameters

const TDesC8 & aUserAgent is the new User Agent.

SnapIdL(TUint32 &)

IMPORT_C TInt SnapIdL ( TUint32 & aCurrentSnapId )

Gets the SNAP ID.

Parameters

TUint32 & aCurrentSnapId A TUint32 reference to be filled in with the value of the SNAP ID.

SoapActionL(TPtrC8 &)

IMPORT_C TInt SoapActionL ( TPtrC8 & aAction ) [virtual]

Gets the Action of message

Parameters

TPtrC8 & aAction A TPtrC8 reference to be filled in with the value of the Action.

UserAgentL(TPtrC8 &)

IMPORT_C TInt UserAgentL ( TPtrC8 & aUserAgent ) [virtual]

Gets the information if IAPDialog is shown or not.

Parameters

TPtrC8 & aUserAgent A TPtrC8 reference to be filled in with the value of the UserAgent.

WriteToL(RWriteStream &)

IMPORT_C void WriteToL ( RWriteStream & aWriteStream ) [virtual]

Parameters

RWriteStream & aWriteStream

Member Data Documentation

TInt iFileAttachmentNum

TInt iFileAttachmentNum [private]