TMsvServerStoreManager Class Reference

class TMsvServerStoreManager : public MMsvStoreManager

Provides implementation of the File Access APIs at the server-side. This class has direct access to the Message store, unlike the client version of it. This can be used by the server side classed to access the store and attachment entries.

MMsvStoreManager , TMsvServerStoreManager implements MMsvStoreManager

Inherits from

Constructor & Destructor Documentation

TMsvServerStoreManager()

TMsvServerStoreManager ( )

Member Functions Documentation

AttachmentFilePathL(TMsvId, TDes &)

void AttachmentFilePathL ( TMsvId aEntryId,
TDes & aFilePath
) [virtual]

Queries the message server for the file path where attachments are stored for the a particular message entry.

Parameters

TMsvId aEntryId The message entry for which the attachment path is required.
TDes & aFilePath On return, this will be set to the file path where the attachment should be stored.

BodyTextFilePathL(TMsvId, TDes &)

void BodyTextFilePathL ( TMsvId aBodyTextId,
TDes & aFilePath
) [virtual]

Gets the path for the file in message store for which the message Id is passed.

Parameters

TMsvId aBodyTextId The Id of the body text for which the path is required.
TDes & aFilePath

CheckFileNameLengthAndTrimL(const TDesC &, TDes &)

TBool CheckFileNameLengthAndTrimL ( const TDesC & aFilePath,
TDes & aFileName
) [private]

Checks if the filename length is greater than KMaxFileName(256)

If the filename is greater than KMaxFileName then it truncates the filename

Parameters

const TDesC & aFilePath file path where the file is being created.
TDes & aFileName name of the file whose length if being checked.

CreateAttachmentForWriteL(TMsvId, TDes &, RFile &)

TBool CreateAttachmentForWriteL ( TMsvId aEntryId,
TDes & aFilename,
RFile & aFile
) [virtual]

Allows clients to create a new empty file and allows clients to stream data to it.

Creates a new attachment file in the message store for the message entry specified by the aEntryId parameter. The attachment filename is set to the filename indicated by the aFilename parameter. The empty attachment file is passed back to the client using an opened file handle to the file in the message store.

leave
KErrAlreadyexists, if the file with the same name already existed the directory.

Parameters

TMsvId aEntryId The entry for which an attachment needs to be created in the message store
TDes & aFilename The name of the attachment file to be created
RFile & aFile On return, The created file handle for the attachment file.The ownership is transferred . The caller must close the file handle.

CreateAttachmentL(TMsvId, TDes &, RFile &, RFs &, TBool)

TBool CreateAttachmentL ( TMsvId aEntryId,
TDes & aFilename,
RFile & aFile,
RFs & aFs,
TBool aSharedAccess = EFalse
) [private]

Parameters

TMsvId aEntryId
TDes & aFilename
RFile & aFile
RFs & aFs
TBool aSharedAccess = EFalse

CreatePlainTextFileL(RFile &, TMsvId)

void CreatePlainTextFileL ( RFile & aFile,
TMsvId aBodyTextId
) [virtual]

Creates the RFile in the aFilepath is passed.

Parameters

RFile & aFile
TMsvId aBodyTextId The Id of the bodytext.

CreateShareProtectedAttachmentForWriteL(TMsvId, TDes &, RFile &)

TBool CreateShareProtectedAttachmentForWriteL ( TMsvId aEntryId,
TDes & aFilename,
RFile & aFile
) [virtual]

Creates an Attachment using a ShareProtected RFs.Used in the case when a message contains a DRM attachment

leave
KErrAlreadyexists, if the file with the same name already existed the directory.

Parameters

TMsvId aEntryId The entry for which an attachment needs to be created in the message store
TDes & aFilename The name of the attachment file to be created
RFile & aFile On return, The created file handle for the attachment file.The ownership is transferred . The caller must close the file handle.

DeleteAttachment(TMsvId, const TDesC &)

TInt DeleteAttachment ( TMsvId aEntryId,
const TDesC & aFilePath
) [virtual]

Allow clients to delete existing attachment files.

Deletes an existing attachment file in the message store associated with the message entry specified by the aEntryId parameter. The attachment is identified by the file path specified by the aFilePath parameter.

Parameters

TMsvId aEntryId The entry whose attachment needs to be deleted from the message store
const TDesC & aFilePath The name and path of the attachment file to be deleted

DeleteFileStoreL(TMsvId)

void DeleteFileStoreL ( TMsvId aEntryId ) [virtual]

Deletes the store file associated with the message entry as specified by the aEntryId. Also attempts to delete the temporary store file if one exists.

Parameters

TMsvId aEntryId The entry whose store needs to be deleted

DeletePlainTextFileL(TMsvId)

void DeletePlainTextFileL ( TMsvId aBodyTextId ) [virtual]

Deletes the RFile in the aFilepath passed.

Parameters

TMsvId aBodyTextId The Id of the bodytext.

FileExistsL(const TDesC &)

TBool FileExistsL ( const TDesC & aFilePath ) [virtual]

Check if an attachment file with the given path and name already exists.

Parameters

const TDesC & aFilePath The full path specification of the file.

FileStoreExistsL(TMsvId)

TBool FileStoreExistsL ( TMsvId aEntryId ) const [virtual]

Queries the message server to check if a store file exists for the message entry specified by the aEntryId parameter.

Parameters

TMsvId aEntryId The entry for whom the check for existance of store is being done

GenerateFileNameIfExistsL(TDes &)

TBool GenerateFileNameIfExistsL ( TDes & aFileName ) [private]

Parameters

TDes & aFileName

GetFilePath(TMsvId, TFileName &)

TInt GetFilePath ( TMsvId aEntryId,
TFileName & aDirectory
) const [private]

Gets the filepath for the storage of binary files associated with the context

If the directory specified in the context does not exist, it is created.

Parameters

TMsvId aEntryId index id of the entry whose filepath is requested
TFileName & aDirectory On return, contains the binary file directory path

GetOwningServiceAndFilePath(TMsvId, TDes &, TMsvId &)

void GetOwningServiceAndFilePath ( TMsvId aEntryId,
TDes & aFilePath,
TMsvId & aOwningService
) const [private]

Parameters

TMsvId aEntryId
TDes & aFilePath
TMsvId & aOwningService

GetStoreFileName(TMsvId, TFileName &)

void GetStoreFileName ( TMsvId aEntryId,
TFileName & aFileName
) const [private]

Gets the filestore name associated with the context

Parameters

TMsvId aEntryId Index id of the entry whose store filename is requested
TFileName & aFileName On return, contains the store file name for the context

OpenAttachmentForWriteL(TMsvId, const TDesC &, RFile &)

void OpenAttachmentForWriteL ( TMsvId aEntryId,
const TDesC & aFilePath,
RFile & aFile
) [virtual]

Allows clients to open an attachment file for writing.

Opens an existing attachment file in the message associated with the message entry specified by the aEntryId parameter. The attachment is identified by the file path specified by the aFilePath parameter. The attachment file is returned as a read/write file handle to the file in the message store.

Parameters

TMsvId aEntryId The entry whose attachment needs to be opened/read from the message store
const TDesC & aFilePath The name and path of the attachment file to be opened
RFile & aFile On return, The opened file handle for the attachment file.The ownership is transferred . The caller must close the file handle.

OpenAttachmentL(TMsvId, const TDesC &, RFile &)

void OpenAttachmentL ( TMsvId aEntryId,
const TDesC & aFilePath,
RFile & aFile
) [virtual]

Allows clients to view attachment files.

Opens an existing attachment file in the message associated with the message entry specified by the aEntryId parameter. The attachment is identified by the file path specified by the aFilePath parameter. The attachment file is returned as a read-only file handle to the file in the message store.

Parameters

TMsvId aEntryId The entry whose attachment needs to be opened/read from the message store
const TDesC & aFilePath The name and path of the attachment file to be opened
RFile & aFile On return, The opened file handle for the attachment file.The ownership is transferred . The caller must close the file handle.

OpenBodyTextFileForReadL(RFile &, TMsvId, const TDesC &)

void OpenBodyTextFileForReadL ( RFile & aFile,
TMsvId aBodyTextId,
const TDesC & aFilePath
) [virtual]

Opens the RFile for which the aFilepath is passed in read mode.

Parameters

RFile & aFile
TMsvId aBodyTextId The Id of the bodytext.
const TDesC & aFilePath

OpenFileStoreForRead(TMsvId, RFile &)

TInt OpenFileStoreForRead ( TMsvId aEntryId,
RFile & aFile
) [virtual]

Allows the message store classes to read the store file for a particular message entry.

Opens a message store file associated with the message entry specified by the aEntryId parameter. This method returns an open read-only file handle to the message store file.

leave
KErrNotFound if file is not found else any of the system wide errors

Parameters

TMsvId aEntryId The entry whose store needs to be opened/read
RFile & aFile On return, The opened file hanlde to the store . The ownership is transferred . The caller must close the file handle.

OpenTempStoreFileL(TMsvId, RFile &)

void OpenTempStoreFileL ( TMsvId aEntryId,
RFile & aFile
) [virtual]

Opens a temporary store file associated with the message entry specified by the aEntryId parameter. This method returns an open read-write file handle with an exclusive share to the temporary store file. The temporary store file is defined as <store_filename>.new. Data can be streamed to the temporary store file. It is expected that once the temporary store file has been written to and then closed, a call to ReplaceFileStoreL is required to replace the old store file with this temporary one.

Along with ReplaceFileStoreL, this method allows the message store classes to write data to the store file for a particular message entry.

Parameters

TMsvId aEntryId The entry whose store needs to be opened/read
RFile & aFile On return, The opened file hanlde to the store . The ownership is transferred . The caller must close the file handle.

RenameAttachment(TMsvId, const TDesC &, const TDesC &)

TInt RenameAttachment ( TMsvId aEntryId,
const TDesC & aOldFilePath,
const TDesC & aNewName
) [virtual]

Renames an existing attachment file.

Renames an existing attachment file in the message store associated with the message entry specified by the aEntryId parameter. The attachment is identified by the file path specified by the aOldFilePath parameter and renamed to the name supplied in the aNewName paramter.

Parameters

TMsvId aEntryId The entry whose attachment needs to be renamed from the message store
const TDesC & aOldFilePath The name and path of the attachment file to be renamed.
const TDesC & aNewName The new name of the attachment file.

ReplaceAttachmentForWriteL(TMsvId, TDes &, RFile &)

void ReplaceAttachmentForWriteL ( TMsvId aEntryId,
TDes & aFilename,
RFile & aFile
) [virtual]

Allows clients to replace an existing attachment file and allows clients to stream data to it.

Replaces an existing attachment file in the message store for the message entry specified by the aEntryId parameter. The attachment filename is set to the filename indicated by the aFilename parameter. If an attachment with the supplied name does not exist, a new file is created. The empty attachment file is passed back to the client using an opened file handle to the file in the message store.

Parameters

TMsvId aEntryId The entry for which an attachment needs to be created in the message store
TDes & aFilename The name of the attachment file to be created
RFile & aFile On return, The created file handle for the attachment file.The ownership is transferred . The caller must close the file handle.

ReplaceFileStoreL(TMsvId)

void ReplaceFileStoreL ( TMsvId aEntryId ) [virtual]

Replaces the current store file with the temporary store file, created from OpenTempStoreFileL, for the message entry as specified by the aEntryId parameter. The method replaces the store file with the temporary file (<store_filename.new>) and if successful, will then delete the temporary store file. This method assumes that the temporary file exists, otherwise a KErrNotFound error occurs.

Along with OpenTempStoreFileL, this method allows the message store classes to write data to the store file for a particular message entry.

Parameters

TMsvId aEntryId The entry whose store needs to be replaced/overwritten

ReplacePlainTextFileL(TMsvId)

void ReplacePlainTextFileL ( TMsvId aBodyTextId ) [virtual]

Replaces a temporary RFile with a new RFile .

Parameters

TMsvId aBodyTextId The Id of the bodytext.

SetMsvServerAndFileSession(CMsvServer &, RFs &)

void SetMsvServerAndFileSession ( CMsvServer & aMsvServer,
RFs & aFs
)

Parameters

CMsvServer & aMsvServer
RFs & aFs

Member Data Documentation

RFs * iFs

RFs * iFs [private]

CMsvServer * iMsvServer

CMsvServer * iMsvServer [private]