--- a/shortlinkconn_plat/obex_service_utils_api/inc/obexutilsmessagehandler.h Thu Aug 19 10:46:39 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,479 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef OBEXUTILSMESSAGEHANDLER_H
-#define OBEXUTILSMESSAGEHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <e32cmn.h>
-#include <obex.h>
-#include <msvapi.h>
-
-#include <cmsvattachment.h>
-#include <biodb.h>
-
-// CLASS DECLARATION
-
-/**
-* Utility methods for message handling.
-*/
-class TObexUtilsMessageHandler
- {
- public:
-
- /**
- * Get status of file system. (in C drive)
- * @return Symbian OS errorcode
- */
- IMPORT_C static TInt GetFileSystemStatus();
-
- /**
- * Get status of file system in MMC.
- * @return Symbian OS errorcode
- */
- IMPORT_C static TInt GetMmcFileSystemStatus();
-
- /**
- * Get current message centre drive
- * @return Drive unit of the message centre drive
- */
- IMPORT_C static TInt GetMessageCentreDriveL();
-
- /**
- * Creates default Mtm service
- * @param aMtm Mtm
- */
- IMPORT_C static void CreateDefaultMtmServiceL(TUid aMtm);
-
- /**
- * Saves received object to Inbox.
- * @param aReceivedObject The object to be saved.
- * @param aDrive The current messaging drive.
- * @param aMtmID The message type module id.
- * @return None.
- */
- IMPORT_C static void SaveObjToInboxL( CObexBufObject* aReceivedObject,
- const TDesC16& aPath,
- const TUid aMtmID );
-
- /**
- * Creates an Outbox entry
- * @param aMTm Message type id
- * @param aResourceID Resource id for the message entry text
- * @return Message server entry.
- */
- IMPORT_C static TMsvId CreateOutboxEntryL( const TUid& aMtm, const TInt& aResourceID );
-
- /**
- * Deletes an Outbox entry
- * @param aMessageServerIndex Message server entry
- * @return None.
- */
- IMPORT_C static void DeleteOutboxEntryL( const TMsvId& aMessageServerIndex );
-
- /**
- * Create inbox attachment and entries.
- * @param aBufObject The object to be saved
- * @param aMtmId MTM Id
- * @param aMsvIdParent Parent message entry (returned)
- * @param aFile File to the attachment (returned)
- * @return None.
- */
- IMPORT_C static void CreateInboxAttachmentL(
- CObexBufObject* &aBufObject,
- const TUid aMtmId,
- TMsvId &aMsvIdParent,
- RFile &aFile);
-
- /**
- * Create inbox attachment and entries.
- * @param aBufObject The object to be saved
- * @param aMtmId MTM Id
- * @param aMsvIdParent Parent message entry (returned)
- * @param aFile File to the attachment (returned)
- * @param aRemoteBluetoothName sender's bluetooth name.
- * @return None.
- */
- IMPORT_C static void CreateInboxAttachmentL(
- CObexBufObject* &aBufObject,
- const TUid aMtmId,
- TMsvId &aMsvIdParent,
- RFile &aFile,
- const TDesC& aRemoteBluetoothName);
-
- /**
- * Saves received object to Inbox.
- * @param aReceivedObject The object to be saved (set to null after remove).
- * @param aFile File to the attachment
- * @param aMsvIdParent Parent message entry
- * @return None.
- */
- IMPORT_C static void SaveObjToInboxL(
- CObexBufObject* &aReceivedObject,
- RFile &aFile,
- TMsvId aMsvIdParent);
-
- /**
- * Remove unfinished work from inbox
- * @param aBufObject The object to be saved (set to null after remove)
- * @param aMsvIdParent Parent message entry
- * @return None.
- */
- IMPORT_C static void RemoveInboxEntriesL(CObexBufObject* &aBufObject, TMsvId aMsvIdParent);
-
- /**
- * Gets central repository key's integer value
- * @param aRepositoryUid Central repository's UID value
- * @param aId Central repository's ID value
- * @param aVal Returned integer value
- * @return Symbian OS errorcode
- */
- IMPORT_C static TInt GetCenRepKeyIntValueL(TUid aRepositoryUid, TUint32 aId, TInt& aVal);
-
- /**
- * Gets central repository key's string value
- * @param aRepositoryUid Central repository's UID value
- * @param aId Central repository's ID value
- * @param aVal Returned string value
- * @return Symbian OS errorcode
- */
-
- IMPORT_C static TInt GetCenRepKeyStringValueL(TUid aRepositoryUid, TUint32 aId, TDes& aVal);
-
- /**
- * Gets Publish & Subscribe key's integer value
- * @param aCategory Category of the key
- * @param aKey PUBSUB Key
- * @param value Returned value
- * @return Symbian OS errorcode
- */
- IMPORT_C static TInt GetPubSubKeyIntValue(TUid aCategory, TUint aKey, TInt& value);
-
- /**
- * Create receive buffer and RFile object.
- * @Since S60 v5.0
- * @param aFile File to temp file
- * @param aPath Path The directory in which the file is created
- * @param aFullName Contains the full path and file name of the file (returned)
- * @param aReceiveObject Obex object for receive buffer ( returned )
- * @param aBufSize Size of receive buffer
- * @return Symbian error code.
- */
- IMPORT_C static TInt CreateReceiveBufferAndRFileL ( RFile& aFile,
- const TDesC& aPath,
- TFileName& aFullName,
- CBufFlat* &aReceiveObject,
- const TInt aBufSize );
-
- /**
- * Remove temporary RFile object.
- * @Since S60 v5.0
- * @param aFullName Contains the full path and file name of the file
- * @return Symbian error code.
- */
- IMPORT_C static void RemoveTemporaryRFileL ( const TFileName& aFullName );
-
- /**
- * Create inbox entries and saves received object to file system
- * @Since S60 v5.0
- * @param aReceiveObject Obex object for receive buffer
- * @param aMtmId MTM Id
- * @param aMsvIdParent Parent message entry (returned)
- * @param aFullName The directory and file name in which the file is saved (returned)
- * @param aFile File handler identical with the one in CreateReceiveBufferAndRFileL()
- * it must be opened before use.
- * @return None
- */
- IMPORT_C static void SaveFileToFileSystemL(CObexBufObject* &aReceiveObject,
- const TUid aMtmId,
- TMsvId& aMsvIdParent,
- TFileName& aFullName,
- RFile& aFile,
- const TDesC& aSenderBluetoothName);
-
- /**
- * Add an entry to Inbox
- * @Since S60 v5.0
- * @param aMsvIdParent Parent message entry
- * @param aFullName Contains the full path and file name of the file
- * @return None
- */
- IMPORT_C static void AddEntryToInboxL( TMsvId& aMsvIdParent,
- TFileName& aFullName);
-
- /**
- * Add an entry to Inbox
- * @Since S60 v5.0
- * @param aMsvIdParent Parent message entry
- * @param aFullName Contains the full path and file name of the file
- * @param aMsvIdArray an array contains a list of TMsvId ( returned )
- * @return None
- */
- IMPORT_C static void AddEntryToInboxL( TMsvId& aMsvIdParent,
- TFileName& aFullName,
- RArray<TMsvId>* aMsvIdArray);
-
- /**
- * Update entry attachmeent in Inbox
- * @Since S60 v5.0
- * @param aFullName Contains the full path and file name of the file
- * @param aMsvIdParent Parent message entry
- * @return None
- */
- IMPORT_C static void UpdateEntryAttachmentL ( TFileName& aFullName,CMsvEntry* aParentEntry );
-
-
-
- private:
-
- class CDummySessionObserver;
- class TReceivedData;
-
- /**
- * Create inbox attachment and entries.
- * @param aMtmId Mtm ID of the message
- * @param aMsvIdParent Parent message entry (returned)
- * @param aFile File to the attachment (returned)
- * @param aRemoteBluetoothName sender's bluetooth name.
- */
- static void DoCreateInboxAttachmentL(
- const TUid aMtmId,
- TMsvId &aMsvIdParent,
- RFile &aFile,
- const TDesC& aRemoteBluetoothName = KNullDesC);
-
- /**
- * Deletes Obex Buf Object buffer
- * @param aBufObject The buffer object
- * @return None.
- */
- static void RemoveObexBuffer(CObexBufObject* &aBufObject);
-
- /*
- * Creates Msv session
- * @param aSessionObs Session observer
- * @param aMsvSession Session
- */
- static void CreateMsvSessionLC(
- CDummySessionObserver* &aSessionObs,
- CMsvSession* &aMsvSession);
-
- /*
- * Creates Msv session to selected destination
- * @param aSessionObs Session observer
- * @param aMsvSession Session
- * @param aDestination Destination
- * @param aMsvId Destination type
- */
- static void CreateMsvSessionLC(
- CDummySessionObserver* &aSessionObs,
- CMsvSession* &aMsvSession,
- CMsvEntry* &aDestination,
- TMsvId aMsvId);
-
- /**
- * Gets current time
- * @return None.
- */
- static TTime GetCurrentTime();
-
- /**
- * Stores message as rich text
- * @param aParentEntry Parent entry
- * @param aFile File to store to the message entry's store
- * @return None.
- */
- static void StoreAsRichTextL(CMsvEntry* aParentEntry, RFile& aFile);
-
- /**
- * Updates attachment's information
- * @param aRecData Received obex data
- * @param aAttachEntry Attachment entry
- * @param aAttachInfo Attachment information
- * @param aStore Message store (attachment)
- * @return None.
- */
- static void UpdateAttachmentInformationL(
- TReceivedData& aRecData,
- CMsvEntry* aAttachEntry,
- CMsvAttachment* aAttachInfo,
- CMsvStore* aStore);
-
- /**
- * Finalises the parent entry to contain correct data
- * @param aParentEntry Parent entry
- * @param aReceivedData Received obex data
- * @param aStore Attachment's store
- * @param aIsBioMsg Is BIO message?
- * @return None.
- */
- static void FinaliseMessageL(
- CMsvEntry* aParentEntry,
- TReceivedData& aRecData,
- CMsvStore* aStore,
- TBool aIsBioMsg);
-
- /**
- * Finalises the parent entry to contain correct data
- * @Since v5.0
- * @param aParentEntry Parent entry
- * @param aStore Attachment's store
- * @param aFileEntry a file entry
- * @param aFileNameParser a file name parser
- * @return None.
- */
- static void FinaliseMessageL(
- CMsvEntry* aParentEntry,
- CMsvStore* aStore,
- TEntry& aFileEntry,
- TParse& aFileNameParser);
-
- /**
- * Stores BIO message to parent entry's body and updates information
- * @param aBioDB BIO database for a BIO message
- * @param parentEntry Parent entry
- * @param aFile File to save to parent entry's body
- * @return None.
- */
- static void StoreAndUpdateBioMessageL(
- CBIODatabase* aBioDB,
- TUid aBioMsgId,
- CMsvEntry* parentEntry,
- RFile& aFile);
-
- /**
- * Recognises MIME type of a file
- * @param aFile File to recognise
- * @param aAttachInfo Attachment information
- * @return None.
- */
- static void RecogniseObjectsL(
- TFileName& aFileName,
- CMsvAttachment* aAttachInfo);
-
- /**
- * Saves MIME type and gets BIO for that MIME type
- * @param aFile File to be recognised
- * @param aFsSess File session to use for BIO database
- * @param aAttachInfo Attachment information
- * @param aBioMsgId Returned BIO message's ID
- * @return BIO database for a MIME type (null if not BIO)
- */
- static CBIODatabase* SaveMimeAndGetBioLC(
- TFileName& aFileName,
- RFs& aFsSess,
- CMsvAttachment* aAttachInfo,
- TUid &aBioMsgId);
-
- /**
- * Constructs rich text
- * @return Text in rich text.
- */
- static CRichText* ConstructRichTextLC();
-
- /**
- * Makes a valid OS filesystem filename by removing illegal characters
- * @param aFileSession File server filesession
- * @param aFileName File name to check and modify
- * @return None.
- */
- static void MakeValidFileName(RFs& aFileSession, TDes& aFileName);
-
- /**
- * Converts text from UTF-8 to two-byte Unicode
- * @param aText destination where to store the converted text
- * @param aType source of conversion in UTF-8
- * @return None.
- */
- static void SetBioDataTextL(TBioMsgIdText& aText, const TDesC8& aType);
-
- /**
- * Converts text from UTF-8 to two-byte Unicode
- * @param aDetails destination where to store the converted text
- * @param aType source of conversion in UTF-8
- * @return None.
- */
- static void SetDetailsLC(
- TPtrC& aDetails,
- const TDesC8& aType);
-
-
- /**
- * Rename file and move file if needed.
- * @Since S60 v5.0
- * @param anOldFileName a file name with absolute path ( returned )
- * @param aNewFileName new path where file will be moved to
- * @param aFileSession a file session
- * @return None
- */
- static TInt RenameFileL(TFileName& aFileName,
- TFileName& aNewFileName,
- const TDesC& aNewPath,
- RFs& aFileSession);
-
- /**
- * Rename filename with a segement number.
- * @Since S60 v5.0
- * @param aFilename name of the file ( returned )
- * @param aSegmentNum number used to modifed the file name
- * @param aSegmentString string will be added to filename to solve the duplicate filenames
- * @return None.
- */
- static TInt RenameFileWithSegmentNumL(
- TDes& aFileName,
- TInt aSegmentNum,
- TDes& aSegementString);
-
- /**
- * FixExtremeLongFileName
- * @param aFileName extreme long file name (returned)
- * @param aDriveAndPath file drive and path
- * @return None
- */
- static void FixExtremeLongFileName(TFileName& aExtremeLongFileName, const TDesC& aDriveAndPath);
-
-
- /**
- * A dummy class for opening CMsvSession.
- */
- class CDummySessionObserver : public CBase , public MMsvSessionObserver
- {
- public:
- void HandleSessionEventL( TMsvSessionEvent/*aEvent*/,
- TAny* /*aArg1*/,
- TAny* /*aArg2*/,
- TAny* /*aArg3*/ ) {};
- };
-
- /**
- * Class for obex received data
- */
- class TReceivedData
- {
- public:
- TInt bytesReceived;
- TTime recTime;
- TFileName msgName;
- };
-
- };
-
-#endif // OBEXUTILSMESSAGEHANDLER_H
-
-// End of File