1.1 --- a/epoc32/include/msvstd.h Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,616 +0,0 @@
1.4 -// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -//
1.18 -
1.19 -#ifndef __MSVSTD_H__
1.20 -#define __MSVSTD_H__
1.21 -
1.22 -
1.23 -
1.24 -
1.25 -#include <e32base.h>
1.26 -#include <s32file.h>
1.27 -
1.28 -/**
1.29 -Specifies an entry in the Message Server index.
1.30 -@publishedAll
1.31 -@released
1.32 -@see #KMsvNullIndexEntryId
1.33 -@see #KMsvTempIndexEntryId
1.34 -@see #KMsvRootIndexEntryId
1.35 -@see #KMsvLocalServiceIndexEntryId
1.36 -@see #KMsvGlobalInBoxIndexEntryId
1.37 -@see #KMsvGlobalOutBoxIndexEntryId
1.38 -@see #KMsvDraftEntryId
1.39 -@see #KMsvSentEntryId
1.40 -@see #KMsvDeletedEntryFolderEntryId
1.41 -@see #KMsvUnknownServiceIndexEntryId
1.42 -*/
1.43 -typedef TInt32 TMsvId;
1.44 -
1.45 -/** Identifies an asynchronous messaging operation.
1.46 -
1.47 -This ID is unique within a
1.48 -Message Server session. The ID of an operation can be obtained from CMsvOperation::Id(). */
1.49 -typedef TInt32 TMsvOp;
1.50 -
1.51 -/** Supplies the standard values for the message priority index entry field.
1.52 -@publishedAll
1.53 -@released
1.54 -*/
1.55 -enum TMsvPriority {
1.56 - /** High message priority */
1.57 - EMsvHighPriority,
1.58 - /** Medium message priority */
1.59 - EMsvMediumPriority,
1.60 - /** Low message priority */
1.61 - EMsvLowPriority};
1.62 -
1.63 -class CRichText;
1.64 -class CMsvStore;
1.65 -class CMsvEntry;
1.66 -class CMsvMove;
1.67 -class CMsvServer;
1.68 -class CMsvServerEntry;
1.69 -
1.70 -_LIT(KMsvDefaultFolder, "\\Private\\1000484b\\Mail\\");
1.71 -_LIT(KMsvDefaultIndexFile, "\\Private\\1000484b\\Mail\\Index");
1.72 -_LIT(KMsvDefaultFolder2, "\\Private\\1000484b\\Mail2\\");
1.73 -_LIT(KMsvDefaultIndexFile2, "\\Private\\1000484b\\Mail2\\Index");
1.74 -_LIT(KMsvDirectoryExt, "_S\\");
1.75 -_LIT(KMsvBinaryFolderExt, "_F\\");
1.76 -
1.77 -const TInt KFileNameFixedWidth=8;
1.78 -const TInt KMaxSubjectSkipStringLength=8; // For subject based email thread sorting
1.79 -_LIT(KSendAsRenderedImage, "Image");
1.80 -
1.81 -// Server name and moving semaphore
1.82 -_LIT(KMsvServerName, "!MsvServer");
1.83 -_LIT(KMsvMovingSemaphore, "MsvMovingSemaphore");
1.84 -
1.85 -_LIT_SECURE_ID(KMsvServerId, 0x1000484B);
1.86 -
1.87 -
1.88 -/** Represents an entry in the Message Server index.
1.89 -
1.90 -MTM implementations and message client applications use it to access and manipulate
1.91 -index entry values. Note that a TMsvEntry is effectively a local cache of
1.92 -the index entry, and changes to it are not automatically written into the
1.93 -index. To commit changes to the Message Server, you need to call CMsvEntry::ChangeL()
1.94 -(or CMsvServerEntry::ChangeEntry()).
1.95 -
1.96 -To avoid repetition, the functions and data members are simply listed here,
1.97 -without detailed explanation of the fields. The public data members can be
1.98 -used to get and set the values of some index entry fields.
1.99 -@publishedAll
1.100 -@released
1.101 -*/
1.102 -class TMsvEntry
1.103 - {
1.104 -public:
1.105 - IMPORT_C TMsvEntry();
1.106 - IMPORT_C TMsvEntry(const TMsvEntry& aEntry);
1.107 - IMPORT_C TMsvEntry& operator=(const TMsvEntry& aEntry);
1.108 - IMPORT_C TBool operator==(const TMsvEntry& aEntry) const;
1.109 - IMPORT_C TBool PermanentDataUnchanged(const TMsvEntry& aEntry) const;
1.110 - //
1.111 - IMPORT_C TMsvPriority Priority() const;
1.112 - IMPORT_C void SetPriority(TMsvPriority aPriority);
1.113 - //
1.114 - IMPORT_C void InternalizeL(RReadStream& aStream);
1.115 - IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
1.116 - // Read only for clients
1.117 - inline TMsvId Id() const;
1.118 - inline TMsvId Parent() const;
1.119 - inline TBool Owner() const;
1.120 - inline TBool Deleted() const;
1.121 - // Read & write for clients
1.122 - inline TBool Complete() const;
1.123 - inline void SetComplete(TBool aComplete);
1.124 - inline TBool New() const;
1.125 - inline void SetNew(TBool aNew);
1.126 - inline TBool Unread() const;
1.127 - inline void SetUnread(TBool aUnread);
1.128 - inline TBool Failed() const;
1.129 - inline void SetFailed(TBool aFailed);
1.130 - inline TBool Operation() const;
1.131 - inline void SetOperation(TBool aOperation);
1.132 - inline TBool Visible() const;
1.133 - inline void SetVisible(TBool aVisble);
1.134 - inline TBool MultipleRecipients() const;
1.135 - inline void SetMultipleRecipients(TBool aMultipleRecipient);
1.136 - inline TBool ReadOnly() const;
1.137 - inline void SetReadOnly(TBool aReadOnly);
1.138 - inline TBool StandardFolder() const;
1.139 - inline void SetStandardFolder(TBool aStanardFolder);
1.140 - inline TBool Attachment() const;
1.141 - inline void SetAttachment(TBool aAttachmentFlag);
1.142 - inline TBool Connected() const;
1.143 - inline void SetConnected(TBool aConnected);
1.144 - inline TBool InPreparation() const;
1.145 - inline void SetInPreparation(TBool aInPreparation);
1.146 - //
1.147 - inline TInt PcSyncCount() const;
1.148 - inline void DecPcSyncCount();
1.149 - inline void IncPcSyncCount();
1.150 - //
1.151 - inline TBool OffPeak() const;
1.152 - inline void SetOffPeak(TBool aOffPeak);
1.153 - inline TBool Scheduled() const;
1.154 - inline void SetScheduled(TBool aScheduled);
1.155 - inline TUint SendingState() const;
1.156 - inline void SetSendingState(TUint aSendingState);
1.157 - inline TBool PendingDelete() const;
1.158 - inline void SetPendingDelete(TBool aPendingDelete);
1.159 -
1.160 - /** This method sets bit 24 of iMtmData1, if you are using this bit elsewhere don't call this method.*/
1.161 - inline void SetDeleteProtected(TBool aDeleteProtected);
1.162 - inline TBool DeleteProtected() const;
1.163 - /** This method sets bit 31 of iMtmData1, if you are using this bit elsewhere don't call this method.*/
1.164 - inline void SetForwarded(TBool aForwarded);
1.165 - inline TBool Forwarded() const;
1.166 - /** This method sets bit 32 of iMtmData1, if you are using this bit elsewhere don't call this method.*/
1.167 - inline void SetLocallyDeleted(TBool aLocallyDeleted);
1.168 - inline TBool LocallyDeleted() const;
1.169 -
1.170 - IMPORT_C TBool PendingConditions() const;
1.171 - IMPORT_C void SetPendingConditions(TBool aPendingConditions);
1.172 - //
1.173 - IMPORT_C TInt32 MtmData1() const;
1.174 - IMPORT_C TInt32 MtmData2() const;
1.175 - IMPORT_C TInt32 MtmData3() const;
1.176 -
1.177 - /**
1.178 - @internalTechnology
1.179 - */
1.180 - IMPORT_C void SetMtmData1(TInt32 aMtmData);
1.181 - /**
1.182 - @internalTechnology
1.183 - */
1.184 - IMPORT_C void SetMtmData2(TInt32 aMtmData);
1.185 - /**
1.186 - @internalTechnology
1.187 - */
1.188 - IMPORT_C void SetMtmData3(TInt32 aMtmData);
1.189 - //
1.190 -protected:
1.191 - // only the server will be able to set the following
1.192 - inline void SetId(TMsvId aId);
1.193 - inline void SetParent(TMsvId aId);
1.194 - inline void SetOwner(TBool aAttachment);
1.195 - inline void SetDeleted(TBool aDeletedFlag);
1.196 - //
1.197 - inline TUint PersistedFlags() const;
1.198 - inline TUint TemporaryFlags() const;
1.199 - //
1.200 -private:
1.201 - void Copy(const TMsvEntry& aEntry);
1.202 - //
1.203 -private:
1.204 - TMsvId iId;
1.205 - TMsvId iParentId;
1.206 - TInt32 iData;
1.207 - TInt32 iPcSyncCount;
1.208 - TInt32 iReserved; // reserved for future proofing
1.209 -public:
1.210 - /** Service ID. */
1.211 - TMsvId iServiceId;
1.212 - /** Related folder ID. */
1.213 - TMsvId iRelatedId;
1.214 - /** Entry type */
1.215 - TUid iType;
1.216 - /** MTM */
1.217 - TUid iMtm;
1.218 - /** Time */
1.219 - TTime iDate;
1.220 - /** Size */
1.221 - TInt32 iSize;
1.222 - /** Error */
1.223 - TInt32 iError;
1.224 - /** BIO message type */
1.225 - TInt32 iBioType;
1.226 - // following three can be used by MTM
1.227 - /** MTM data 1: this can be used for any purpose by an MTM. This member must
1.228 - only be accessed through the predefined set and get functions. If you must
1.229 - write data to a bit that has no meaning in the predefined derived classes
1.230 - then you must derive your own class from TMsvEntry.
1.231 - */
1.232 - TInt32 iMtmData1;
1.233 - /** MTM data 2: this can be used for any purpose by an MTM. This member must
1.234 - only be accessed through the predefined set and get functions. If you must
1.235 - write data to a bit that has no meaning in the predefined derived classes
1.236 - then you must derive your own class from TMsvEntry.
1.237 - */
1.238 - TInt32 iMtmData2;
1.239 - /** MTM data 3: this can be used for any purpose by an MTM. This member must
1.240 - only be accessed through the predefined set and get functions. If you must
1.241 - write data to a bit that has no meaning in the predefined derived classes
1.242 - then you must derive your own class from TMsvEntry.
1.243 - */
1.244 - TInt32 iMtmData3;
1.245 -public:
1.246 - // The TPtrC must be kept at end of class to simplify comparisons and initialisation
1.247 - /** Description */
1.248 - TPtrC iDescription;
1.249 - /** Details */
1.250 - TPtrC iDetails;
1.251 - //
1.252 - //
1.253 -private:
1.254 - //
1.255 -friend class CMsvEntry;
1.256 -friend class CMsvServer;
1.257 -friend class CMsvServerEntry;
1.258 -friend class CMsvClientEntry;
1.259 -friend class CMsvServerSession;
1.260 -friend class TMsvServerEntry;
1.261 -friend class CMsvServerIndex;
1.262 -friend class RMsvServerSession;
1.263 -friend class CMsvLocalCopyOperation;
1.264 -friend class CMsvMove;
1.265 -friend class CMsvIndexRebuild;
1.266 -friend class CMsvCopyEntry;
1.267 -friend class CMsvDelete;
1.268 -friend class CMsvIndexContext;
1.269 -friend class CMsvEntryArray;
1.270 - //
1.271 -private:
1.272 - //
1.273 -enum { KMsvEntryPriorityMask= 0x00000003,
1.274 - KMsvEntryHighPriority= 0x00000002,
1.275 - KMsvEntryMediumPriority= 0x00000001,
1.276 - KMsvEntryLowPriority= 0x00000000,
1.277 - KMsvEntryClearFlag= 0x00000000,
1.278 - KMsvOffPeakFlag= 0x00000004,
1.279 - KMsvEntryNotCompleteFlag= 0x00000008,
1.280 - KMsvEntryNewFlag= 0x00000010,
1.281 - KMsvEntryUnreadFlag= 0x00000020,
1.282 - KMsvEntryFailedFlag= 0x00000040,
1.283 - KMsvEntryOperationFlag= 0x00000080,
1.284 - KMsvEntryOwnerFlag= 0x00000100,
1.285 - KMsvEntryInvisibleFlag= 0x00000200,
1.286 - KMsvEntryMultipleRecipientFlag= 0x00000400,
1.287 - KMsvScheduledFlag= 0x00000800,
1.288 - KMsvEntryReadOnlyFlag= 0x00001000,
1.289 - KMsvEntryDeletedFlag= 0x00002000,
1.290 - KMsvEntryStandardFolderFlag= 0x00004000,
1.291 - KMsvEntryAttachmentFlag= 0x00008000,
1.292 - KMsvEntryInPreparationFlag= 0x00010000,
1.293 - KMsvSendingStateFlags= 0x001E0000, // Note: Sending state is shifted KMsvSendingStateShift places left
1.294 - KMsvEntryPersistedFlags= 0x00FFFFFF,
1.295 - KMsvEntryPendingConditionsFlag= 0x00800000,
1.296 - KMsvEntryTemporaryFlags= 0xFF000000,
1.297 - KMsvEntryConnectedFlag= 0x01000000,
1.298 - KMsvEntryPendingDeleteFlag= 0x02000000};
1.299 - };
1.300 -enum
1.301 - {
1.302 - KMsvEntryDeleteProtected= 0x800000,
1.303 - KMsvEntryForwarded= 0x40000000,
1.304 - KMsvEntryLocallyDeleted= 0x80000000
1.305 - };
1.306 -
1.307 -const TUint KMsvSendingStateShift=0x11; // Places to shift sending state
1.308 -
1.309 -/** Defines sending state flags.
1.310 -@publishedAll
1.311 -@released
1.312 -*/
1.313 -enum TMsvSendState
1.314 - {
1.315 - /** State unknown. */
1.316 - KMsvSendStateUnknown = 0x0,
1.317 - /** Message will be sent on request. */
1.318 - KMsvSendStateUponRequest = 0x1,
1.319 - /** Waiting to be sent.
1.320 -
1.321 - Messages in the outbox with this state can be sent automatically by the relevant
1.322 - MTM once an appropriate connection is established. */
1.323 - KMsvSendStateWaiting = 0x2,
1.324 - /** Sending in progress. */
1.325 - KMsvSendStateSending = 0x3,
1.326 - /** Sending scheduled. */
1.327 - KMsvSendStateScheduled = 0x4,
1.328 - /** Resending. */
1.329 - KMsvSendStateResend = 0x5,
1.330 - /** Sending suspended. */
1.331 - KMsvSendStateSuspended = 0x6,
1.332 - /** Sending failed. */
1.333 - KMsvSendStateFailed = 0x7,
1.334 - /** Sending complete. */
1.335 - KMsvSendStateSent = 0x8,
1.336 - /** Not applicable. */
1.337 - KMsvSendStateNotApplicable = 0x9
1.338 - };
1.339 -
1.340 -const TUint KMsvSendStateLast = KMsvSendStateNotApplicable;
1.341 -const TUint KMsvSendStateMax = 0x0F;
1.342 -
1.343 -/** Supplies values for bitmasks that allows the rapid setting or clearing of a
1.344 -number of TMsvEntry fields.
1.345 -
1.346 -The fields that can be manipulated are:
1.347 -
1.348 -1. PC synchronisation
1.349 -
1.350 -2. Visibility flag
1.351 -
1.352 -3. Read flag
1.353 -
1.354 -4. In-preparation flag
1.355 -
1.356 -5. Connected flag
1.357 -
1.358 -6. Pending deletion flag.
1.359 -
1.360 -7. New flag
1.361 -
1.362 -@see TMsvEntry
1.363 -@see CMsvSession::ChangeAttributesL()
1.364 -@see CMsvServerEntry::ChangeAttributes()
1.365 -@publishedAll
1.366 -@released
1.367 -*/
1.368 -enum TMsvAttribute {
1.369 - /** PC synchronisation field. */
1.370 - KMsvPcSyncCountAttribute =0x00000001,
1.371 - /** Visibility flag field. */
1.372 - KMsvVisibilityAttribute =0x00000200,
1.373 - /** Read flag field. */
1.374 - KMsvUnreadAttribute =0x00000020,
1.375 - /** In-preparation field. */
1.376 - KMsvInPreparationAttribute =0x00010000,
1.377 - /** Connected flag field. */
1.378 - KMsvConnectedAttribute =0x01000000,
1.379 - /** Pending deletion flag. */
1.380 - KMsvPendingDeleteAttribute =0x02000000,
1.381 - /** New flag field. */
1.382 - KMsvNewAttribute =0x00000010};
1.383 -
1.384 -/** Defines the sort order options for a TMsvSelectionOrdering object. Options
1.385 -are set through TMsvSelectionOrdering::SetSorting().
1.386 -
1.387 -@see TMsvSelectionOrdering
1.388 -@publishedAll
1.389 -@released
1.390 -*/
1.391 -enum TMsvSorting
1.392 - {
1.393 - /** Don't sort */
1.394 - EMsvSortByNone=0, // Don't sort
1.395 - /** Date (earliest-latest) */
1.396 - EMsvSortByDate, // Date (earliest-latest)
1.397 - /** Date (latest-earliest) */
1.398 - EMsvSortByDateReverse, // Date (latest-earliest)
1.399 - /** Size (smallest-largest) */
1.400 - EMsvSortBySize, // Size (smallest-largest)
1.401 - /** Size (largest-smallest) */
1.402 - EMsvSortBySizeReverse, // Size (largest-smallest)
1.403 - /** To/From (A-Z folded) */
1.404 - EMsvSortByDetails, // ToFrom (A-Z collated)
1.405 - /** To/From (Z-A folded) */
1.406 - EMsvSortByDetailsReverse, // ToFrom (Z-A collated)
1.407 - /** Description (A-Z folded) */
1.408 - EMsvSortByDescription, // Description (A-Z collated)
1.409 - /** Description (Z-A folded) */
1.410 - EMsvSortByDescriptionReverse, // Description (Z-A collated)
1.411 - /** Sort by message ID. */
1.412 - EMsvSortById, // Id (lowest-highest)
1.413 - /** Sort in reverse order by message ID. */
1.414 - EMsvSortByIdReverse // Id (highest-lowest)
1.415 - };
1.416 -
1.417 -/** Defines grouping order options for a TMsvEntrySelection object. Grouping options
1.418 -can be combined in a bitmask and set through the TMsvEntrySelection constructor
1.419 -@publishedAll
1.420 -@released
1.421 -*/
1.422 -enum TMsvGrouping
1.423 - {
1.424 - /** No grouping */
1.425 - KMsvNoGrouping=0, // No grouping
1.426 - /** Group by entry type, in order, services, folders, messages, attachments */
1.427 - KMsvGroupByType=0x2, // Folder, Message, Attachment
1.428 - /** Place standard folders first, in the order they were created */
1.429 - KMsvGroupByStandardFolders=0x6, // Standrad folders first (must have sorting by type set aswell)
1.430 - /** Group by message priority, in order, high, medium, then low */
1.431 - KMsvGroupByPriority=0x8, // High, Mediem, Low
1.432 - /** Group by MTM, either in the order set by CMsvEntry::SetMtmListL() or by MTM
1.433 - Uid value */
1.434 - KMsvGroupByMtm=0x10, // By increasing uid value
1.435 - };
1.436 -
1.437 -/** Defines the sorting and grouping rules used to prepare a selection of entries.
1.438 -
1.439 -It is used in the interfaces of CMsvEntry and CMsvServerEntry to set the ordering
1.440 -of an entry's children.
1.441 -
1.442 -Firstly, the entries will be grouped, if the appropriate grouping option is
1.443 -set, by:
1.444 -
1.445 -1. Standard folders: any entries marked as standard folders are placed first,
1.446 -in the order they were created.
1.447 -
1.448 -2. Entry type: in the order services, folders, messages, attachments, unknown
1.449 -
1.450 -3. Priority: in the order high, medium, then low
1.451 -
1.452 -4. MTM: either in the MTM order set by CMsvEntry::SetMtmListL() or just in MTM
1.453 -Uid value
1.454 -
1.455 -Grouping options are simply Boolean flags that can be set on or off by functions
1.456 -of this class.
1.457 -
1.458 -Secondly, the order of entries within these groups is defined by a sorting
1.459 -order option.
1.460 -
1.461 -@see CMsvEntry
1.462 -@see CMsvServerEntry
1.463 -@publishedAll
1.464 -@released
1.465 -*/
1.466 -class TMsvSelectionOrdering
1.467 - {
1.468 -public:
1.469 - IMPORT_C TMsvSelectionOrdering();
1.470 - IMPORT_C TMsvSelectionOrdering(TInt aGroupingKey, TMsvSorting aSorting, TBool aShowInvisible=EFalse);
1.471 - IMPORT_C void InternalizeL(RReadStream& aStream);
1.472 - IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
1.473 - IMPORT_C TBool operator==(const TMsvSelectionOrdering& aOrdering) const;
1.474 - IMPORT_C void SetSubjectSkipString(const TDesC& aSubjectSkipString);
1.475 - IMPORT_C const TDesC& SubjectSkipString() const;
1.476 -
1.477 - //
1.478 - inline TMsvSorting Sorting() const;
1.479 - inline TBool GroupByType() const;
1.480 - inline TBool GroupStandardFolders() const;
1.481 - inline TBool GroupByPriority() const;
1.482 - inline TBool GroupByMtm() const;
1.483 - inline TBool ShowInvisibleEntries() const;
1.484 - inline TBool GroupingOn() const;
1.485 - //
1.486 - inline void SetGroupByType(TBool aFlag);
1.487 - inline void SetGroupStandardFolders(TBool aFlag);
1.488 - inline void SetGroupByPriority(TBool aFlag);
1.489 - inline void SetGroupByMtm(TBool aFlag);
1.490 - inline void SetShowInvisibleEntries(TBool aFlag);
1.491 - inline void SetSorting(TMsvSorting aSortType);
1.492 -
1.493 - //
1.494 - //
1.495 -private:
1.496 -
1.497 - enum TMsvGroupingPrivate
1.498 - {
1.499 - KMsvInvisibleFlag=0x1,
1.500 - KMsvStandardFolders=0x4,
1.501 - KMsvAllGroupingFlags=0x1e
1.502 - };
1.503 - TInt iGrouping;
1.504 - TMsvSorting iSortType;
1.505 - TBuf<KMaxSubjectSkipStringLength> iSubjectSkipString;
1.506 - };
1.507 -
1.508 -const TInt KMsvInvisibleFlag=1;
1.509 -
1.510 -/** Encapsulates an array of entry IDs.
1.511 -
1.512 -An object of this type is commonly passed to a function to indicate the set
1.513 -of entries on which the function should operate. The array base class (CArrayFixFlat<TMsvId>)
1.514 -provide methods to access, sort, and manipulate members of the array.
1.515 -
1.516 -@publishedAll
1.517 -@released
1.518 -*/
1.519 -class CMsvEntrySelection : public CArrayFixFlat<TMsvId>
1.520 - {
1.521 -public:
1.522 - IMPORT_C CMsvEntrySelection();
1.523 - IMPORT_C CMsvEntrySelection* CopyL() const;
1.524 - IMPORT_C CMsvEntrySelection* CopyLC() const;
1.525 - IMPORT_C TInt Find(TMsvId aId) const;
1.526 - };
1.527 -
1.528 -/** Specifies a default service for a MTM.
1.529 -
1.530 -@publishedAll
1.531 -@released
1.532 -*/
1.533 -class TMsvDefaultService
1.534 - {
1.535 -public:
1.536 - /** MTM for which the default service is specified. */
1.537 - TUid iMtm;
1.538 - /** ID of the default service. */
1.539 - TMsvId iService;
1.540 - };
1.541 -
1.542 -
1.543 -
1.544 -/** Used to query the Message Server for entries that match the specification defined
1.545 -in the filter.
1.546 -
1.547 -It allows a query to be performed on service, MTM, type and last change date.
1.548 -The filter also enables the specification of the order in which the entries
1.549 -are returned.
1.550 -
1.551 -@see CMsvSession::GetChildIdsL()
1.552 -@publishedAll
1.553 -@released
1.554 -*/
1.555 -class CMsvEntryFilter : public CBase
1.556 - {
1.557 -public:
1.558 - IMPORT_C static CMsvEntryFilter* NewLC();
1.559 - IMPORT_C static CMsvEntryFilter* NewL();
1.560 - //
1.561 -public:
1.562 - inline TMsvId Service() const;
1.563 - inline void SetService(TMsvId aServiceId);
1.564 - //
1.565 - inline TUid Mtm() const;
1.566 - inline void SetMtm(TUid aMtm);
1.567 - //
1.568 - inline TUid Type() const;
1.569 - inline void SetType(TUid aType);
1.570 - //
1.571 - inline const TTime& LastChangeDate() const;
1.572 - inline void SetLastChangeDate(const TTime& aLastChange);
1.573 - //
1.574 - inline const TMsvSelectionOrdering& Order() const;
1.575 - inline void SetOrder(const TMsvSelectionOrdering& aOrder);
1.576 - //
1.577 - inline TUid SortMtm() const;
1.578 - inline void SetSortMtm(TUid aSortMtm);
1.579 - //
1.580 -private:
1.581 - CMsvEntryFilter();
1.582 - //
1.583 -private:
1.584 - TMsvId iServiceId;
1.585 - TUid iMtm;
1.586 - TUid iType;
1.587 - TTime iLastChange;
1.588 - TMsvSelectionOrdering iOrdering;
1.589 - TUid iSortMtm;
1.590 - };
1.591 -
1.592 -// Error resolver leave codes -7000 to -7127
1.593 -/** Defines error codes that relate to the Message Server.
1.594 -
1.595 -@see MMsvEntryObserver::EMsvContextInvalid
1.596 -@publishedAll
1.597 -@released
1.598 -*/
1.599 -enum TMsvResolverLeave
1.600 - {
1.601 - /** There is no disk in the drive containing the Message Server index. */
1.602 - KMsvMediaUnavailable = -7000,
1.603 - /** There is a disk in the drive containing the Message Server index, but it is
1.604 - the wrong one. */
1.605 - KMsvMediaIncorrect = -7001,
1.606 - /** A CMsvEntry context is no longer valid because the location of the Message Server's
1.607 - index has changed.
1.608 -
1.609 - Such contexts will need refreshing by the client.
1.610 -
1.611 - @see MMsvEntryObserver::EMsvContextInvalid */
1.612 - KMsvMediaChanged = -7002,
1.613 - KMsvIndexBackup = -7003,
1.614 - KMsvIndexRestore = -7004
1.615 - };
1.616 -
1.617 -#include <msvstd.inl>
1.618 -
1.619 -#endif