1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 
6 #ifndef MailNewsTypes_h__
7 #define MailNewsTypes_h__
8 
9 #include "msgCore.h"
10 #include "MailNewsTypes2.h"
11 
12 /* nsMsgKey is a unique ID for a particular message in a folder.  If you want
13    a handle to a message that will remain valid even after resorting the folder
14    or otherwise changing their indices, you want one of these rather than a
15    nsMsgViewIndex. nsMsgKeys don't survive local mail folder compression,
16    however.
17  */
18 const nsMsgKey nsMsgKey_None = 0xffffffff;
19 
20 /* nsMsgViewIndex
21  *
22  * A generic index type from which other index types are derived.  All
23  * nsMsgViewIndex derived types are zero based.
24  *
25  * The following index types are currently supported:
26  *  - nsMsgViewIndex - an index into the list of messages or folders or groups,
27  *    where zero is the first one to show, one is the second, etc...
28  *  - AB_SelectionIndex
29  *  - AB_NameCompletionIndex
30  */
31 
32 const nsMsgViewIndex nsMsgViewIndex_None = 0xFFFFFFFF;
33 
34 /* kSizeUnknown is a special value of folder size that indicates the size
35  * is unknown yet. Usually this causes the folder to determine the real size
36  * immediately as it is queried by a consumer.
37  */
38 const int64_t kSizeUnknown = -1;
39 
40 #endif
41