messagingapp/msgui/appengine/inc/conversationsmodel.h
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
equal deleted inserted replaced
23:238255e8b033 25:84d9eb65b26f
    36  *
    36  *
    37  * Data from server is mapped to UI via Model
    37  * Data from server is mapped to UI via Model
    38  *
    38  *
    39  */
    39  */
    40 
    40 
    41 class ConversationsModel : public QStandardItemModel
    41 class ConversationsModel: public QStandardItemModel
    42 {
    42 {
    43     Q_OBJECT
    43 Q_OBJECT
    44 
    44 
    45 public:
    45 public:
    46 
    46 
    47     /**
    47     /**
    48      * Constructor
    48      * Constructor
    49      */
    49      */
    50     explicit ConversationsModel(ConversationMsgStoreHandler* msgStoreHandler,
    50     explicit ConversationsModel(ConversationMsgStoreHandler* msgStoreHandler, QObject* parent = 0);
    51             QObject* parent = 0);
       
    52 
    51 
    53     /**
    52     /**
    54      * Destructor
    53      * Destructor
    55      */
    54      */
    56     virtual ~ConversationsModel();
    55     virtual ~ConversationsModel();
    67      * Add a new row to the conversations model.
    66      * Add a new row to the conversations model.
    68      * Overwrite the row if the message already exists.
    67      * Overwrite the row if the message already exists.
    69      * @param entry, CCsConversationEntry
    68      * @param entry, CCsConversationEntry
    70      * @param dynamicUpdate , true if it is a dynamic update event
    69      * @param dynamicUpdate , true if it is a dynamic update event
    71      */
    70      */
    72     void addRow(const CCsConversationEntry& entry,
    71     void addRow(const CCsConversationEntry& entry, bool dynamicUpdate = false);
    73         bool dynamicUpdate=false);
       
    74 
    72 
    75     /**
    73     /**
    76      * Delete a row from conversations model.
    74      * Delete a row from conversations model.
    77      * @param msgId, Message Id
    75      * @param msgId, Message Id
    78      */
    76      */
    79     void deleteRow(int msgId);
    77     void deleteRow(int msgId);
    80 
    78 
    81 
       
    82 private:
    79 private:
    83 
    80 
    84     /**
    81     /**
    85      * Populate an item in model from CovergedMessage.
    82      * Populate an item in model from CCsConversationEntry.
    86      * @param item, QStandardItem
    83      * @param item, QStandardItem
    87      * @param entry, CCsConversationEntry
    84      * @param entry, CCsConversationEntry
    88      */
    85      */
    89     void populateItem(QStandardItem& item,
    86     void populateItem(QStandardItem& item, const CCsConversationEntry& entry);
    90             const CCsConversationEntry& entry);
    87 
       
    88     /**
       
    89      * Populate MMS related data into item.
       
    90      * @param item, QStandardItem
       
    91      * @param entry, CCsConversationEntry
       
    92      */
       
    93     void handleMMS(QStandardItem& item, const CCsConversationEntry& entry);
       
    94     
       
    95     /**
       
    96      * Populate MMS Notification related data into item.
       
    97      * @param item, QStandardItem
       
    98      * @param entry, CCsConversationEntry
       
    99      */
       
   100     void handleMMSNotification(QStandardItem& item, 
       
   101         const CCsConversationEntry& entry);
       
   102 
       
   103     /**
       
   104      * Populate BT message related data into item.
       
   105      * @param item, QStandardItem
       
   106      * @param entry, CCsConversationEntry
       
   107      */
       
   108     void handleBlueToothMessages(QStandardItem& item, 
       
   109         const CCsConversationEntry& entry);
       
   110 
       
   111     /**
       
   112      * Populate Bio message related data into item.
       
   113      * @param item, QStandardItem
       
   114      * @param entry, CCsConversationEntry
       
   115      */
       
   116     void handleBioMessages(QStandardItem& item, 
       
   117         const CCsConversationEntry& entry);
    91 
   118 
    92 private:
   119 private:
    93 
   120 
    94     /**
   121     /**
    95      * Msg Store Handler
   122      * Msg Store Handler
    96      * Not Own
   123      * Not Own
    97      */
   124      */
    98     ConversationMsgStoreHandler* mMsgStoreHandler;
   125     ConversationMsgStoreHandler* mMsgStoreHandler;
    99 
   126 
   100   /**
   127     /**
   101      * UniDataModelLoader object
   128      * UniDataModelLoader object
   102      * Own
   129      * Own
   103      */
   130      */
   104     UniDataModelLoader* iDataModelPluginLoader;
   131     UniDataModelLoader* iDataModelPluginLoader;
   105 
   132 
   106   /**
   133     /**
   107      * Mms Data model plugin interface
   134      * Mms Data model plugin interface
   108      * Not Own
   135      * Not Own
   109      */
   136      */
   110   UniDataModelPluginInterface* iMmsDataPlugin;
   137     UniDataModelPluginInterface* iMmsDataPlugin;
       
   138 
       
   139     /**
       
   140      * BioMsg Data model plugin interface
       
   141      * Not Own
       
   142      */
       
   143     UniDataModelPluginInterface* iBioMsgPlugin;
   111 };
   144 };
   112 
   145 
   113 #endif // CONVERSATIONS_MODEL_H
   146 #endif // CONVERSATIONS_MODEL_H