This file is indexed.

/usr/include/thunderbird/nsIImapProtocol.h is in thunderbird-dev 1:52.8.0-1~deb8u1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/nsIImapProtocol.idl
 */

#ifndef __gen_nsIImapProtocol_h__
#define __gen_nsIImapProtocol_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIURI; /* forward declaration */

class nsIImapUrl; /* forward declaration */

class nsIImapProtocol; /* forward declaration */

class nsIImapIncomingServer; /* forward declaration */

class nsIMsgFolder; /* forward declaration */

class nsIImapHostSessionList; /* forward declaration */

class nsIMsgWindow; /* forward declaration */

class nsIImapFlagAndUidState; /* forward declaration */


/* starting interface:    nsIImapProtocol */
#define NS_IIMAPPROTOCOL_IID_STR "290412eb-5824-4087-8984-05450c9397be"

#define NS_IIMAPPROTOCOL_IID \
  {0x290412eb, 0x5824, 0x4087, \
    { 0x89, 0x84, 0x05, 0x45, 0x0c, 0x93, 0x97, 0xbe }}

class NS_NO_VTABLE nsIImapProtocol : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IIMAPPROTOCOL_IID)

  /* void LoadImapUrl (in nsIURI aUrl, in nsISupports aConsumer); */
  NS_IMETHOD LoadImapUrl(nsIURI *aUrl, nsISupports *aConsumer) = 0;

  /* void IsBusy (out boolean aIsConnectionBusy, out boolean isInboxConnection); */
  NS_IMETHOD IsBusy(bool *aIsConnectionBusy, bool *isInboxConnection) = 0;

  /* void CanHandleUrl (in nsIImapUrl aImapUrl, out boolean aCanRunUrl, out boolean hasToWait); */
  NS_IMETHOD CanHandleUrl(nsIImapUrl *aImapUrl, bool *aCanRunUrl, bool *hasToWait) = 0;

  /* void Initialize (in nsIImapHostSessionList aHostSessionList, in nsIImapIncomingServer aServer); */
  NS_IMETHOD Initialize(nsIImapHostSessionList *aHostSessionList, nsIImapIncomingServer *aServer) = 0;

  /* void NotifyBodysToDownload (out unsigned long keys, in unsigned long count); */
  NS_IMETHOD NotifyBodysToDownload(uint32_t *keys, uint32_t count) = 0;

  /* void GetFlagsForUID (in unsigned long uid, out boolean foundIt, out unsigned short flags, out string customFlags); */
  NS_IMETHOD GetFlagsForUID(uint32_t uid, bool *foundIt, uint16_t *flags, char * *customFlags) = 0;

  /* void GetSupportedUserFlags (out unsigned short flags); */
  NS_IMETHOD GetSupportedUserFlags(uint16_t *flags) = 0;

  /* void GetRunningImapURL (out nsIImapUrl aImapUrl); */
  NS_IMETHOD GetRunningImapURL(nsIImapUrl * *aImapUrl) = 0;

  /* void GetRunningUrl (out nsIURI aUrl); */
  NS_IMETHOD GetRunningUrl(nsIURI * *aUrl) = 0;

  /* readonly attribute nsIImapFlagAndUidState flagAndUidState; */
  NS_IMETHOD GetFlagAndUidState(nsIImapFlagAndUidState * *aFlagAndUidState) = 0;

  /* void tellThreadToDie (in boolean aIsSafeToClose); */
  NS_IMETHOD TellThreadToDie(bool aIsSafeToClose) = 0;

  /* void GetLastActiveTimeStamp (out PRTime aTimeStamp); */
  NS_IMETHOD GetLastActiveTimeStamp(PRTime *aTimeStamp) = 0;

  /* void pseudoInterruptMsgLoad (in nsIMsgFolder imapFolder, in nsIMsgWindow aMsgWindow, out boolean interrupted); */
  NS_IMETHOD PseudoInterruptMsgLoad(nsIMsgFolder *imapFolder, nsIMsgWindow *aMsgWindow, bool *interrupted) = 0;

  /* void GetSelectedMailboxName (out string folderName); */
  NS_IMETHOD GetSelectedMailboxName(char * *folderName) = 0;

  /* void ResetToAuthenticatedState (); */
  NS_IMETHOD ResetToAuthenticatedState(void) = 0;

  /* void OverrideConnectionInfo (in wstring pHost, in unsigned short pPort, in string pCookieData); */
  NS_IMETHOD OverrideConnectionInfo(const char16_t * pHost, uint16_t pPort, const char * pCookieData) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIImapProtocol, NS_IIMAPPROTOCOL_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIIMAPPROTOCOL \
  NS_IMETHOD LoadImapUrl(nsIURI *aUrl, nsISupports *aConsumer) override; \
  NS_IMETHOD IsBusy(bool *aIsConnectionBusy, bool *isInboxConnection) override; \
  NS_IMETHOD CanHandleUrl(nsIImapUrl *aImapUrl, bool *aCanRunUrl, bool *hasToWait) override; \
  NS_IMETHOD Initialize(nsIImapHostSessionList *aHostSessionList, nsIImapIncomingServer *aServer) override; \
  NS_IMETHOD NotifyBodysToDownload(uint32_t *keys, uint32_t count) override; \
  NS_IMETHOD GetFlagsForUID(uint32_t uid, bool *foundIt, uint16_t *flags, char * *customFlags) override; \
  NS_IMETHOD GetSupportedUserFlags(uint16_t *flags) override; \
  NS_IMETHOD GetRunningImapURL(nsIImapUrl * *aImapUrl) override; \
  NS_IMETHOD GetRunningUrl(nsIURI * *aUrl) override; \
  NS_IMETHOD GetFlagAndUidState(nsIImapFlagAndUidState * *aFlagAndUidState) override; \
  NS_IMETHOD TellThreadToDie(bool aIsSafeToClose) override; \
  NS_IMETHOD GetLastActiveTimeStamp(PRTime *aTimeStamp) override; \
  NS_IMETHOD PseudoInterruptMsgLoad(nsIMsgFolder *imapFolder, nsIMsgWindow *aMsgWindow, bool *interrupted) override; \
  NS_IMETHOD GetSelectedMailboxName(char * *folderName) override; \
  NS_IMETHOD ResetToAuthenticatedState(void) override; \
  NS_IMETHOD OverrideConnectionInfo(const char16_t * pHost, uint16_t pPort, const char * pCookieData) override; 

/* Use this macro when declaring the members of this interface when the
   class doesn't implement the interface. This is useful for forwarding. */
#define NS_DECL_NON_VIRTUAL_NSIIMAPPROTOCOL \
  NS_METHOD LoadImapUrl(nsIURI *aUrl, nsISupports *aConsumer); \
  NS_METHOD IsBusy(bool *aIsConnectionBusy, bool *isInboxConnection); \
  NS_METHOD CanHandleUrl(nsIImapUrl *aImapUrl, bool *aCanRunUrl, bool *hasToWait); \
  NS_METHOD Initialize(nsIImapHostSessionList *aHostSessionList, nsIImapIncomingServer *aServer); \
  NS_METHOD NotifyBodysToDownload(uint32_t *keys, uint32_t count); \
  NS_METHOD GetFlagsForUID(uint32_t uid, bool *foundIt, uint16_t *flags, char * *customFlags); \
  NS_METHOD GetSupportedUserFlags(uint16_t *flags); \
  NS_METHOD GetRunningImapURL(nsIImapUrl * *aImapUrl); \
  NS_METHOD GetRunningUrl(nsIURI * *aUrl); \
  NS_METHOD GetFlagAndUidState(nsIImapFlagAndUidState * *aFlagAndUidState); \
  NS_METHOD TellThreadToDie(bool aIsSafeToClose); \
  NS_METHOD GetLastActiveTimeStamp(PRTime *aTimeStamp); \
  NS_METHOD PseudoInterruptMsgLoad(nsIMsgFolder *imapFolder, nsIMsgWindow *aMsgWindow, bool *interrupted); \
  NS_METHOD GetSelectedMailboxName(char * *folderName); \
  NS_METHOD ResetToAuthenticatedState(void); \
  NS_METHOD OverrideConnectionInfo(const char16_t * pHost, uint16_t pPort, const char * pCookieData); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIIMAPPROTOCOL(_to) \
  NS_IMETHOD LoadImapUrl(nsIURI *aUrl, nsISupports *aConsumer) override { return _to LoadImapUrl(aUrl, aConsumer); } \
  NS_IMETHOD IsBusy(bool *aIsConnectionBusy, bool *isInboxConnection) override { return _to IsBusy(aIsConnectionBusy, isInboxConnection); } \
  NS_IMETHOD CanHandleUrl(nsIImapUrl *aImapUrl, bool *aCanRunUrl, bool *hasToWait) override { return _to CanHandleUrl(aImapUrl, aCanRunUrl, hasToWait); } \
  NS_IMETHOD Initialize(nsIImapHostSessionList *aHostSessionList, nsIImapIncomingServer *aServer) override { return _to Initialize(aHostSessionList, aServer); } \
  NS_IMETHOD NotifyBodysToDownload(uint32_t *keys, uint32_t count) override { return _to NotifyBodysToDownload(keys, count); } \
  NS_IMETHOD GetFlagsForUID(uint32_t uid, bool *foundIt, uint16_t *flags, char * *customFlags) override { return _to GetFlagsForUID(uid, foundIt, flags, customFlags); } \
  NS_IMETHOD GetSupportedUserFlags(uint16_t *flags) override { return _to GetSupportedUserFlags(flags); } \
  NS_IMETHOD GetRunningImapURL(nsIImapUrl * *aImapUrl) override { return _to GetRunningImapURL(aImapUrl); } \
  NS_IMETHOD GetRunningUrl(nsIURI * *aUrl) override { return _to GetRunningUrl(aUrl); } \
  NS_IMETHOD GetFlagAndUidState(nsIImapFlagAndUidState * *aFlagAndUidState) override { return _to GetFlagAndUidState(aFlagAndUidState); } \
  NS_IMETHOD TellThreadToDie(bool aIsSafeToClose) override { return _to TellThreadToDie(aIsSafeToClose); } \
  NS_IMETHOD GetLastActiveTimeStamp(PRTime *aTimeStamp) override { return _to GetLastActiveTimeStamp(aTimeStamp); } \
  NS_IMETHOD PseudoInterruptMsgLoad(nsIMsgFolder *imapFolder, nsIMsgWindow *aMsgWindow, bool *interrupted) override { return _to PseudoInterruptMsgLoad(imapFolder, aMsgWindow, interrupted); } \
  NS_IMETHOD GetSelectedMailboxName(char * *folderName) override { return _to GetSelectedMailboxName(folderName); } \
  NS_IMETHOD ResetToAuthenticatedState(void) override { return _to ResetToAuthenticatedState(); } \
  NS_IMETHOD OverrideConnectionInfo(const char16_t * pHost, uint16_t pPort, const char * pCookieData) override { return _to OverrideConnectionInfo(pHost, pPort, pCookieData); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIIMAPPROTOCOL(_to) \
  NS_IMETHOD LoadImapUrl(nsIURI *aUrl, nsISupports *aConsumer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->LoadImapUrl(aUrl, aConsumer); } \
  NS_IMETHOD IsBusy(bool *aIsConnectionBusy, bool *isInboxConnection) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsBusy(aIsConnectionBusy, isInboxConnection); } \
  NS_IMETHOD CanHandleUrl(nsIImapUrl *aImapUrl, bool *aCanRunUrl, bool *hasToWait) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CanHandleUrl(aImapUrl, aCanRunUrl, hasToWait); } \
  NS_IMETHOD Initialize(nsIImapHostSessionList *aHostSessionList, nsIImapIncomingServer *aServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Initialize(aHostSessionList, aServer); } \
  NS_IMETHOD NotifyBodysToDownload(uint32_t *keys, uint32_t count) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyBodysToDownload(keys, count); } \
  NS_IMETHOD GetFlagsForUID(uint32_t uid, bool *foundIt, uint16_t *flags, char * *customFlags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlagsForUID(uid, foundIt, flags, customFlags); } \
  NS_IMETHOD GetSupportedUserFlags(uint16_t *flags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSupportedUserFlags(flags); } \
  NS_IMETHOD GetRunningImapURL(nsIImapUrl * *aImapUrl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRunningImapURL(aImapUrl); } \
  NS_IMETHOD GetRunningUrl(nsIURI * *aUrl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRunningUrl(aUrl); } \
  NS_IMETHOD GetFlagAndUidState(nsIImapFlagAndUidState * *aFlagAndUidState) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlagAndUidState(aFlagAndUidState); } \
  NS_IMETHOD TellThreadToDie(bool aIsSafeToClose) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TellThreadToDie(aIsSafeToClose); } \
  NS_IMETHOD GetLastActiveTimeStamp(PRTime *aTimeStamp) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastActiveTimeStamp(aTimeStamp); } \
  NS_IMETHOD PseudoInterruptMsgLoad(nsIMsgFolder *imapFolder, nsIMsgWindow *aMsgWindow, bool *interrupted) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PseudoInterruptMsgLoad(imapFolder, aMsgWindow, interrupted); } \
  NS_IMETHOD GetSelectedMailboxName(char * *folderName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSelectedMailboxName(folderName); } \
  NS_IMETHOD ResetToAuthenticatedState(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ResetToAuthenticatedState(); } \
  NS_IMETHOD OverrideConnectionInfo(const char16_t * pHost, uint16_t pPort, const char * pCookieData) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OverrideConnectionInfo(pHost, pPort, pCookieData); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsImapProtocol : public nsIImapProtocol
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIIMAPPROTOCOL

  nsImapProtocol();

private:
  ~nsImapProtocol();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsImapProtocol, nsIImapProtocol)

nsImapProtocol::nsImapProtocol()
{
  /* member initializers and constructor code */
}

nsImapProtocol::~nsImapProtocol()
{
  /* destructor code */
}

/* void LoadImapUrl (in nsIURI aUrl, in nsISupports aConsumer); */
NS_IMETHODIMP nsImapProtocol::LoadImapUrl(nsIURI *aUrl, nsISupports *aConsumer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void IsBusy (out boolean aIsConnectionBusy, out boolean isInboxConnection); */
NS_IMETHODIMP nsImapProtocol::IsBusy(bool *aIsConnectionBusy, bool *isInboxConnection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void CanHandleUrl (in nsIImapUrl aImapUrl, out boolean aCanRunUrl, out boolean hasToWait); */
NS_IMETHODIMP nsImapProtocol::CanHandleUrl(nsIImapUrl *aImapUrl, bool *aCanRunUrl, bool *hasToWait)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void Initialize (in nsIImapHostSessionList aHostSessionList, in nsIImapIncomingServer aServer); */
NS_IMETHODIMP nsImapProtocol::Initialize(nsIImapHostSessionList *aHostSessionList, nsIImapIncomingServer *aServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void NotifyBodysToDownload (out unsigned long keys, in unsigned long count); */
NS_IMETHODIMP nsImapProtocol::NotifyBodysToDownload(uint32_t *keys, uint32_t count)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetFlagsForUID (in unsigned long uid, out boolean foundIt, out unsigned short flags, out string customFlags); */
NS_IMETHODIMP nsImapProtocol::GetFlagsForUID(uint32_t uid, bool *foundIt, uint16_t *flags, char * *customFlags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetSupportedUserFlags (out unsigned short flags); */
NS_IMETHODIMP nsImapProtocol::GetSupportedUserFlags(uint16_t *flags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetRunningImapURL (out nsIImapUrl aImapUrl); */
NS_IMETHODIMP nsImapProtocol::GetRunningImapURL(nsIImapUrl * *aImapUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetRunningUrl (out nsIURI aUrl); */
NS_IMETHODIMP nsImapProtocol::GetRunningUrl(nsIURI * *aUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIImapFlagAndUidState flagAndUidState; */
NS_IMETHODIMP nsImapProtocol::GetFlagAndUidState(nsIImapFlagAndUidState * *aFlagAndUidState)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void tellThreadToDie (in boolean aIsSafeToClose); */
NS_IMETHODIMP nsImapProtocol::TellThreadToDie(bool aIsSafeToClose)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetLastActiveTimeStamp (out PRTime aTimeStamp); */
NS_IMETHODIMP nsImapProtocol::GetLastActiveTimeStamp(PRTime *aTimeStamp)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void pseudoInterruptMsgLoad (in nsIMsgFolder imapFolder, in nsIMsgWindow aMsgWindow, out boolean interrupted); */
NS_IMETHODIMP nsImapProtocol::PseudoInterruptMsgLoad(nsIMsgFolder *imapFolder, nsIMsgWindow *aMsgWindow, bool *interrupted)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetSelectedMailboxName (out string folderName); */
NS_IMETHODIMP nsImapProtocol::GetSelectedMailboxName(char * *folderName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void ResetToAuthenticatedState (); */
NS_IMETHODIMP nsImapProtocol::ResetToAuthenticatedState()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void OverrideConnectionInfo (in wstring pHost, in unsigned short pPort, in string pCookieData); */
NS_IMETHODIMP nsImapProtocol::OverrideConnectionInfo(const char16_t * pHost, uint16_t pPort, const char * pCookieData)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIImapProtocol_h__ */