sbIMediaExportAgentService.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 
29 
30 //
31 // @brief This IDL file defines a generic "export" agent service that is used
32 // by the media-export service at shutdown. When the media-export
33 // service has finished writing the changes that happened inside of
34 // Songbird to a task file, this service is requested to begin
35 // background processing of the task file.
36 //
37 // NOTE: The task files are saved in |NS_APP_APPLICATION_REGISTRY_DIR|.
38 //
39 
40 %{C++
41 
42 #define SB_MEDIAEXPORTAGENTSERVICE_CONTRACTID \
43  "@songbirdnest.com/media-export-agent-service;1"
44 #define SB_MEDIAEXPORTAGENTSERVICE_CLASSNAME \
45  "Songbird Media Export iTunes Agent Service"
46 %}
47 
48 [scriptable, uuid(DDA49DAF-C9AF-4A36-B377-33D8C1895A7B)]
50 {
51  //
52  // @brief This method will be called by the media-export service when
53  // the background agent should start itself.
54  //
55  void startExportAgent();
56 
57  //
58  // @brief This method will be called when the media-export service is no
59  // longer exporting data. At this time, any startup OS hooks should
60  // be removed.
61  //
62  void unregisterExportAgent();
63 
64  //
65  // @brief Return true if the agent is currently running, false if not.
66  //
67  readonly attribute boolean isAgentRunning;
68 
69  //
70  // @brief This method will find and kill all the active agent processes that
71  // the user has running. This method should block until all active
72  // processes have been terminated.
73  //
74  void killActiveAgents();
75 };
76 
var uuid
function C(H)
readonly attribute boolean isAgentRunning