cbs/cbsserver/ClientInc/CbsCommon.h
author hgs
Wed, 21 Jul 2010 18:26:52 +0300
changeset 33 8d5d7fcf9b59
permissions -rw-r--r--
201027
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  This file contains The only common header file between CBS UI and 
hgs
parents:
diff changeset
    15
*                CbsClient packages.
hgs
parents:
diff changeset
    16
*
hgs
parents:
diff changeset
    17
*/
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#ifndef CBSCOMMON_H
hgs
parents:
diff changeset
    22
#define CBSCOMMON_H
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
//  INCLUDES
hgs
parents:
diff changeset
    25
#include <e32base.h>
hgs
parents:
diff changeset
    26
#include <s32std.h>
hgs
parents:
diff changeset
    27
#include <cbscommontypes.h>
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
// CONSTANTS
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
// Max count of topic lists in the root
hgs
parents:
diff changeset
    32
const TInt KCbsRootItemsSize = 1;
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// DATA TYPES  
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
/**
hgs
parents:
diff changeset
    37
*   Type for representing handles to the topics.
hgs
parents:
diff changeset
    38
*
hgs
parents:
diff changeset
    39
*   For each topic there is an unique handle that does not change. 
hgs
parents:
diff changeset
    40
*   When the topic is deleted, the same handle can be used again.
hgs
parents:
diff changeset
    41
*/
hgs
parents:
diff changeset
    42
typedef TUint16 TCbsDbTopicHandle;
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
// A handle to a topic.
hgs
parents:
diff changeset
    45
typedef TCbsDbTopicHandle TCbsTopicHandle;
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
// A topic name.
hgs
parents:
diff changeset
    48
typedef TCbsDbTopicName TCbsTopicName;
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
/**
hgs
parents:
diff changeset
    51
*   The structure that represents information about single topic. 
hgs
parents:
diff changeset
    52
*
hgs
parents:
diff changeset
    53
*   When an index message is received, then a new topic collection is created.
hgs
parents:
diff changeset
    54
*   In deed, records of this type are created.
hgs
parents:
diff changeset
    55
*/
hgs
parents:
diff changeset
    56
struct TCbsDbTopicIdentity
hgs
parents:
diff changeset
    57
    {
hgs
parents:
diff changeset
    58
    // Name of the topic
hgs
parents:
diff changeset
    59
    TCbsDbTopicName iName;
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
    // The topic number (that is, the message identifier)
hgs
parents:
diff changeset
    62
    TCbsDbTopicNumber iNumber;
hgs
parents:
diff changeset
    63
    };
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
// Type returned by RCbs::GetNextAndPrevTopicNumber and 
hgs
parents:
diff changeset
    66
// RCbs::GetNextAndPrevMessageHandle to specify whether the item in question 
hgs
parents:
diff changeset
    67
// is the first or the last (or both) in list.
hgs
parents:
diff changeset
    68
enum TCbsPositionInList 
hgs
parents:
diff changeset
    69
    {
hgs
parents:
diff changeset
    70
    ECbsHead = 0x01,
hgs
parents:
diff changeset
    71
    ECbsTail = 0x02
hgs
parents:
diff changeset
    72
    };
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
// Enumerates the different language settings.
hgs
parents:
diff changeset
    75
enum TCbsDbLanguage
hgs
parents:
diff changeset
    76
    {
hgs
parents:
diff changeset
    77
    ECbsGerman,                 // German             
hgs
parents:
diff changeset
    78
    ECbsEnglish,                // English      
hgs
parents:
diff changeset
    79
    ECbsItalian,                // Italian      
hgs
parents:
diff changeset
    80
    ECbsFrench,                 // French       
hgs
parents:
diff changeset
    81
    ECbsSpanish,                // Spanish      
hgs
parents:
diff changeset
    82
    ECbsDutch,                  // Dutch        
hgs
parents:
diff changeset
    83
    ECbsSwedish,                // Swedish      
hgs
parents:
diff changeset
    84
    ECbsDanish,                 // Danish       
hgs
parents:
diff changeset
    85
    ECbsPortuguese,             // Portuguese   
hgs
parents:
diff changeset
    86
    ECbsFinnish,                // Finnish      
hgs
parents:
diff changeset
    87
    ECbsNorwegian,              // Norwegian    
hgs
parents:
diff changeset
    88
    ECbsGreek,                  // Greek        
hgs
parents:
diff changeset
    89
    ECbsTurkish,                // Turkish      
hgs
parents:
diff changeset
    90
    ECbsHungarian,              // Hungarian
hgs
parents:
diff changeset
    91
    ECbsPolish,                 // Polish
hgs
parents:
diff changeset
    92
    ECbsCzech,                  // Czech
hgs
parents:
diff changeset
    93
    ECbsHebrew,                 // Hebrew
hgs
parents:
diff changeset
    94
    ECbsArabic,                 // Arabic
hgs
parents:
diff changeset
    95
    ECbsRussian,                // Russian
hgs
parents:
diff changeset
    96
    ECbsIcelandic,              // Icelandic
hgs
parents:
diff changeset
    97
    ECbsOther,                  // Other 
hgs
parents:
diff changeset
    98
    ECbsAll,                    // All
hgs
parents:
diff changeset
    99
    ECbsCount                   // The amount of languages, 
hgs
parents:
diff changeset
   100
                                // this must be the last element
hgs
parents:
diff changeset
   101
    };
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
// Structure to contain user-selected languages
hgs
parents:
diff changeset
   105
struct TCbsDbLanguages
hgs
parents:
diff changeset
   106
    {
hgs
parents:
diff changeset
   107
    TBool iLanguages[ ECbsCount ];
hgs
parents:
diff changeset
   108
    };
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
// Structure containing cached information on topic
hgs
parents:
diff changeset
   111
struct TCbsDbImpTopic
hgs
parents:
diff changeset
   112
    {
hgs
parents:
diff changeset
   113
    // The stream identifier to the topic information.
hgs
parents:
diff changeset
   114
    TStreamId iTopicId;
hgs
parents:
diff changeset
   115
hgs
parents:
diff changeset
   116
    // The stream identifier to the messages of the topic.
hgs
parents:
diff changeset
   117
    TStreamId iTopicMessagesId;
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
    // The rest of the topic information
hgs
parents:
diff changeset
   120
    TCbsDbTopic iTopicData;
hgs
parents:
diff changeset
   121
    };
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
// Structure that contains information about a topic list
hgs
parents:
diff changeset
   124
struct TCbsDbTopicList
hgs
parents:
diff changeset
   125
    {    
hgs
parents:
diff changeset
   126
    // Name of the topic list
hgs
parents:
diff changeset
   127
    TBuf< KCbsDbTopicNameLength > iTopicListName;
hgs
parents:
diff changeset
   128
hgs
parents:
diff changeset
   129
    // Is this topic list the default topic list
hgs
parents:
diff changeset
   130
    TBool iIsDefaultTopicList;
hgs
parents:
diff changeset
   131
    
hgs
parents:
diff changeset
   132
    // The integer identifier of the list
hgs
parents:
diff changeset
   133
    TInt iNumber;
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
    // NUmber of topic lists in this list
hgs
parents:
diff changeset
   136
    TInt iTopicCount;
hgs
parents:
diff changeset
   137
    };
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
hgs
parents:
diff changeset
   140
// The structure that contains (root) stream information.
hgs
parents:
diff changeset
   141
struct TCbsDbImpTopicList
hgs
parents:
diff changeset
   142
    {    
hgs
parents:
diff changeset
   143
    // Name of the topic list
hgs
parents:
diff changeset
   144
    TBuf< KCbsDbTopicNameLength > iTopicListName;    
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
    // Is this topic list the default topic list
hgs
parents:
diff changeset
   147
    TBool iIsDefaultTopicList;
hgs
parents:
diff changeset
   148
hgs
parents:
diff changeset
   149
    // The integer identifier of the list
hgs
parents:
diff changeset
   150
    TInt iNumber;
hgs
parents:
diff changeset
   151
hgs
parents:
diff changeset
   152
    // NUmber of topic lists in this list
hgs
parents:
diff changeset
   153
    TInt iTopicCount;
hgs
parents:
diff changeset
   154
        
hgs
parents:
diff changeset
   155
	// The ID to topic list stream of this topic list
hgs
parents:
diff changeset
   156
	TStreamId iTopicListId;
hgs
parents:
diff changeset
   157
    };
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
// Enumerates the reasons for the client panic.
hgs
parents:
diff changeset
   160
enum TCbsSessionPanic
hgs
parents:
diff changeset
   161
    {
hgs
parents:
diff changeset
   162
    ECbsBadRequest,
hgs
parents:
diff changeset
   163
    ECbsBadDescriptor
hgs
parents:
diff changeset
   164
    };
hgs
parents:
diff changeset
   165
hgs
parents:
diff changeset
   166
// Enumerates the different types of settings-session related events.
hgs
parents:
diff changeset
   167
enum TCbsSettingsEvent
hgs
parents:
diff changeset
   168
    {
hgs
parents:
diff changeset
   169
    ECbsModifiedReceptionStatus,        // Reception status was modified
hgs
parents:
diff changeset
   170
    ECbsModifiedTopicDetectionStatus,   // Topic detection status was modified
hgs
parents:
diff changeset
   171
    ECbsModifiedLanguages,              // Preferred languages were modified
hgs
parents:
diff changeset
   172
    ECbsModifiedLimitedReceptionStatus, // Time-limited reception status modified
hgs
parents:
diff changeset
   173
    ECbsModifiedCleanupTime             // Clean up time of read messages modified
hgs
parents:
diff changeset
   174
    };
hgs
parents:
diff changeset
   175
hgs
parents:
diff changeset
   176
// Enumerates the different types of topic list events that can occur.
hgs
parents:
diff changeset
   177
enum TCbsTopicListEvent
hgs
parents:
diff changeset
   178
    {
hgs
parents:
diff changeset
   179
    ECbsTopicListInitialized = 0x01,
hgs
parents:
diff changeset
   180
    ECbsTopicAdded = 0x02,
hgs
parents:
diff changeset
   181
    ECbsTopicModified = 0x04,
hgs
parents:
diff changeset
   182
    ECbsTopicDeleted = 0x08,
hgs
parents:
diff changeset
   183
    ECbsTopicReceivedNewMessage = 0x10,
hgs
parents:
diff changeset
   184
    ECbsTopicAllEvents = ( 0x01 | 0x02 | 0x04 | 0x08 | 0x10 )
hgs
parents:
diff changeset
   185
    };
hgs
parents:
diff changeset
   186
hgs
parents:
diff changeset
   187
// Structure to contain user-selected languages
hgs
parents:
diff changeset
   188
typedef TCbsDbLanguages TCbsSettingsLanguages;
hgs
parents:
diff changeset
   189
hgs
parents:
diff changeset
   190
// A structure that contains information about a topic list
hgs
parents:
diff changeset
   191
typedef TCbsDbTopicList TCbsTopicList;
hgs
parents:
diff changeset
   192
hgs
parents:
diff changeset
   193
// A structure that contains information about one topic (information
hgs
parents:
diff changeset
   194
// that is retrieved from the index topic).
hgs
parents:
diff changeset
   195
typedef TCbsDbTopicIdentity TCbsTopicInfo;
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
#endif      // CBSCOMMON_H   
hgs
parents:
diff changeset
   198
            
hgs
parents:
diff changeset
   199
// End of File
hgs
parents:
diff changeset
   200