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.
Public Member Functions | |
---|---|
~CObexFileObject() | |
IMPORT_C void | InitFromFileL(const TDesC &) |
IMPORT_C CObexFileObject * | NewL() |
IMPORT_C CObexFileObject * | NewL(const TDesC &) |
Private Member Functions | |
---|---|
void | ConstructL(const TDesC &) |
const TDesC & | DataFile() |
TInt | DataSize() |
void | GetData(TInt, TDes8 &) |
void | NewData(TInt, TDes8 &) |
void | QueryTempFilePath(TDes &) |
TBool | RenameFile(const TDesC &) |
void | ResetData() |
void | SetDataFileL(const TDesC &) |
void | SetTempFilePath(const TDesC &) |
Inherited Enumerations | |
---|---|
CObexBaseObject:TProgress |
Private Attributes | |
---|---|
TParse | iDataFile |
RFile | iFile |
RFs | iFs |
TBuf< KObexObjectDescriptionSize > | iTempFilePath |
void | ConstructL | ( | const TDesC & | aDataFile | ) | [private] |
Constructs this object.
const TDesC & aDataFile | The file to use for the object's data part. |
void | GetData | ( | TInt | aPos, |
TDes8 & | aDes | |||
) | [private, virtual] |
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.
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.
const TDesC & aFile | Body data file |
void | NewData | ( | TInt | aPos, |
TDes8 & | aDes | |||
) | [private, virtual] |
Virtual pure function overload. inserts aDes into the data file at location aPos
IMPORT_C CObexFileObject * | NewL | ( | ) | [static] |
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.
IMPORT_C CObexFileObject * | NewL | ( | const TDesC & | aDataFile | ) | [static] |
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.
const TDesC & aDataFile | Filename to configure this object to use |
TBool | RenameFile | ( | const TDesC & | aDesC | ) | [private] |
const TDesC & aDesC |
void | SetDataFileL | ( | const TDesC & | aDesc | ) | [private] |
Sets the name of a file which holds the data to be used as the objects body. Leaves if the file does not exist, or can not be opened for writing.
const TDesC & aDesc | Filename to configure this object to use |
void | SetTempFilePath | ( | const TDesC & | aPath | ) | [private] |
const TDesC & aPath |
TBuf< KObexObjectDescriptionSize > | iTempFilePath | [private] |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.