sbIShutdownJob.idl
Go to the documentation of this file.
1 /*
2 //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2009 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25 */
26 
27 #include "nsISupports.idl"
28 #include "sbIJobProgress.idl"
29 
30 
31 //
32 // @brief This interface is used for registering generic tasks that need to
33 // be run at shutdown time.
34 //
35 // To register with the shutdown service, simply add a listener to
36 // the |nsIObserverService| for the topic "songbird-shutdown" and
37 // a reference to an implementor of this interface. When application
38 // shutdown occurs, all observers for "songbird-shutdown" will be
39 // queued and processed synchronously.
40 //
41 [scriptable, uuid(838329AB-15E1-4FF2-8EB3-C2754C8781D4)]
43 {
44  //
45  // @brief Inform the caller whether or not the task needs to be run.
46  // This attribute gives the task the flexibility to cancel running
47  // a task on shutdown if nothing needs to be run.
48  //
49  readonly attribute boolean needsToRunTask;
50 
51  //
52  // @brief At shutdown time, this function will be called to all the registered
53  // shutdown tasks. Shutdown will be temporarily haulted until
54  // |onJobProgress()| has been called on the assigned job progress
55  // listeners (inherited in this class from sbIJobProgress)
56  // @param aJobListener The listener to notify of the status of the task.
57  //
58  void startTask();
59 };
60 
readonly attribute boolean needsToRunTask
Generic interface for exposing long running jobs to the UI.
var uuid