Location:
obexobjects.h
Link against: obex.lib
class CObexFileObject : public CObexBaseObject;
This class is a concrete derivation of the CObexBaseObject
class. Use it to store and transfer OBEX objects with the body part stored in an EPOC file. Hence this class is particularly
suited to OBEX "file" beaming applications (c.f. arbitrary object beaming), although there is in reality no restriction in
what it is used to transfer. Access to the body is acheived through an additional attribute to the object; the data file.
This is the file-system name of the file used to store the body of the object. Note that there is no explicit relation between
this and the Name of the object, although it is expected that most applications would attempt to relate the two.
When ever a valid data file is set (i.e. DataFile()
.Length > 0), this file is effectively open, hence stopping any other application from opening it with exclusive rights. Therefore,
it is recommended that Reset () be called on the object as soon as it is no longer required, and definitely before (conceptually)
passing ownership of the data file to any other object or user.
CObexFileObject is also suited to situations where an object is expected to be received, but no information about the purpose of this object is known. This is due to CObexFileObject’s ability to create temporary files "on the fly" to store received data into, when a specific file is not provided by the application.
This class is not designed for user derivation.
CBase
- Base class for all classes to be instantiated on the heap
CObexBaseObject
- Objects of this class are used to describe the objects to be transferred and those received via Obex
CObexFileObject
- This class is a concrete derivation of the
Defined in CObexFileObject
:
DataSize()
, GetData()
, InitFromFileL()
, NewData()
, NewL()
, NewL()
, ResetData()
, ~CObexFileObject()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
Inherited from CObexBaseObject
:
AddHeaderL()
,
AddHttpL()
,
AppParam()
,
BytesReceived()
,
BytesSent()
,
Description()
,
EComplete
,
EContinue
,
EError
,
ELastPacket
,
HeaderMask()
,
HeaderSet()
,
Http()
,
Length()
,
Name()
,
Reset()
,
SetAppParamL()
,
SetDescriptionL()
,
SetHeaderMask()
,
SetLengthL()
,
SetNameL()
,
SetTargetL()
,
SetTimeL()
,
SetTypeL()
,
TProgress
,
Target()
,
Time()
,
Type()
,
ValidHeaders()
static IMPORT_C CObexFileObject *NewL();
Creates a new CObexFileObject object. Static file object factory. returns a new CObexFileObject, set up to use a temporary file to store received data into "on the fly". If used for sourcing an object to send a "NULL" object(body length 0) will be sent.
|
static IMPORT_C CObexFileObject *NewL(const TDesC &aDataFile);
Creates a new CObexFileObject object. Static file object factory. returns a new CObexFileObject, set up to use aDataFile as its data file, or will create a temp file if aDataFile is not a valid file name. If used for sourcing an object to send, and no valid data file is set, a "NULL" object(body length 0) will be sent.
|
|
IMPORT_C void InitFromFileL(const TDesC &aFile);
Initialises this object from the specified file.
The function attempts to set attribute values for the object as follows:
Length:set to the length of the file
Name:taken from the name portion of the path in aFile
Time
:taken from the modification time of the file
Type:set appropriately if the file extension is .vcf (VCard), .vcs (Vcalendar), or .txt.
|
private: virtual void GetData(TInt aPos, TDes8 &aDes);
Virtual pure function form the base object. Tries to fill aDes with data starting from aPos byte offset. returns null descriptor if no data file is set.
|
private: virtual void NewData(TInt aPos, TDes8 &aDes);
Virtual pure function overload. inserts aDes into the data file at location aPos
|
private: virtual TInt DataSize();
|
private: virtual void ResetData();
Set object back to a null file.