--- 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