messagingapp/msgui/unifiedviewer/inc/univiewerfeeder_p.h
changeset 31 ebfee66fde93
child 34 84197e66a4bd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/msgui/unifiedviewer/inc/univiewerfeeder_p.h	Fri Jun 04 10:25:39 2010 +0100
@@ -0,0 +1,246 @@
+/*
+ * Copyright (c) 2009 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: Feeder Private class for unified viewer. Fetches data from the
+ *              message store for the given message id.
+ *
+ */
+#ifndef UNIVIEWER_FEEDER_PRIVATE_H
+#define UNIVIEWER_FEEDER_PRIVATE_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <msvapi.h>
+
+#include "convergedmessage.h"
+#include "unidatamodelplugininterface.h"
+
+class QDateTime;
+class UniViewerFeeder;
+class CMsvSession;
+class UniDataModelPluginInterface;
+class UniDataModelLoader;
+
+/**
+ * UniViewerFeederPrivate
+ * Feeder Private class for unified viewer. Fetches data from the
+ * message store for the given message id.
+ */
+class UniViewerFeederPrivate
+{
+public:
+    /**
+     * Destructor.
+     */
+    ~UniViewerFeederPrivate();
+
+    /**
+     * Constructor
+     * @param msgId message id.
+     * @param feeder feeder object.
+     */
+    UniViewerFeederPrivate(qint32 msdId,
+                           UniViewerFeeder* feeder);
+
+    /**
+     * Fetches message details from the store.
+     */
+    void fetchDetails();
+
+    /**
+     * Returns the message type.
+     * @return  message type.
+     */
+    qint32 msgType();
+
+    /**
+     * Returns the time stamp.
+     * @return  time stamp of the message.
+     */
+    QDateTime timeStamp();
+
+    /**
+     * hasAttachments
+     * @return true/false based on if message has attachments
+     */
+    bool hasAttachments();
+
+    /**
+     * attachmentList
+     * @return list of current message's attachments, with size and mimetype info
+     */
+    UniMessageInfoList attachmentsList();
+
+    /**
+     * attachmentCount
+     * @return number of attachments in the message
+     */
+    int attachmentCount();
+
+    /**
+     * objectsList
+     * @return list of current message's objects, with size and mimetype info
+     */
+    UniMessageInfoList objectsList();
+
+    /**
+     * objectCount
+     * @return count of media objects in SMIL presentation.
+     * NOTE: Smil attachment is _not_ counted as object.
+     */
+    int objectCount();
+
+    /**
+     * slideCount
+     * @return count of slides in SMIL presentation.
+     */
+    int slideCount();
+
+    /**
+     * slideContent
+     * @return list of media objects in given slide
+     */
+    UniMessageInfoList slideContent(int slidenum);
+
+    /**
+     * Updates  the content by fetching new details
+     * @param msgId message id
+     * @param msgType message type
+     */
+    void updateContent(qint32 msgId);
+
+    /**
+     * toAddressList
+     * @return list of to address list
+     */
+    ConvergedMessageAddressList toAddressList();
+
+    /**
+     * ccAddressList
+     * @return list of cc address list
+     */
+    ConvergedMessageAddressList ccAddressList();
+    /**
+     * messageSize
+     * @return int
+     */
+
+    int messageSize();
+
+    /**
+     * clearContent
+     * @void
+     */
+    void clearContent();
+
+    /**
+     * get the from address and alias of a message
+     * @param from address
+     * @param alias
+     * @void 
+     */
+    void fromAddressAndAlias(QString& from, QString& alias);
+    
+    /**
+      * whether the message is incoming Or outgoing.
+      * @return bool
+      */
+    bool isIncoming();
+    
+    /**
+      * returns the priority of the message.
+      * @return int
+      */
+    int priority();
+    
+    /**
+      * gets the subject of the message
+      */
+    QString subject();
+    
+    /**
+     * Returns the sending state of the message.
+     */
+    int sendingState();
+
+private:
+    /**
+     * Fetches message details from the store.
+     */
+    void fetchDetailsL();
+
+    /**
+     * initialise the symbian constructions.
+     */
+    void initL(qint32 msgId);
+
+private:
+    /**
+     * Ptr to QT class UniViewerFeeder.
+     * Not Own.
+     */
+    UniViewerFeeder* q_ptr;
+
+    /**
+     * MessageType
+     */
+    int mMessageType;
+
+    /**
+     * Msv Entry
+     */
+    TMsvEntry mEntry;
+
+    /**
+     * Message Id
+     */
+    qint32 mMsgId;
+
+    /**
+     * Slide Count.
+     */
+    int mSlideCount;
+
+    /**
+     * interface to fetch data
+     */
+    UniDataModelPluginInterface* mPluginInterface;
+
+    /**
+     * plugin loader
+     */
+    UniDataModelLoader* mPluginLoader;
+    /**
+     * To address list
+     * owned.
+     */
+    ConvergedMessageAddressList mToAddressList;
+
+    /**
+     * CC address list
+     * owned.
+     */
+    ConvergedMessageAddressList mCcAddressList;
+	
+	
+    /**
+     * Msv Session.
+     * not Owned.
+     */
+    CMsvSession* mSession;
+      
+};
+
+#endif // UNIVIEWER_FEEDER_PRIVATE_H
+// EOF