~vtuson/scopecreator/twitter-template

« back to all changes in this revision

Viewing changes to src/go/src/launchpad.net/go-dbus/v1/proxy.go

  • Committer: Victor Palau
  • Date: 2015-03-11 14:24:42 UTC
  • Revision ID: vtuson@gmail.com-20150311142442-f2pxp111c8ynv232
public release

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package dbus
 
2
 
 
3
// This is not yet finished: it is an idea for what statically generated object bindings could look like.
 
4
 
 
5
type Introspectable struct {
 
6
        *ObjectProxy
 
7
}
 
8
 
 
9
func (o *Introspectable) Introspect() (data string, err error) {
 
10
        reply, err := o.Call("org.freedesktop.DBus.Introspectable", "Introspect")
 
11
        if err != nil {
 
12
                return
 
13
        }
 
14
        err = reply.Args(&data)
 
15
        return
 
16
}
 
17
 
 
18
type Properties struct {
 
19
        *ObjectProxy
 
20
}
 
21
 
 
22
func (o *Properties) Get(interfaceName string, propertyName string) (value interface{}, err error) {
 
23
        reply, err := o.Call("org.freedesktop.DBus.Properties", "Get", interfaceName, propertyName)
 
24
        if err != nil {
 
25
                return
 
26
        }
 
27
        var variant Variant
 
28
        err = reply.Args(&variant)
 
29
        value = variant.Value
 
30
        return
 
31
}
 
32
 
 
33
func (o *Properties) Set(interfaceName string, propertyName string, value interface{}) (err error) {
 
34
        _, err = o.Call("org.freedesktop.DBus.Properties", "Set", interfaceName, propertyName, Variant{value})
 
35
        return
 
36
}
 
37
 
 
38
func (o *Properties) GetAll(interfaceName string) (props map[string]Variant, err error) {
 
39
        reply, err := o.Call("org.freedesktop.DBus.Properties", "GetAll", interfaceName)
 
40
        if err != nil {
 
41
                return
 
42
        }
 
43
        err = reply.Args(&props)
 
44
        return
 
45
}
 
46
 
 
47
type BusDaemon struct {
 
48
        *ObjectProxy
 
49
}
 
50
 
 
51
func (o *BusDaemon) Hello() (uniqueName string, err error) {
 
52
        reply, err := o.Call(BUS_DAEMON_IFACE, "Hello")
 
53
        if err != nil {
 
54
                return
 
55
        }
 
56
        err = reply.Args(&uniqueName)
 
57
        return
 
58
}
 
59
 
 
60
func (o *BusDaemon) RequestName(name string, flags uint32) (result uint32, err error) {
 
61
        reply, err := o.Call(BUS_DAEMON_IFACE, "RequestName", name, flags)
 
62
        if err != nil {
 
63
                return
 
64
        }
 
65
        err = reply.Args(&result)
 
66
        return
 
67
}
 
68
 
 
69
func (o *BusDaemon) ReleaseName(name string) (result uint32, err error) {
 
70
        reply, err := o.Call(BUS_DAEMON_IFACE, "ReleaseName", name)
 
71
        if err != nil {
 
72
                return
 
73
        }
 
74
        err = reply.Args(&result)
 
75
        return
 
76
}
 
77
 
 
78
func (o *BusDaemon) ListQueuedOwners(name string) (owners []string, err error) {
 
79
        reply, err := o.Call(BUS_DAEMON_IFACE, "ListQueuedOwners", name)
 
80
        if err != nil {
 
81
                return
 
82
        }
 
83
        err = reply.Args(&owners)
 
84
        return
 
85
}
 
86
 
 
87
func (o *BusDaemon) ListNames() (names []string, err error) {
 
88
        reply, err := o.Call(BUS_DAEMON_IFACE, "ListNames")
 
89
        if err != nil {
 
90
                return
 
91
        }
 
92
        err = reply.Args(&names)
 
93
        return
 
94
}
 
95
 
 
96
func (o *BusDaemon) ListActivatableNames() (names []string, err error) {
 
97
        reply, err := o.Call(BUS_DAEMON_IFACE, "ListActivatableNames")
 
98
        if err != nil {
 
99
                return
 
100
        }
 
101
        err = reply.Args(&names)
 
102
        return
 
103
}
 
104
 
 
105
func (o *BusDaemon) NameHasOwner(name string) (hasOwner bool, err error) {
 
106
        reply, err := o.Call(BUS_DAEMON_IFACE, "NameHasOwner", name)
 
107
        if err != nil {
 
108
                return
 
109
        }
 
110
        err = reply.Args(&hasOwner)
 
111
        return
 
112
}
 
113
 
 
114
func (o *BusDaemon) StartServiceByName(name string, flags uint32) (result uint32, err error) {
 
115
        reply, err := o.Call(BUS_DAEMON_IFACE, "StartServiceByName", name, flags)
 
116
        if err != nil {
 
117
                return
 
118
        }
 
119
        err = reply.Args(&result)
 
120
        return
 
121
}
 
122
 
 
123
func (o *BusDaemon) UpdateActivationEnvironment(env map[string]string) (err error) {
 
124
        _, err = o.Call(BUS_DAEMON_IFACE, "UpdateActivationEnvironment", env)
 
125
        return
 
126
}
 
127
 
 
128
func (o *BusDaemon) GetNameOwner(name string) (owner string, err error) {
 
129
        reply, err := o.Call(BUS_DAEMON_IFACE, "GetNameOwner", name)
 
130
        if err != nil {
 
131
                return
 
132
        }
 
133
        err = reply.Args(&owner)
 
134
        return
 
135
}
 
136
 
 
137
func (o *BusDaemon) GetConnectionUnixUser(busName string) (user uint32, err error) {
 
138
        reply, err := o.Call(BUS_DAEMON_IFACE, "GetConnectionUnixUser", busName)
 
139
        if err != nil {
 
140
                return
 
141
        }
 
142
        err = reply.Args(&user)
 
143
        return
 
144
}
 
145
 
 
146
func (o *BusDaemon) GetConnectionUnixProcessID(busName string) (process uint32, err error) {
 
147
        reply, err := o.Call(BUS_DAEMON_IFACE, "GetConnectionUnixProcessID", busName)
 
148
        if err != nil {
 
149
                return
 
150
        }
 
151
        err = reply.Args(&process)
 
152
        return
 
153
}
 
154
 
 
155
func (o *BusDaemon) AddMatch(rule string) (err error) {
 
156
        _, err = o.Call(BUS_DAEMON_IFACE, "AddMatch", rule)
 
157
        return
 
158
}
 
159
 
 
160
func (o *BusDaemon) RemoveMatch(rule string) (err error) {
 
161
        _, err = o.Call(BUS_DAEMON_IFACE, "RemoveMatch", rule)
 
162
        return
 
163
}
 
164
 
 
165
func (o *BusDaemon) GetId() (busId string, err error) {
 
166
        reply, err := o.Call(BUS_DAEMON_IFACE, "GetId")
 
167
        if err != nil {
 
168
                return
 
169
        }
 
170
        err = reply.Args(&busId)
 
171
        return
 
172
}