javaextensions/pim/framework/src.s60/cpimmanager.cpp
branchRCL_3
changeset 24 0fd27995241b
parent 19 04becd199f91
child 25 9ac0a0a7da70
--- a/javaextensions/pim/framework/src.s60/cpimmanager.cpp	Fri Apr 30 10:40:48 2010 +0300
+++ b/javaextensions/pim/framework/src.s60/cpimmanager.cpp	Tue May 11 16:07:20 2010 +0300
@@ -20,6 +20,7 @@
 #include "cpimmanager.h"
 #include <e32std.h>
 #include <badesca.h>
+#include <calsession.h>
 #include "pimcommon.h"
 #include "mpimcontactadaptermanager.h"
 #include "mpimeventadaptermanager.h"
@@ -44,9 +45,14 @@
 #include "pimjnitools.h"
 #include "pimutils.h"
 #include "jstringutils.h"
+#include "fs_methodcall.h"
 #include "logger.h"
 #include "cpimlocalizationmanager.h"
 
+#include "s60commonutils.h"
+
+
+
 // CONSTANTS
 
 /**
@@ -74,7 +80,23 @@
     = (MPIMLocalizationManager*)(CPIMLocalizationManager::NewL());
 
     createServerToNewThread();
-}
+        CallMethodL(this, &CPIMManager::CreateCalSessionL, this);
+    }
+
+void CPIMManager::CreateCalSessionL()
+    {
+    		iCalSession = CCalSession::NewL();    	   		
+    		TRAPD(err, iCalSession->OpenL(iCalSession->DefaultFileNameL()));
+        if ( KErrNotFound == err)
+        {
+          iCalSession->CreateCalFileL(iCalSession->DefaultFileNameL());
+          iCalSession->OpenL(iCalSession->DefaultFileNameL());
+        }
+        else
+        {
+          User::LeaveIfError(err);
+        }      			    			
+    }
 
 pimbasemanager* pimbasemanager::getInstance()
 {
@@ -134,10 +156,17 @@
     iContactValidator = NULL;
     delete iEventValidator;
     iEventValidator = NULL;
-    delete iToDoValidator;
+    delete iToDoValidator;    
+    CallMethod(this, &CPIMManager::DeleteSessions, this);   
+
     iToDoValidator = NULL;
     stopServer();
 }
+void CPIMManager::DeleteSessions()
+	{
+    delete iCalSession;
+    iCalSession = NULL;
+	}
 
 void CPIMManager::dispose()
 {
@@ -335,12 +364,11 @@
 
     MPIMEventAdapterManager* eventAdapterManager = NULL;
     MPIMEventListAdapter* eventListAdapter = NULL;
-    MPIMLocalizationData* localizationData = NULL;
-
+    MPIMLocalizationData* localizationData = NULL;    
     const TInt n = iAdapterAccesses.Count();
     for (TInt i = 0; i < n; i++)
     {
-        if (iAdapterAccesses[i]->OpenEventListL(aListName,
+        if (iAdapterAccesses[i]->OpenEventListL(iCalSession,aListName,
                                                 &eventAdapterManager, &eventListAdapter, &localizationData))
         {
             // got one
@@ -369,12 +397,11 @@
 
     MPIMToDoAdapterManager* toDoAdapterManager = NULL;
     MPIMToDoListAdapter* toDoListAdapter = NULL;
-    MPIMLocalizationData* localizationData = NULL;
-
+    MPIMLocalizationData* localizationData = NULL;    
     const TInt n = iAdapterAccesses.Count();
     for (TInt i = 0; i < n; i++)
     {
-        if (iAdapterAccesses[i]->OpenToDoListL(aListName, &toDoAdapterManager,
+        if (iAdapterAccesses[i]->OpenToDoListL(iCalSession,aListName, &toDoAdapterManager,
                                                &toDoListAdapter, &localizationData))
         {
             // got one