sbIRemoteCommands.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-2008 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 
32 #include "nsISupports.idl"
33 
34 interface sbIRemotePlayer;
35 
36 /*
37 Class: Commands
38 The Commands Object allows remote web pages to add and remove commands.
39 
40 The Commands Object is associated with a <MediaList>. This means that
41 when <Commands> are modified, the modifications are scoped to the media list.
42 */
50 [scriptable, uuid(cff760df-5fe0-4657-8eb5-1d5d3ca12369)]
52 {
53  /*
54  Group: Command Methods
55  */
56 
57  /*
58  Method: addCommand
59  Add a command.
60 
61  Arguments:
62  type - The type of the command. This can be any one of
63  "action", "separator", "value", or "submenu".
64  id - The id of the command.
65  name - The name of the command.
66  tooltip - The tooltip for the command.
67  */
68  void addCommand(in AString aType, in AString aID, in AString aName, in AString aTooltip);
69 
70  /*
71  Method: removeCommand
72  Remove a command.
73 
74  Arguments:
75  id - The id of the command.
76 
77  See Also:
78  <addCommand>
79  */
80  void removeCommand(in AString aID);
81 
82  // Ew. this is so ugly. I'm hoping to be able to clean this up with nsIXPCScriptable
83  void setCommandData( in unsigned long aNumCommands,
84  [const, array, size_is(aNumCommands)] in wstring aTypeArray,
85  [const, array, size_is(aNumCommands)] in wstring aIDArray,
86  [const, array, size_is(aNumCommands)] in wstring aNameArray,
87  [const, array, size_is(aNumCommands)] in wstring aTooltipArray);
88 
89  // the remotePlayer sets this after it creates it.
90  [noscript] attribute sbIRemotePlayer owner;
91 };
92 
void removeCommand(in AString aID)
inArray array
This interface is a composition of many of our other interfaces with the goal of exposing a more web-...
var uuid
void setCommandData(in unsigned long aNumCommands, [const, array, size_is(aNumCommands)] in wstring aTypeArray, [const, array, size_is(aNumCommands)] in wstring aIDArray, [const, array, size_is(aNumCommands)] in wstring aNameArray, [const, array, size_is(aNumCommands)] in wstring aTooltipArray)
An interface to specify playlist commands from remote web pages.
void addCommand(in AString aType, in AString aID, in AString aName, in AString aTooltip)
_updateCookies aName
attribute sbIRemotePlayer owner