X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2FIO%2FCommunication%2FCommunicationManager.cpp;fp=src%2FIO%2FCommunication%2FCommunicationManager.cpp;h=0880920d8336becd86ccf60d82b464420977815f;hb=6a31f3484996e9b7e719954c3a64a56d3fa586aa;hp=2f340a076ad7b936be14a62149c2ce6f228ea25a;hpb=59b4a9d85f3cd02e90c8efcecc66f9150f8a61f8;p=qtmeetings diff --git a/src/IO/Communication/CommunicationManager.cpp b/src/IO/Communication/CommunicationManager.cpp index 2f340a0..0880920 100644 --- a/src/IO/Communication/CommunicationManager.cpp +++ b/src/IO/Communication/CommunicationManager.cpp @@ -6,14 +6,17 @@ #include #include #include +#include "../../Domain/Configuration/Configuration.h" static const int ERROR_BASE=100; -CommunicationManager::CommunicationManager( const ConnectionSettings &aConnection ) + +CommunicationManager::CommunicationManager() { - iConnectionSettings = new ConnectionSettings( aConnection ); + iModifyingCommunication = NULL; - iFetchingCommunication = new Communication( aConnection ); + + iFetchingCommunication = new Communication(); if ( iFetchingCommunication ) { @@ -28,11 +31,12 @@ CommunicationManager::CommunicationManager( const ConnectionSettings &aConnectio SLOT( requestFinished( int, int ) ) ); } + } CommunicationManager::~CommunicationManager() { - delete iConnectionSettings; + //delete iConnectionSettings; delete iModifyingCommunication; delete iFetchingCommunication; while ( !iMeetings.isEmpty() ) @@ -150,6 +154,9 @@ void CommunicationManager::requestFinished( int aRequestId, int aError ) err = 10; delete rd; emit error( ERROR_BASE+(int)err, CommunicationManager::FetchingCommunication ); + while ( !iMeetings.isEmpty() ) + delete iMeetings.takeFirst(); + emit meetingsFetched( iMeetings ); return; } @@ -164,9 +171,17 @@ void CommunicationManager::requestFinished( int aRequestId, int aError ) int err = msg.getMeetingsFromResponse( iMeetings, *(rd->room) ); if( err ) + { emit error( ERROR_BASE+8, CommunicationManager::FetchingCommunication ); + while ( !iMeetings.isEmpty() ) + delete iMeetings.takeFirst(); + emit meetingsFetched( iMeetings ); + } else + { + qDebug("*** COMMUNICATIONMANAGER ::: Meetings fetched!"); emit meetingsFetched( iMeetings ); + } break; } case ConvertId: @@ -185,7 +200,13 @@ void CommunicationManager::requestFinished( int aRequestId, int aError ) ResMsgGetCalendarItem msg( *response ); int err = msg.getMeetingDetailsFromResponse( *(rd->meeting) ); if( err ) + { emit error( ERROR_BASE+9, CommunicationManager::FetchingCommunication ); + while ( !iMeetings.isEmpty() ) + delete iMeetings.takeFirst(); + emit meetingsFetched( iMeetings ); + } + else emit meetingDetailsFetched( *(rd->meeting) ); break; @@ -235,3 +256,4 @@ const CommunicationManager::RequestData* CommunicationManager::findRequest( Requ } return NULL; } +