--- /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 <MAgnEntryUi.h>
+#include <calentry.h>
+
+// 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