This file is indexed.

/usr/share/idl/thunderbird-11.0.1/nsIPop3Service.idl is in thunderbird-dev 11.0.1+build1-0ubuntu2.

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
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is mozilla.org code.
 *
 * The Initial Developer of the Original Code is
 * Netscape Communications Corporation.
 * Portions created by the Initial Developer are Copyright (C) 1998
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either of the GNU General Public License Version 2 or later (the "GPL"),
 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 *
 * ***** END LICENSE BLOCK ***** */

#include "nsISupports.idl"
#include "nsIUrlListener.idl"
#include "nsIPop3IncomingServer.idl"
#include "nsIMsgFolder.idl"

interface nsIURI;
interface nsIStreamListener;
interface nsIMsgWindow;
interface nsIMsgFolder;

[scriptable, uuid(7302fd8e-946f-4ae3-9468-0fb3a7706c51)]
interface nsIPop3ServiceListener : nsISupports {
  /**
   * Notification that a pop3 download has started.
   *
   * @param aFolder folder in which the download is started.
   */
  void onDownloadStarted(in nsIMsgFolder aFolder);

  /**
   * Notification about download progress.
   *
   * @param aFolder folder in which the download is happening.
   * @param aNumDownloaded number of the messages that have been downloaded.
   * @param aTotalToDownload total number of messages to download.
   */
  void onDownloadProgress(in nsIMsgFolder aFolder,
                          in unsigned long aNumDownloaded,
                          in unsigned long aTotalToDownload);

  /**
   * Notification that a download has completed.
   *
   * @param aFolder folder to which the download has completed.
   * @param aNumberOfMessages number of the messages that were downloaded.
   */
  void onDownloadCompleted(in nsIMsgFolder aFolder,
                           in unsigned long aNumberOfMessages);
};

/*
 * The Pop3 Service is an interface designed to make building and running
 * pop3 urls easier.
 */
[scriptable, uuid(96d3cc14-a842-4cdf-98f8-a4cc695f8b3b)]
interface nsIPop3Service : nsISupports {
  /*
   * All of these functions build pop3 urls and run them. If you want
   * a handle on the running task, pass in a valid nsIURI ptr. You can later
   * interrupt this action by asking the netlib service manager to interrupt
   * the url you are given back. Remember to release aURL when you are
   * done with it. Pass nsnull in for aURL if you
   * don't care about the returned URL.
   */

  /*
   * right now getting new mail doesn't require any user specific data.
   * We use the default current identity for this information. I suspect that
   * we'll eventually pass in an identity to this call so you can get
   * mail on different pop3 accounts....
   */

  nsIURI GetNewMail(in nsIMsgWindow aMsgWindow, in nsIUrlListener aUrlListener,
                    in nsIMsgFolder aInbox, in nsIPop3IncomingServer popServer);

  nsIURI CheckForNewMail(in nsIMsgWindow aMsgWindow, in nsIUrlListener aUrlListener,
                         in nsIMsgFolder inbox, in nsIPop3IncomingServer popServer);

  /**
   * Verify that we can logon
   *
   * @param  aServer - pop3 server we're logging on to.
   * @param  aUrlListener - gets called back with success or failure.
   * @param aMsgWindow    - nsIMsgWindow to use for notification callbacks.
   * @return - the url that we run.
   *
   */
  nsIURI verifyLogon(in nsIMsgIncomingServer aServer,
                     in nsIUrlListener aUrlListener,
                     in nsIMsgWindow aMsgWindow);

  /**
   * Add a listener for pop3 events like message download. This is
   * used by the activity manager.
   *
   * @param aListener listener that gets notified of pop3 events.
   */
  void addListener(in nsIPop3ServiceListener aListener);

  /**
   * Remove a listener for pop3 events like message download.
   *
   * @param aListener listener to remove.
   */
  void removeListener(in nsIPop3ServiceListener aListener);

  /**
   * Send the notification that a pop3 download has started.
   * This is called from the nsIPop3Sink code.
   *
   * @param aFolder folder in which the download is started.
   */
  void notifyDownloadStarted(in nsIMsgFolder aFolder);

  /**
   * Send notification about download progress.
   *
   * @param aFolder folder in which the download is happening.
   * @param aNumDownloaded number of the messages that have been downloaded.
   * @param aTotalToDownload total number of messages to download.
   */
  void notifyDownloadProgress(in nsIMsgFolder aFolder,
                              in unsigned long aNumDownloaded,
                              in unsigned long aTotalToDownload);
  /**
   * Send the notification that a download has completed.
   * This is called from the nsIPop3Sink code.
   *
   * @param aFolder folder to which the download has completed.
   * @param aNumberOfMessages number of the messages that were downloaded.
   */
  void notifyDownloadCompleted(in nsIMsgFolder aFolder,
                               in unsigned long aNumberOfMessages);
};