/** Copyright (c) 2003 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: This file contains The only common header file between CBS UI and * CbsClient packages.**/#ifndef CBSCOMMON_H#define CBSCOMMON_H// INCLUDES#include <e32base.h>#include <s32std.h>#include <CbsCommonTypes.h>// CONSTANTS// Max count of topic lists in the rootconst TInt KCbsRootItemsSize = 1;// DATA TYPES /*** Type for representing handles to the topics.** For each topic there is an unique handle that does not change. * When the topic is deleted, the same handle can be used again.*/typedef TUint16 TCbsDbTopicHandle;// A handle to a topic.typedef TCbsDbTopicHandle TCbsTopicHandle;// A topic name.typedef TCbsDbTopicName TCbsTopicName;/*** The structure that represents information about single topic. ** When an index message is received, then a new topic collection is created.* In deed, records of this type are created.*/struct TCbsDbTopicIdentity { // Name of the topic TCbsDbTopicName iName; // The topic number (that is, the message identifier) TCbsDbTopicNumber iNumber; };// Type returned by RCbs::GetNextAndPrevTopicNumber and // RCbs::GetNextAndPrevMessageHandle to specify whether the item in question // is the first or the last (or both) in list.enum TCbsPositionInList { ECbsHead = 0x01, ECbsTail = 0x02 };// Enumerates the different language settings.enum TCbsDbLanguage { ECbsGerman, // German ECbsEnglish, // English ECbsItalian, // Italian ECbsFrench, // French ECbsSpanish, // Spanish ECbsDutch, // Dutch ECbsSwedish, // Swedish ECbsDanish, // Danish ECbsPortuguese, // Portuguese ECbsFinnish, // Finnish ECbsNorwegian, // Norwegian ECbsGreek, // Greek ECbsTurkish, // Turkish ECbsHungarian, // Hungarian ECbsPolish, // Polish ECbsCzech, // Czech ECbsHebrew, // Hebrew ECbsArabic, // Arabic ECbsRussian, // Russian ECbsIcelandic, // Icelandic ECbsOther, // Other ECbsAll, // All ECbsCount // The amount of languages, // this must be the last element };// Structure to contain user-selected languagesstruct TCbsDbLanguages { TBool iLanguages[ ECbsCount ]; };// Structure containing cached information on topicstruct TCbsDbImpTopic { // The stream identifier to the topic information. TStreamId iTopicId; // The stream identifier to the messages of the topic. TStreamId iTopicMessagesId; // The rest of the topic information TCbsDbTopic iTopicData; };// Structure that contains information about a topic liststruct TCbsDbTopicList { // Name of the topic list TBuf< KCbsDbTopicNameLength > iTopicListName; // Is this topic list the default topic list TBool iIsDefaultTopicList; // The integer identifier of the list TInt iNumber; // NUmber of topic lists in this list TInt iTopicCount; };// The structure that contains (root) stream information.struct TCbsDbImpTopicList { // Name of the topic list TBuf< KCbsDbTopicNameLength > iTopicListName; // Is this topic list the default topic list TBool iIsDefaultTopicList; // The integer identifier of the list TInt iNumber; // NUmber of topic lists in this list TInt iTopicCount; // The ID to topic list stream of this topic list TStreamId iTopicListId; };// Enumerates the reasons for the client panic.enum TCbsSessionPanic { ECbsBadRequest, ECbsBadDescriptor };// Enumerates the different types of settings-session related events.enum TCbsSettingsEvent { ECbsModifiedReceptionStatus, // Reception status was modified ECbsModifiedTopicDetectionStatus, // Topic detection status was modified ECbsModifiedLanguages, // Preferred languages were modified ECbsModifiedLimitedReceptionStatus, // Time-limited reception status modified ECbsModifiedCleanupTime // Clean up time of read messages modified };// Enumerates the different types of topic list events that can occur.enum TCbsTopicListEvent { ECbsTopicListInitialized = 0x01, ECbsTopicAdded = 0x02, ECbsTopicModified = 0x04, ECbsTopicDeleted = 0x08, ECbsTopicReceivedNewMessage = 0x10, ECbsTopicAllEvents = ( 0x01 | 0x02 | 0x04 | 0x08 | 0x10 ) };// Structure to contain user-selected languagestypedef TCbsDbLanguages TCbsSettingsLanguages;// A structure that contains information about a topic listtypedef TCbsDbTopicList TCbsTopicList;// A structure that contains information about one topic (information// that is retrieved from the index topic).typedef TCbsDbTopicIdentity TCbsTopicInfo;#endif // CBSCOMMON_H // End of File