msg_plat/messaging_history_api/inc/msgitem.h
changeset 31 ebfee66fde93
child 47 5b14749788d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msg_plat/messaging_history_api/inc/msgitem.h	Fri Jun 04 10:25:39 2010 +0100
@@ -0,0 +1,239 @@
+/*
+ * Copyright (c) 2007 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:  Object for a message item in history.
+ *
+ */
+
+#ifndef __MSG_ITEM_H__
+#define __MSG_ITEM_H__
+
+#include "msghistorydefines.h"
+
+#include <QDateTime>
+#include <QString>
+
+/**
+ * Message Item in history.
+ */
+class MSG_HISTORY_EXPORT MsgItem 
+    {
+public:
+    /**
+     * Message direction
+     */
+    enum MsgDirection {
+        MsgDirectionIncoming = 0,
+        MsgDirectionOutgoing,
+        ECsDirectionMissed,
+        ECsDirectionUnknown
+        };
+    
+    /**
+     * Message type
+     */
+    enum MsgType {
+        MsgTypeSMS = 0,
+        MsgTypeMMS,
+        MsgTypeMmsNotification,
+        MsgTypeAudio,
+        MsgTypeBioMsg,
+        MsgTypeBlueTooth,
+        MsgTypeRingingTone,
+				MsgTypeProvisioning,
+        MsgTypeUnknown
+        };
+    
+    /**
+     * Message state
+     */
+    enum MsgState {
+        MsgStateUnknown = 0,
+        MsgStateUponRequest,
+        MsgStateWaiting,
+        MsgStateSending,
+        MsgStateScheduled,
+        MsgStateResend,
+        MsgStateSuspended,
+        MsgStateFailed,
+        MsgStateSent,
+        MsgStateNotApplicable
+        };
+    
+    /**
+     * Message attribute
+     */
+    enum MsgAttribute {
+        MsgAttributeNone            = 0x0000, // None
+        MsgAttributeNew             = 0x0001, // New message
+        MsgAttributeDraft           = 0x0002, // Draft message
+        MsgAttributeAttachment      = 0x0004, // Attachment present
+        MsgAttributeHighPriority    = 0x0008, // Priority high
+        MsgAttributeLowPriority     = 0x0010, // Low high
+        MsgAttributeUnread          = 0x0020, // Unread
+        MsgAttributeSent            = 0x0040  // Sent message
+        };
+
+public: // member functions
+    /*
+     * Constructor
+     */
+    MsgItem();
+    
+    /*
+     * Destructor
+     */
+    virtual ~MsgItem();
+    
+    /*
+     * get messgae id
+     * @return message id.
+     */
+    int id() const;
+    
+    /*
+     * phoneNumber
+     * @return phone number.
+     */
+    QString phoneNumber() const;
+    
+    /*
+     * body
+     * @return message body text.
+     */
+    QString body() const;
+    
+    /*
+     * timeStamp
+     *@return QDateTime
+     */
+    QDateTime timeStamp() const;
+    
+    /*
+     * direction
+     * @return MsgDirection
+     */
+    MsgDirection direction() const;
+    
+    /*
+     * type
+     * @return MsgType
+     */
+    MsgType type() const;
+    
+    /*
+     * state
+     * @return MsgState
+     */
+    MsgState state() const;
+    
+    /*
+     * isAttributeSet
+     * @return true, if set
+     */
+    bool isAttributeSet(MsgAttribute attribute) const;
+    
+    /*
+     * setId
+     * @param id, message id
+     */
+    void setId(int id);
+    
+    /*
+     * setPhoneNumber
+     * @param number, QString
+     */
+    void setPhoneNumber(const QString& number);
+    
+    /*
+     * setBody
+     * @param body, QString
+     */
+    void setBody(const QString& body);
+    
+    /*
+     * setTimeStamp
+     * @param sec, time in secs
+     */
+    void setTimeStamp(uint sec);
+    
+    /*
+     * setDirection
+     * @param direction, MsgDirection
+     */
+    void setDirection(MsgDirection direction);
+    
+    /*
+     * setType
+     * @param, MsgType
+     */
+    void setType(MsgType type);
+    
+    /*
+     * setState
+     * @param state ,MsgState
+     */
+    void setState(MsgState state);
+    
+    /*
+     * changeAttributes
+     * @param setAttributes, attribute to be set
+     * @param clearAttributes, attribute to be reset
+     */
+    void changeAttributes
+    (quint16 setAttributes, quint16 clearAttributes = MsgAttributeNone);
+    
+private: // data members
+	
+	  /*
+     * message time stamp
+     */
+    QDateTime mTime;
+    
+    /*
+     * phone number
+     */
+    QString mPhoneNumber;
+    
+    /*
+     * message body
+     */
+    QString mBody;
+    
+    /*
+     * Msg direction 
+     */
+    MsgDirection mDirection;
+    
+    /*
+     * mesage type
+     */
+    MsgType mType;
+    
+    /*
+     * message state
+     */
+    MsgState mState;
+    
+    /*
+     * message attributes
+     */
+    MsgAttribute mAttributes;
+    
+    /*
+     * message id
+     */
+    int mId;
+    };
+
+#endif // __MSG_ITEM_H__