4289f30f5845931821e34ad8cbc7601e8e201abb
[browser-dbus-bridge.git] / xpcom-dbusservice / IDBusService.idl
1 /**
2  * Browser D-Bus Bridge, XPCOM version
3  *
4  * Copyright © 2008 Movial Creative Technologies Inc
5  *  Contact: Movial Creative Technologies Inc, <info@movial.com>
6  *  Authors: Lauri Mylläri, <lauri.myllari@movial.fi>
7  *
8  * The contents of this file are subject to the Mozilla Public License
9  * Version 1.1 (the "License"); you may not use this file except in
10  * compliance with the License. You may obtain a copy of the License at
11  * http://www.mozilla.org/MPL/
12  *
13  * Software distributed under the License is distributed on an "AS IS"
14  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
15  * License for the specific language governing rights and limitations
16  * under the License.
17  *
18  * The Original Code is the Browser D-Bus Bridge, XPCOM version.
19  *
20  * The Initial Developer of the Original Code is Movial Creative Technologies
21  * Inc. Portions created by Initial Developer are Copyright (C) 2008
22  * Movial Creative Technologies Inc. All Rights Reserved.
23  *
24  */
25
26 #include "nsISupports.idl"
27 #include "nsIWeakReference.idl"
28 #include "nsIVariant.idl"
29 #include "nsIArray.idl"
30
31 [function, scriptable, uuid(8eeddd8d-6e82-438a-9451-753f92bef2db)]
32 interface IDBusMethodCallback : nsISupports
33 {
34         void onReply(in nsIVariant args);
35 };
36
37 [scriptable, uuid(71fd21e1-ca1b-4d42-9435-a32382532820)]
38 interface IDBusMethod : nsISupports
39 {
40         attribute boolean async;
41         attribute IDBusMethodCallback onReply;
42         attribute IDBusMethodCallback onError;
43
44         void doCall([array, size_is(count)] in nsIVariant args,
45                     in PRUint32 count);
46 };
47
48 [function, scriptable, uuid(0f87e70b-af7b-44c0-b0a3-1df8e3fa66da)]
49 interface IDBusSignalObserver : nsISupports
50 {
51         void onSignal(in nsIVariant args);
52                       
53 };
54
55 [scriptable, uuid(d8107805-9980-46ed-bccf-f3e6ac9fe989)]
56 interface IDBusSignal : nsISupports
57 {
58         attribute IDBusSignalObserver onEmit;
59         attribute boolean enabled;
60
61         readonly attribute PRUint32 busType;
62         readonly attribute ACString interfaceName;
63         readonly attribute ACString signalName;
64         readonly attribute ACString sender;
65         readonly attribute ACString objectPath;
66 };
67
68 [scriptable, uuid(084b9397-0d6b-4c2c-93f9-f929f6b6e9e7)]
69 interface IDBusService : nsISupports
70 {
71         const PRUint32 SYSTEM = 0;
72         const PRUint32 SESSION = 1;
73
74         IDBusSignal getSignal(in PRUint32 busType,
75                               in ACString interfaceName,
76                               in ACString signalName,
77                               in ACString sender,
78                               in ACString objectPath);
79
80         IDBusMethod getMethod(in PRUint32 busType,
81                               in ACString destination,
82                               in ACString objectPath,
83                               in ACString methodName,
84                               in ACString interfaceName,
85                               in ACString signature);
86
87 };
88
89
90
91 /* vim: set cindent ts=8 et sw=8: */