--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuiprocess/Inc/CCARecordedChatsPC.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,236 @@
+/*
+* Copyright (c) 2006 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: Process Manager to get process interfaces e.g. login,settings
+*
+*/
+
+#ifndef CCARECORDEDCHATSPC_H
+#define CCARECORDEDCHATSPC_H
+
+#include "MCARecordedChatsPC.h"
+#include "MCALoggerHeadersInterface.h"
+#include "MCAMessageRWInterfacePC.h"
+
+//Forward Declaration
+class CIdle;
+class CSendUi;
+class RWriteStream;
+class MCARecordedChatsArrayPC;
+class MCAMessagesWriteInterface;
+class MCAMessagesReadInterface;
+class CEikonEnv;
+//Class declaration
+class CCARecordedChatsPC: public CBase,
+ public MCARecordedChatsPC,
+ public MCAMessageRWInterfacePC
+ {
+ public:
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCARecordedChatsPC* NewL( MCALoggerHeadersInterface& iLoggerHeadersInterface,
+ MCARecordedChatsArrayPC& aRecordedChatsArrayPC );
+
+ public:
+
+ /**
+ * Destructor
+ */
+ ~CCARecordedChatsPC();
+
+ public: //From MCARecordedChatsPC
+
+ /**
+ * Delete one history file recognized by index.
+ * @return true if the file has been deleted else return false
+ */
+ virtual TBool DeleteHistoryFileL( );
+
+
+ /**
+ * Deletes message container of current recorded chat
+ * from engine. Used to free memory when exiting current
+ * recorded chat view i.e. called from DoDeactivate method
+ * of view class.
+ */
+ virtual void DeleteRecordedChatContainerL();
+
+ /**
+ * Initialize/unitialize selected items array pointer
+ * @param aArray Pointer to selected items array.
+ */
+ virtual void SetSelectedItems( const CArrayFix< TInt >* aArray );
+
+ /**
+ * Return whether there are selected items
+ * @param true if there is atleast one valid item selected else return false
+ */
+ virtual TBool ValidSelectedItems() const;
+
+ /**
+ * return the number of selected items
+ * @Return an integer: count of selected items
+ */
+ virtual TInt SelectedItemsCount() const;
+
+ /**
+ * Prepares array for sending MTMs.
+ */
+ virtual void PrepareArrayForSendingMtmL();
+
+ /**
+ * Is index item marked or not
+ * @param aIndex Item which marked status is returned
+ * @return ETrue if item is marked, EFalse if not.
+ */
+ virtual TBool IsMarked( TInt aIndex );
+
+ /**
+ * Initialize array for deletion. Sort is from back to start.
+ */
+ virtual void InitDeleteArrayL();
+
+ /**
+ * Method is used to launch MTM editor with given targetUid
+ * @param aTargetUid id for MTM editor to be launched.
+ * @param aIndex Message index which to send.
+ */
+ // Code Scanner warning to be ignored
+ virtual TInt SendMTML( TInt aIndex, TUid aTargetUid /*= KNullUid*/ );
+
+
+
+ /**
+ * Delete history files. If there is marked items those are deleted.
+ * Otherwise item which index is given is deleted.
+ * @param aIndex Item index
+ * @return ETrue, if deletion is ok to start, EFalse if not.
+ */
+ virtual void DeleteHistoryFilesL( TInt aIndex, TBool aDeleteCurrentChat );
+
+ /**
+ * Check filename for MTM messages and correct
+ * it to unique if it is not.
+ * @param aFilename Proposed filename and corrected after checking.
+ * @param aArray Array of already existing filenames.
+ */
+ virtual void CheckAndCorrectMtmFilename( TFileName& aFilename,
+ MDesCArray& aArray );
+
+ /**
+ * Get the number of stored contacts in all the lists
+ * @return integer: number of stored contacts
+ */
+ virtual TInt StoredContactsCount() const;
+
+ /**
+ * To return the number of groups
+ * @return integer: count of groups
+ */
+ virtual TInt GroupCountL( TBool aGroupsSupported ) const;
+
+ /**
+ * To populate the two arrays of group names and goup ids
+ * @param aGroupNames: array of the current group names
+ * @param aGroupIds: array of the current group IDs
+ */
+ virtual MCAServerContactsArrayPC* GetPairArrayForServerContactsArrayLC();
+
+ /**
+ * Get message for sending it via MTM
+ * @param aIndex Index of message to send
+ * @param aStream Stream where message is written.
+ */
+ virtual void GetMessageForSendingViaMTML(
+ TInt aIndex, RWriteStream& aStream );
+
+
+ //fix - refer Ui Spec Approved Version 1.0 (Instant Messaging NG 001 151006.pdf)
+ //Section 10.2.10 Pg 131 -
+ //"In case user has saved the image already or sent it by himself,
+ // this option(save) is not available."
+ /**
+ * ReLoggingL
+ * @since series 60 v3.2
+ * @return void
+ */
+ virtual void ReLoggingL();
+
+ /**
+ * reset enginer loggers..for reading from different drive....
+ * @since series 60 v3.2
+ * @return void
+ */
+ void ResetEngineLoggerL();
+
+ public://From MCAMessageRWInterfacePC
+ /*
+ * @see MCAMessageRWInterfacePC
+ */
+ virtual MCAMessagesReadInterface& ReadInterfaceL() const;
+
+ /*
+ * @see MCAMessageRWInterfacePC
+ */
+ virtual MCAMessagesWriteInterface& WriteInterfaceL() const;
+
+
+ private: //Private Constructors
+ /**
+ * private default constructor
+ * @param aLoggerHeadersInterface: Reference to the logger component
+ * @param aRecordedChatsArrayPC: Reference to the Recorded chats
+ * array process component
+ */
+ CCARecordedChatsPC( MCALoggerHeadersInterface& aLoggerHeadersInterface,
+ MCARecordedChatsArrayPC& aRecordedChatsArrayPC );
+
+ /**
+ * Symbian 2nd phase constructor.
+ */
+ void ConstructL();
+
+ private: //Data memebers
+
+
+ /**
+ * Reference to the MCALoggerHeadersInterface in the engine component
+ */
+ MCALoggerHeadersInterface& iLoggerHeadersInterface;
+
+ /**
+ * reference to MCARecordedChatsArrayPC
+ */
+ MCARecordedChatsArrayPC& iRecordedChatsArrayPC;
+
+ // Owns. For sending messages via MTM
+ CSendUi* iSendAppUi;
+
+
+ // Owns. History temp directory;
+ HBufC* iHistoryTempDir;
+
+ // Does not own. Selected items array.
+ const CArrayFix< TInt >* iSelectedItems;
+
+ // Owns: Temp array for keeping track of deleted files
+ RArray< TInt > iItemsForDeletion;
+
+ CEikonEnv* iEikonEn;
+
+ };
+
+#endif //CCARECORDEDCHATSPC_H
+