diff -r f9bb0fca356a -r 0fd27995241b javaextensions/pim/framework/src.s60/cpimmanager.cpp --- 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 #include +#include #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