messagingapp/msgnotifications/msgnotifier/src/msgnotifier.cpp
changeset 23 238255e8b033
child 25 84d9eb65b26f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/msgnotifications/msgnotifier/src/msgnotifier.cpp	Fri Apr 16 14:56:15 2010 +0300
@@ -0,0 +1,128 @@
+/*
+ * 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: Notification server main class. 
+ *  Handles calling notifications and inidcations
+ *
+ */
+
+// SYSTEM INCLUDES
+#include <hbdevicedialog.h>
+#include <hbindicator.h>
+
+
+//USER INCLUDES
+#include "msgnotifier.h"
+#include "msgnotifier_p.h"
+#include "msgsimnumberdetector.h"
+#include "msgnotificationdialogpluginkeys.h"
+#include "debugtraces.h"
+
+// plugin ids 
+const QString InidcationsPluginId
+                          ("com.nokia.messaging.indicatorplugin/1.0");
+const QString NotificationPluginId
+                          ("com.nokia.messaging.newmsgnotificationdialog/1.0");
+
+// ----------------------------------------------------------------------------
+// MsgNotifier::MsgNotifier
+// @see MsgNotifier.h
+// ----------------------------------------------------------------------------
+MsgNotifier::MsgNotifier(QObject* parent):QObject(parent)
+    {
+    QDEBUG_WRITE("MsgNotifier::MsgNotifier : Enter")
+    
+     d_ptr = new MsgNotifierPrivate(this); 
+     
+     mSimHandler = new MsgSimNumDetector();
+     
+    QDEBUG_WRITE("MsgNotifier::MsgNotifier : Exit") 
+    }
+
+// ----------------------------------------------------------------------------
+// MsgNotifier::~MsgNotifier
+// @see MsgNotifier.h
+// ----------------------------------------------------------------------------
+MsgNotifier::~MsgNotifier()
+    {
+    QDEBUG_WRITE("MsgNotifier::~MsgNotifier : Enter")
+    
+    delete d_ptr;
+    delete mSimHandler;
+    
+    QDEBUG_WRITE("MsgNotifier::~MsgNotifier : Enter")
+    }
+
+
+
+// ----------------------------------------------------------------------------
+// MsgNotifier::displayNewMessageNotification
+// @see MsgNotifier.h
+// ----------------------------------------------------------------------------
+void MsgNotifier::displayNewMessageNotification(NotificationData& data)
+    {  
+    QDEBUG_WRITE("MsgNotifier::displayNewMessageNotification : Enter")
+    QDEBUG_WRITE("MsgNotifier::displayNewMessageNotification :"
+    																				" Printing notification data")
+    
+    QDEBUG_WRITE_FORMAT("First Name : ", data.mFirstName);
+    QDEBUG_WRITE_FORMAT("Last Name : ", data.mLastName);
+    QDEBUG_WRITE_FORMAT("Number : ", data.mContactNum);
+    QDEBUG_WRITE_FORMAT("Description : ", data.mDescription);
+    QDEBUG_WRITE_FORMAT("Type : ", data.mMsgType);
+    QDEBUG_WRITE_FORMAT("Conv Id : ", data.mConversationId);
+    
+    // Fill data to variant map
+    QVariantMap notificationData;
+    notificationData[QString(KFirstNameKey)] = data.mFirstName ;
+    notificationData[QString(KLastNameKey)] = data.mLastName;
+    notificationData[QString(KNickNameKey)] = QString();
+    notificationData[QString(KConversationIdKey)] = data.mConversationId;
+    notificationData[QString(KMessageTypeKey)] = data.mMsgType;
+    notificationData[QString(KMessageBodyKey)] =  data.mDescription;
+    notificationData[QString(KMessageSubjectKey)] = QString();
+    notificationData[QString(KContactAddressKey)] = data.mContactNum;
+
+    // call device dialog to show notification
+    HbDeviceDialog deviceDialog ;
+    deviceDialog.show(NotificationPluginId,notificationData);
+    
+    QDEBUG_WRITE("MsgNotifier::displayNewMessageNotification : Exit")
+    }
+
+    
+// ----------------------------------------------------------------------------
+// MsgNotifier::updateIndications
+// @see MsgNotifier.h
+// ----------------------------------------------------------------------------
+void MsgNotifier::updateIndications(int unreadCount)
+    {
+    QDEBUG_WRITE("MsgNotifier::updateIndications  Enter")
+    
+    HbIndicator indicator; 
+    if(unreadCount)
+        {
+        indicator.activate(InidcationsPluginId);      
+        QDEBUG_WRITE("MsgNotifier::updateIndications Indications Activated")
+        }
+    else
+        {
+        indicator.deactivate(InidcationsPluginId);
+        QDEBUG_WRITE("MsgNotifier::updateIndications Indications Deactivated")
+        }
+    
+    QDEBUG_WRITE("MsgNotifier::updateIndications  Exit")
+    }
+
+
+//EOF