diff -r 000000000000 -r f979ecb2b13e meetingui/meetingrequestviewers/inc/ProcessingStructs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingui/meetingrequestviewers/inc/ProcessingStructs.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,291 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Definition for different structs used for handling meeting +* request viewer requests +*/ + +#ifndef PROCESSINGSTRUCTS_H +#define PROCESSINGSTRUCTS_H + +#include "CMRUtilsInternal.h" +#include +#include + +// ENotSet means that the the particular field is not relevant in the +// scenario, any value should match. Using value -1 is safer than 0 +// since some external enumerations start with 0 which would be +// colliding with ENotSet then. +enum TNotSet + { + ENotSet = -1 + }; + +enum TCallingApp + { + ECallerMailApp, + ECallerBVApp, + ECallerCalendarApp + }; + +enum TOpenedMailBox + { + EOpenedFromInbox, + EOpenedFromOutbox + }; + +enum TMethodLevelValidity + { + EValidNeedsSave, + EValidNoNeedSave, + EInvalid + }; + +enum TMROperation + { + EErrorSituation = -100, // generic error case + EErrorUnexpectedViewOnly, // unexpected (e.g. cancel when no + // request has been received) + EErrorObsoleteViewOnly, // obsolete entry (newer exists) + EErrorRecurrenceViewOnly, // bad recurrence id (e.g. originating entry + // doesn't exist in db) + ENullOp = 0, // null value, not a real operation + EStoreEntryToCalendar, // store entry to db + EUpdateStatusToCalendar, // update status to db + ELoadIdenticalEntryFromDB, // identical exists in db -> use that + EEditExistingEntry, // edit calendar's existing request + EViewExistingEntry, // view only mode + EShowEmptyRequest, // show empty request + }; + + +static const TInt dataFieldCount = 7; + +// Note: The structure of these scenarios must match TScenarioData defined +// in CMRProcessor header file. The order of scenarios in the array +// determines their precedence, only the first match is considered + +// TODO: In future we might consider defining own Symbian resource structure. + +static const TInt meetingReqScenario_A1[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ENotSet, //TCallingApp + ENotSet, //TOpenedMailBox + MMRUtilsTombsExt::EErrorRecurrence, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + ENotSet, //TAgnEntryUiEditorMode + EErrorRecurrenceViewOnly //TMROperation + }; + +static const TInt meetingReqScenario_A2[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ENotSet, //TCallingApp + ENotSet, //TOpenedMailBox + MMRUtilsTombsExt::EErrorObsolete, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + ENotSet, //TAgnEntryUiEditorMode + EErrorObsoleteViewOnly //TMROperation + }; + +static const TInt meetingReqScenario_A3[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ECallerMailApp, //TCallingApp + EOpenedFromInbox, //TOpenedMailBox + MMRUtilsTombsExt::ECheckedValidNew, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EStoreEntryToCalendar //TMROperation + }; + +static const TInt meetingReqScenario_A4[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ECallerMailApp, //TCallingApp + EOpenedFromInbox, //TOpenedMailBox + MMRUtilsTombsExt::ECheckedValidUpdate, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EStoreEntryToCalendar //TMROperation + }; + +static const TInt meetingReqScenario_A5[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ECallerMailApp, //TCallingApp + EOpenedFromInbox, //TOpenedMailBox + MMRUtilsTombsExt::EErrorIdenticalExists,//TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + ELoadIdenticalEntryFromDB //TMROperation + }; + +static const TInt meetingReqScenario_A6[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ECallerMailApp, //TCallingApp + EOpenedFromOutbox, //TOpenedMailBox + ENotSet, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EViewExistingEntry //TMROperation + }; + +static const TInt meetingReqScenario_A7[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ECallerCalendarApp, //TCallingApp + ENotSet, //TOpenedMailBox + ENotSet, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::ECreateNewEntry, //TAgnEntryUiEditorMode + EShowEmptyRequest //TMROperation + }; + +static const TInt meetingReqScenario_A8[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ECallerCalendarApp, //TCallingApp + ENotSet, //TOpenedMailBox + ENotSet, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EEditExistingEntry, //TAgnEntryUiEditorMode + EEditExistingEntry //TMROperation + }; + +static const TInt meetingReqScenario_A9[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ECallerCalendarApp, //TCallingApp + ENotSet, //TOpenedMailBox + ENotSet, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EViewExistingEntry //TMROperation + }; + +static const TInt meetingReqScenario_A10[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ECallerBVApp, //TCallingApp + ENotSet, //TOpenedMailBox + ENotSet, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EViewExistingEntry //TMROperation + }; + +static const TInt meetingReqScenario_A11[dataFieldCount] = { + CCalEntry::EMethodRequest, //TMethod + ENotSet, //TCallingApp + ENotSet, //TOpenedMailBox + ENotSet, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + ENotSet, //TAgnEntryUiEditorMode + EErrorSituation //TMROperation + }; + +// RESPONSE + +static const TInt meetingReqScenario_B1[dataFieldCount] = { + CCalEntry::EMethodReply, //TMethod + ECallerMailApp, //TCallingApp + EOpenedFromInbox, //TOpenedMailBox + MMRUtilsTombsExt::ECheckedValidUpdate, //TMRUtilsDbResult + EValidNeedsSave, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EUpdateStatusToCalendar //TMROperation + }; + +static const TInt meetingReqScenario_B2[dataFieldCount] = { + CCalEntry::EMethodReply, //TMethod + ECallerMailApp, //TCallingApp + EOpenedFromInbox, //TOpenedMailBox + MMRUtilsTombsExt::ECheckedValidUpdate, //TMRUtilsDbResult + EValidNoNeedSave, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EViewExistingEntry //TMROperation + }; + +static const TInt meetingReqScenario_B3[dataFieldCount] = { + CCalEntry::EMethodReply, //TMethod + ECallerMailApp, //TCallingApp + EOpenedFromInbox, //TOpenedMailBox + MMRUtilsTombsExt::EErrorHasBeenDeleted, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EViewExistingEntry //TMROperation + }; + +static const TInt meetingReqScenario_B4[dataFieldCount] = { + CCalEntry::EMethodReply, //TMethod + ENotSet, //TCallingApp + ENotSet, //TOpenedMailBox + ENotSet, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + ENotSet, //TAgnEntryUiEditorMode + EErrorSituation //TMROperation + }; + +// TODO: handle response from bva + +// CANCEL + +static const TInt meetingReqScenario_C1[dataFieldCount] = { + CCalEntry::EMethodCancel, //TMethod + ECallerMailApp, //TCallingApp + EOpenedFromInbox, //TOpenedMailBox + MMRUtilsTombsExt::ECheckedValidUpdate, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + MAgnEntryUi::EViewEntry, //TAgnEntryUiEditorMode + EStoreEntryToCalendar //TMROperation + }; + +// TODO: handle cancel from bva + +static const TInt meetingReqScenario_C2[dataFieldCount] = { + CCalEntry::EMethodCancel, //TMethod + ENotSet, //TCallingApp + ENotSet, //TOpenedMailBox + MMRUtilsTombsExt::ECheckedValidNew, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + ENotSet, //TAgnEntryUiEditorMode + EErrorUnexpectedViewOnly //TMROperation + }; + +static const TInt meetingReqScenario_C3[dataFieldCount] = { + CCalEntry::EMethodCancel, //TMethod + ENotSet, //TCallingApp + ENotSet, //TOpenedMailBox + ENotSet, //TMRUtilsDbResult + ENotSet, //TMethodLevelValidity + ENotSet, //TAgnEntryUiEditorMode + EErrorSituation //TMROperation + }; + +static const TInt scenarioCount = 18; + +static const TInt* const scenarioArray[scenarioCount] = { + meetingReqScenario_A1, + meetingReqScenario_A2, + meetingReqScenario_A3, + meetingReqScenario_A4, + meetingReqScenario_A5, + meetingReqScenario_A6, + meetingReqScenario_A7, + meetingReqScenario_A8, + meetingReqScenario_A9, + meetingReqScenario_A10, + meetingReqScenario_A11, + meetingReqScenario_B1, + meetingReqScenario_B2, + meetingReqScenario_B3, + meetingReqScenario_B4, + meetingReqScenario_C1, + meetingReqScenario_C2, + meetingReqScenario_C3, + }; + +#endif