phonebookui/phonebookservices/src/main.cpp
changeset 59 a642906a277a
parent 40 b46a585f6909
child 65 ae724a111993
--- a/phonebookui/phonebookservices/src/main.cpp	Tue Jul 06 14:05:47 2010 +0300
+++ b/phonebookui/phonebookservices/src/main.cpp	Wed Aug 18 09:39:00 2010 +0300
@@ -16,13 +16,26 @@
 */
 
 #include <hbapplication.h>
+#include <hbmainwindow.h>
 #include <QTranslator>
 #include <QLocale>
-#include "cntservicemainwindow.h"
-#include "cntservicehandler.h"
+#include "cntserviceproviderold.h"
+#include "cntserviceproviderold2.h"
+#include "cntserviceproviderfetch.h"
+#include "cntserviceproviderold2.h"
+#include "cntserviceproviderviewing.h"
+#include "cntserviceprovideredit.h"
+#include "cntservices.h"
+#include "cntserviceviewmanager.h"
+#include "cntviewnavigator.h"
+#include "cntkeygrabber.h"
+#include "cntdebug.h"
+#include <cntviewparams.h>
 
 int main(int argc, char **argv)
 {
+    qInstallMsgHandler(MSG_HANDLER);
+    
     HbApplication a( argc, argv );
 
     QTranslator translator;
@@ -30,9 +43,32 @@
     QString path = "z:/resource/qt/translations/";
     translator.load(path + "contacts_" + lang);
     a.installTranslator(&translator);
-    
-    CntServiceHandler *handler = new CntServiceHandler();
-    CntServiceMainWindow mainWindow(handler);
+
+    HbMainWindow mainWindow;
+    CntKeyGrabber *keyGrabber = new CntKeyGrabber(&mainWindow, &mainWindow);
+
+    CntViewNavigator* navigator = new CntViewNavigator( &mainWindow );
+    navigator->addException( serviceEditView, noView );
+    navigator->addEffect( serviceContactCardView, historyView );
+    navigator->addEffect( historyView, serviceContactCardView );
+
+    // This object actually executes the services
+    CntServices* services = new CntServices();
+    services->setParent( &mainWindow ); // for ownership
+
+    CntServiceViewManager* viewManager = new CntServiceViewManager(
+        &mainWindow,
+        *services ); // as CntAbstractServiceProvider
+    viewManager->setViewNavigator( navigator );
+
+    services->setViewManager( *viewManager );
+
+    // These objects talk with QT Highway (send/receive)
+    CntServiceProviderOld* serviceProviderOld = new CntServiceProviderOld( *services, &mainWindow ); // com.nokia.services.phonebookservices.Fetch
+    CntServiceProviderOld2* serviceProviderOld2 = new CntServiceProviderOld2( *services, &mainWindow ); // phonebookservices.Fetch
+    CntServiceProviderFetch* serviceProviderFetch = new CntServiceProviderFetch( *services, &mainWindow ); // phonebookservices.com.nokia.symbian.IContactFetch
+    CntServiceProviderViewing* serviceProviderViewing = new CntServiceProviderViewing( *services, &mainWindow ); // phonebookservices.com.nokia.symbian.IContactView
+    CntServiceProviderEdit* serviceProviderEdit = new CntServiceProviderEdit( *services, &mainWindow ); // phonebookservices.com.nokia.symbian.IContactEdit
 
     mainWindow.show();