ruby-dbus 0.16.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/NEWS.md +288 -3
- data/README.md +3 -5
- data/Rakefile +27 -12
- data/VERSION +1 -1
- data/doc/Reference.md +109 -10
- data/examples/doc/_extract_examples +7 -0
- data/examples/no-bus/pulseaudio.rb +50 -0
- data/examples/no-introspect/nm-test.rb +2 -0
- data/examples/no-introspect/tracker-test.rb +3 -1
- data/examples/rhythmbox/playpause.rb +2 -1
- data/examples/service/call_service.rb +2 -1
- data/examples/service/complex-property.rb +21 -0
- data/examples/service/service_newapi.rb +3 -3
- data/examples/simple/call_introspect.rb +1 -0
- data/examples/simple/get_id.rb +6 -3
- data/examples/simple/properties.rb +2 -0
- data/examples/utils/listnames.rb +10 -1
- data/examples/utils/notify.rb +1 -0
- data/lib/dbus/api_options.rb +9 -0
- data/lib/dbus/auth.rb +307 -217
- data/lib/dbus/bus.rb +155 -588
- data/lib/dbus/bus_name.rb +12 -8
- data/lib/dbus/connection.rb +363 -0
- data/lib/dbus/core_ext/class/attribute.rb +1 -1
- data/lib/dbus/data.rb +821 -0
- data/lib/dbus/emits_changed_signal.rb +83 -0
- data/lib/dbus/error.rb +4 -2
- data/lib/dbus/introspect.rb +133 -31
- data/lib/dbus/logger.rb +6 -3
- data/lib/dbus/main.rb +66 -0
- data/lib/dbus/marshall.rb +247 -296
- data/lib/dbus/matchrule.rb +16 -16
- data/lib/dbus/message.rb +66 -57
- data/lib/dbus/message_queue.rb +40 -25
- data/lib/dbus/node_tree.rb +105 -0
- data/lib/dbus/object.rb +442 -33
- data/lib/dbus/object_manager.rb +61 -0
- data/lib/dbus/object_path.rb +11 -6
- data/lib/dbus/object_server.rb +149 -0
- data/lib/dbus/org.freedesktop.DBus.xml +97 -0
- data/lib/dbus/platform.rb +26 -0
- data/lib/dbus/proxy_object.rb +30 -11
- data/lib/dbus/proxy_object_factory.rb +13 -7
- data/lib/dbus/proxy_object_interface.rb +63 -30
- data/lib/dbus/proxy_service.rb +107 -0
- data/lib/dbus/raw_message.rb +91 -0
- data/lib/dbus/type.rb +319 -86
- data/lib/dbus/xml.rb +40 -19
- data/lib/dbus.rb +28 -17
- data/ruby-dbus.gemspec +13 -6
- data/spec/async_spec.rb +2 -0
- data/spec/auth_spec.rb +225 -0
- data/spec/binding_spec.rb +2 -0
- data/spec/bus_and_xml_backend_spec.rb +5 -1
- data/spec/bus_connection_spec.rb +93 -0
- data/spec/bus_name_spec.rb +3 -1
- data/spec/bus_spec.rb +2 -0
- data/spec/byte_array_spec.rb +2 -0
- data/spec/client_robustness_spec.rb +4 -2
- data/spec/connection_spec.rb +37 -0
- data/spec/coverage_helper.rb +39 -0
- data/spec/data/marshall.yaml +1667 -0
- data/spec/data_spec.rb +673 -0
- data/spec/dbus_spec.rb +22 -0
- data/spec/emits_changed_signal_spec.rb +58 -0
- data/spec/err_msg_spec.rb +2 -0
- data/spec/introspect_xml_parser_spec.rb +2 -0
- data/spec/introspection_spec.rb +2 -0
- data/spec/main_loop_spec.rb +17 -1
- data/spec/message_spec.rb +21 -0
- data/spec/mock-service/cockpit-dbustests.rb +29 -0
- data/spec/mock-service/com.redhat.Cockpit.DBusTests.xml +180 -0
- data/spec/mock-service/org.ruby.service.service +4 -0
- data/spec/mock-service/org.rubygems.ruby_dbus.DBusTests.service +4 -0
- data/spec/{service_newapi.rb → mock-service/spaghetti-monster.rb} +122 -75
- data/spec/node_spec.rb +65 -0
- data/spec/object_manager_spec.rb +33 -0
- data/spec/object_path_spec.rb +3 -0
- data/spec/object_server_spec.rb +138 -0
- data/spec/object_spec.rb +194 -0
- data/spec/packet_marshaller_spec.rb +41 -0
- data/spec/packet_unmarshaller_spec.rb +248 -0
- data/spec/platform_spec.rb +14 -0
- data/spec/property_spec.rb +214 -12
- data/spec/proxy_object_interface_spec.rb +35 -0
- data/spec/proxy_object_spec.rb +2 -0
- data/spec/{bus_driver_spec.rb → proxy_service_spec.rb} +15 -8
- data/spec/raw_message_spec.rb +32 -0
- data/spec/server_robustness_spec.rb +20 -6
- data/spec/session_bus_spec.rb +36 -1
- data/spec/session_bus_spec_manual.rb +2 -0
- data/spec/signal_spec.rb +16 -3
- data/spec/spec_helper.rb +25 -33
- data/spec/thread_safety_spec.rb +55 -12
- data/spec/tools/dbus-launch-simple +9 -6
- data/spec/tools/dbus-limited-session.conf +32 -0
- data/spec/tools/test_env +26 -6
- data/spec/type_spec.rb +214 -6
- data/spec/value_spec.rb +16 -1
- data/spec/variant_spec.rb +4 -2
- data/spec/zzz_quit_spec.rb +16 -0
- metadata +92 -20
- data/examples/gdbus/gdbus +0 -257
- data/examples/gdbus/gdbus.glade +0 -98
- data/examples/gdbus/launch.sh +0 -4
- data/spec/server_spec.rb +0 -53
- data/spec/tools/test_server +0 -39
data/spec/type_spec.rb
CHANGED
|
@@ -1,18 +1,226 @@
|
|
|
1
1
|
#!/usr/bin/env rspec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
2
4
|
require_relative "spec_helper"
|
|
3
5
|
require "dbus"
|
|
4
6
|
|
|
5
7
|
describe DBus do
|
|
6
8
|
describe ".type" do
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
good = [
|
|
10
|
+
"i",
|
|
11
|
+
"ai",
|
|
12
|
+
"a(ii)",
|
|
13
|
+
"aai"
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
context "valid single types" do
|
|
17
|
+
good.each do |s|
|
|
18
|
+
it "#{s.inspect} is parsed" do
|
|
19
|
+
expect(DBus.type(s).to_s).to eq(s)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
bad = [
|
|
25
|
+
["\x00", "Unknown type code"],
|
|
26
|
+
["!", "Unknown type code"],
|
|
27
|
+
|
|
28
|
+
# ARRAY related
|
|
29
|
+
["a", "Empty ARRAY"],
|
|
30
|
+
["aa", "Empty ARRAY"],
|
|
31
|
+
|
|
32
|
+
# STRUCT related
|
|
33
|
+
["r", "Abstract STRUCT"],
|
|
34
|
+
["()", "Empty STRUCT"],
|
|
35
|
+
["(ii", "STRUCT not closed"],
|
|
36
|
+
["a{i)", "STRUCT unexpectedly closed"],
|
|
37
|
+
|
|
38
|
+
# TODO: deep nesting arrays, structs, combined
|
|
39
|
+
|
|
40
|
+
# DICT_ENTRY related
|
|
41
|
+
["e", "Abstract DICT_ENTRY"],
|
|
42
|
+
["a{}", "DICT_ENTRY must have 2 subtypes, found 0"],
|
|
43
|
+
["a{s}", "DICT_ENTRY must have 2 subtypes, found 1"],
|
|
44
|
+
["a{sss}", "DICT_ENTRY must have 2 subtypes, found 3"],
|
|
45
|
+
["a{vs}", "DICT_ENTRY key must be basic (non-container)"],
|
|
46
|
+
["{sv}", "DICT_ENTRY not an immediate child of an ARRAY"],
|
|
47
|
+
["a({sv})", "DICT_ENTRY not an immediate child of an ARRAY"],
|
|
48
|
+
["a{s", "DICT_ENTRY not closed"],
|
|
49
|
+
["a{sv", "DICT_ENTRY not closed"],
|
|
50
|
+
["}", "DICT_ENTRY unexpectedly closed"],
|
|
51
|
+
|
|
52
|
+
# Too long
|
|
53
|
+
["(#{"y" * 254})", "longer than 255"],
|
|
54
|
+
|
|
55
|
+
# not Single Complete Types
|
|
56
|
+
["", "expecting a Single Complete Type"],
|
|
57
|
+
["ii", "more than a Single Complete Type"]
|
|
58
|
+
]
|
|
59
|
+
context "invalid single types" do
|
|
60
|
+
bad.each.each do |s, msg|
|
|
61
|
+
it "#{s.inspect} raises an exception mentioning: #{msg}" do
|
|
62
|
+
rx = Regexp.new(Regexp.quote(msg))
|
|
63
|
+
expect { DBus.type(s) }.to raise_error(DBus::Type::SignatureException, rx)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
describe ".types" do
|
|
70
|
+
good = [
|
|
71
|
+
"",
|
|
72
|
+
"ii"
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
context "valid signatures" do
|
|
76
|
+
good.each do |s|
|
|
77
|
+
it "#{s.inspect} is parsed" do
|
|
78
|
+
expect(DBus.types(s).map(&:to_s).join).to eq(s)
|
|
79
|
+
end
|
|
10
80
|
end
|
|
11
81
|
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
describe DBus::Type do
|
|
85
|
+
let(:as1) { DBus.type("as") }
|
|
86
|
+
let(:as2) { DBus.type("as") }
|
|
87
|
+
let(:aas) { DBus.type("aas") }
|
|
88
|
+
|
|
89
|
+
describe "#==" do
|
|
90
|
+
it "is true for same types" do
|
|
91
|
+
expect(as1).to eq(as2)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
it "is true for a type and its string representation" do
|
|
95
|
+
expect(as1).to eq("as")
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
it "is false for different types" do
|
|
99
|
+
expect(as1).to_not eq(aas)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
it "is false for a type and a different string" do
|
|
103
|
+
expect(as1).to_not eq("aas")
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
describe "#eql?" do
|
|
108
|
+
it "is true for same types" do
|
|
109
|
+
expect(as1).to eql(as2)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
it "is false for a type and its string representation" do
|
|
113
|
+
expect(as1).to_not eql("as")
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
it "is false for different types" do
|
|
117
|
+
expect(as1).to_not eql(aas)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
it "is false for a type and a different string" do
|
|
121
|
+
expect(as1).to_not eql("aas")
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
describe "#<<" do
|
|
126
|
+
it "raises if the argument is not a Type" do
|
|
127
|
+
t = DBus::Type.new(DBus::Type::ARRAY)
|
|
128
|
+
expect { t << "s" }.to raise_error(ArgumentError)
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# TODO: the following raise checks do not occur in practice, as there are
|
|
132
|
+
# parallel checks in the parses. The code could be simplified?
|
|
133
|
+
it "raises if adding too much to an array" do
|
|
134
|
+
t = DBus::Type.new(DBus::Type::ARRAY)
|
|
135
|
+
b = DBus::Type.new(DBus::Type::BOOLEAN)
|
|
136
|
+
t << b
|
|
137
|
+
expect { t << b }.to raise_error(DBus::Type::SignatureException)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
it "raises if adding too much to a dict_entry" do
|
|
141
|
+
t = DBus::Type.new(DBus::Type::DICT_ENTRY, abstract: true)
|
|
142
|
+
b = DBus::Type.new(DBus::Type::BOOLEAN)
|
|
143
|
+
t << b
|
|
144
|
+
t << b
|
|
145
|
+
expect { t << b }.to raise_error(DBus::Type::SignatureException)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
it "raises if adding to a non-container" do
|
|
149
|
+
t = DBus::Type.new(DBus::Type::STRING)
|
|
150
|
+
b = DBus::Type.new(DBus::Type::BOOLEAN)
|
|
151
|
+
expect { t << b }.to raise_error(DBus::Type::SignatureException)
|
|
152
|
+
|
|
153
|
+
t = DBus::Type.new(DBus::Type::VARIANT)
|
|
154
|
+
expect { t << b }.to raise_error(DBus::Type::SignatureException)
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
describe DBus::Type::Array do
|
|
159
|
+
describe ".[]" do
|
|
160
|
+
it "takes Type argument" do
|
|
161
|
+
t = DBus::Type::Array[DBus::Type.new("s")]
|
|
162
|
+
expect(t.to_s).to eq "as"
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
it "takes 's':String argument" do
|
|
166
|
+
t = DBus::Type::Array["s"]
|
|
167
|
+
expect(t.to_s).to eq "as"
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
it "takes String:Class argument" do
|
|
171
|
+
t = DBus::Type::Array[String]
|
|
172
|
+
expect(t.to_s).to eq "as"
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
it "rejects Integer:Class argument" do
|
|
176
|
+
expect { DBus::Type::Array[Integer] }.to raise_error(ArgumentError)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
it "rejects /./:Regexp argument" do
|
|
180
|
+
expect { DBus::Type::Array[/./] }.to raise_error(ArgumentError)
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
describe DBus::Type::Hash do
|
|
186
|
+
describe ".[]" do
|
|
187
|
+
it "takes Type arguments" do
|
|
188
|
+
t = DBus::Type::Hash[DBus::Type.new("s"), DBus::Type.new("v")]
|
|
189
|
+
expect(t.to_s).to eq "a{sv}"
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
it "takes 's':String arguments" do
|
|
193
|
+
t = DBus::Type::Hash["s", "v"]
|
|
194
|
+
expect(t.to_s).to eq "a{sv}"
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
it "takes String:Class argument" do
|
|
198
|
+
t = DBus::Type::Hash[String, DBus::Type::VARIANT]
|
|
199
|
+
expect(t.to_s).to eq "a{sv}"
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
describe DBus::Type::Struct do
|
|
205
|
+
describe ".[]" do
|
|
206
|
+
it "takes Type arguments" do
|
|
207
|
+
t = DBus::Type::Struct[DBus::Type.new("s"), DBus::Type.new("v")]
|
|
208
|
+
expect(t.to_s).to eq "(sv)"
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
it "takes 's':String arguments" do
|
|
212
|
+
t = DBus::Type::Struct["s", "v"]
|
|
213
|
+
expect(t.to_s).to eq "(sv)"
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
it "takes String:Class argument" do
|
|
217
|
+
t = DBus::Type::Struct[String, DBus::Type::VARIANT]
|
|
218
|
+
expect(t.to_s).to eq "(sv)"
|
|
219
|
+
end
|
|
12
220
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
221
|
+
it "raises on no arguments" do
|
|
222
|
+
expect { DBus::Type::Struct[] }.to raise_error(ArgumentError)
|
|
223
|
+
end
|
|
16
224
|
end
|
|
17
225
|
end
|
|
18
226
|
end
|
data/spec/value_spec.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env rspec
|
|
2
|
-
#
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
3
4
|
require_relative "spec_helper"
|
|
4
5
|
require "dbus"
|
|
5
6
|
|
|
@@ -91,4 +92,18 @@ describe "ValueTest" do
|
|
|
91
92
|
it "aligns short integers correctly" do
|
|
92
93
|
expect(@obj.i16_plus(10, -30)[0]).to eq(-20)
|
|
93
94
|
end
|
|
95
|
+
|
|
96
|
+
context "structs" do
|
|
97
|
+
it "they are returned as FROZEN arrays" do
|
|
98
|
+
struct = @obj.Coordinates[0]
|
|
99
|
+
expect(struct).to be_an(Array)
|
|
100
|
+
expect(struct).to be_frozen
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
it "they are returned also from structs" do
|
|
104
|
+
struct = @obj.Coordinates2[0]
|
|
105
|
+
expect(struct).to be_an(Array)
|
|
106
|
+
expect(struct).to be_frozen
|
|
107
|
+
end
|
|
108
|
+
end
|
|
94
109
|
end
|
data/spec/variant_spec.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env rspec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
2
4
|
# Test marshalling variants according to ruby types
|
|
3
5
|
require_relative "spec_helper"
|
|
4
6
|
require "dbus"
|
|
@@ -9,8 +11,8 @@ describe "VariantTest" do
|
|
|
9
11
|
@svc = @bus.service("org.ruby.service")
|
|
10
12
|
end
|
|
11
13
|
|
|
12
|
-
def make_variant(
|
|
13
|
-
DBus::PacketMarshaller.make_variant(
|
|
14
|
+
def make_variant(val)
|
|
15
|
+
DBus::PacketMarshaller.make_variant(val)
|
|
14
16
|
end
|
|
15
17
|
|
|
16
18
|
it "tests make variant scalar" do
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env rspec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require_relative "spec_helper"
|
|
5
|
+
require "dbus"
|
|
6
|
+
|
|
7
|
+
describe "Quit the service" do
|
|
8
|
+
it "Tells the service to quit and waits, to collate coverage data" do
|
|
9
|
+
session_bus = DBus::ASessionBus.new
|
|
10
|
+
@svc = session_bus.service("org.ruby.service")
|
|
11
|
+
@obj = @svc.object("/org/ruby/MyInstance")
|
|
12
|
+
@obj.default_iface = "org.ruby.SampleInterface"
|
|
13
|
+
@obj.quit
|
|
14
|
+
sleep 3
|
|
15
|
+
end
|
|
16
|
+
end
|
metadata
CHANGED
|
@@ -1,17 +1,59 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby-dbus
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.25.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ruby DBus Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-04-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: logger
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rexml
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: base64
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: ostruct
|
|
15
57
|
requirement: !ruby/object:Gem::Requirement
|
|
16
58
|
requirements:
|
|
17
59
|
- - ">="
|
|
@@ -67,21 +109,21 @@ dependencies:
|
|
|
67
109
|
- !ruby/object:Gem::Version
|
|
68
110
|
version: '3'
|
|
69
111
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
112
|
+
name: simplecov
|
|
71
113
|
requirement: !ruby/object:Gem::Requirement
|
|
72
114
|
requirements:
|
|
73
|
-
- -
|
|
115
|
+
- - ">="
|
|
74
116
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0
|
|
117
|
+
version: '0'
|
|
76
118
|
type: :development
|
|
77
119
|
prerelease: false
|
|
78
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
121
|
requirements:
|
|
80
|
-
- -
|
|
122
|
+
- - ">="
|
|
81
123
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0
|
|
124
|
+
version: '0'
|
|
83
125
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: simplecov
|
|
126
|
+
name: simplecov-lcov
|
|
85
127
|
requirement: !ruby/object:Gem::Requirement
|
|
86
128
|
requirements:
|
|
87
129
|
- - ">="
|
|
@@ -110,13 +152,12 @@ files:
|
|
|
110
152
|
- doc/Tutorial.md
|
|
111
153
|
- examples/doc/README.md
|
|
112
154
|
- examples/doc/_extract_examples
|
|
113
|
-
- examples/
|
|
114
|
-
- examples/gdbus/gdbus.glade
|
|
115
|
-
- examples/gdbus/launch.sh
|
|
155
|
+
- examples/no-bus/pulseaudio.rb
|
|
116
156
|
- examples/no-introspect/nm-test.rb
|
|
117
157
|
- examples/no-introspect/tracker-test.rb
|
|
118
158
|
- examples/rhythmbox/playpause.rb
|
|
119
159
|
- examples/service/call_service.rb
|
|
160
|
+
- examples/service/complex-property.rb
|
|
120
161
|
- examples/service/service_newapi.rb
|
|
121
162
|
- examples/simple/call_introspect.rb
|
|
122
163
|
- examples/simple/get_id.rb
|
|
@@ -128,41 +169,73 @@ files:
|
|
|
128
169
|
- lib/dbus/auth.rb
|
|
129
170
|
- lib/dbus/bus.rb
|
|
130
171
|
- lib/dbus/bus_name.rb
|
|
172
|
+
- lib/dbus/connection.rb
|
|
131
173
|
- lib/dbus/core_ext/class/attribute.rb
|
|
132
174
|
- lib/dbus/core_ext/module/redefine_method.rb
|
|
175
|
+
- lib/dbus/data.rb
|
|
176
|
+
- lib/dbus/emits_changed_signal.rb
|
|
133
177
|
- lib/dbus/error.rb
|
|
134
178
|
- lib/dbus/introspect.rb
|
|
135
179
|
- lib/dbus/logger.rb
|
|
180
|
+
- lib/dbus/main.rb
|
|
136
181
|
- lib/dbus/marshall.rb
|
|
137
182
|
- lib/dbus/matchrule.rb
|
|
138
183
|
- lib/dbus/message.rb
|
|
139
184
|
- lib/dbus/message_queue.rb
|
|
185
|
+
- lib/dbus/node_tree.rb
|
|
140
186
|
- lib/dbus/object.rb
|
|
187
|
+
- lib/dbus/object_manager.rb
|
|
141
188
|
- lib/dbus/object_path.rb
|
|
189
|
+
- lib/dbus/object_server.rb
|
|
190
|
+
- lib/dbus/org.freedesktop.DBus.xml
|
|
191
|
+
- lib/dbus/platform.rb
|
|
142
192
|
- lib/dbus/proxy_object.rb
|
|
143
193
|
- lib/dbus/proxy_object_factory.rb
|
|
144
194
|
- lib/dbus/proxy_object_interface.rb
|
|
195
|
+
- lib/dbus/proxy_service.rb
|
|
196
|
+
- lib/dbus/raw_message.rb
|
|
145
197
|
- lib/dbus/type.rb
|
|
146
198
|
- lib/dbus/xml.rb
|
|
147
199
|
- ruby-dbus.gemspec
|
|
148
200
|
- spec/async_spec.rb
|
|
201
|
+
- spec/auth_spec.rb
|
|
149
202
|
- spec/binding_spec.rb
|
|
150
203
|
- spec/bus_and_xml_backend_spec.rb
|
|
151
|
-
- spec/
|
|
204
|
+
- spec/bus_connection_spec.rb
|
|
152
205
|
- spec/bus_name_spec.rb
|
|
153
206
|
- spec/bus_spec.rb
|
|
154
207
|
- spec/byte_array_spec.rb
|
|
155
208
|
- spec/client_robustness_spec.rb
|
|
209
|
+
- spec/connection_spec.rb
|
|
210
|
+
- spec/coverage_helper.rb
|
|
211
|
+
- spec/data/marshall.yaml
|
|
212
|
+
- spec/data_spec.rb
|
|
213
|
+
- spec/dbus_spec.rb
|
|
214
|
+
- spec/emits_changed_signal_spec.rb
|
|
156
215
|
- spec/err_msg_spec.rb
|
|
157
216
|
- spec/introspect_xml_parser_spec.rb
|
|
158
217
|
- spec/introspection_spec.rb
|
|
159
218
|
- spec/main_loop_spec.rb
|
|
219
|
+
- spec/message_spec.rb
|
|
220
|
+
- spec/mock-service/cockpit-dbustests.rb
|
|
221
|
+
- spec/mock-service/com.redhat.Cockpit.DBusTests.xml
|
|
222
|
+
- spec/mock-service/org.ruby.service.service
|
|
223
|
+
- spec/mock-service/org.rubygems.ruby_dbus.DBusTests.service
|
|
224
|
+
- spec/mock-service/spaghetti-monster.rb
|
|
225
|
+
- spec/node_spec.rb
|
|
226
|
+
- spec/object_manager_spec.rb
|
|
160
227
|
- spec/object_path_spec.rb
|
|
228
|
+
- spec/object_server_spec.rb
|
|
229
|
+
- spec/object_spec.rb
|
|
230
|
+
- spec/packet_marshaller_spec.rb
|
|
231
|
+
- spec/packet_unmarshaller_spec.rb
|
|
232
|
+
- spec/platform_spec.rb
|
|
161
233
|
- spec/property_spec.rb
|
|
234
|
+
- spec/proxy_object_interface_spec.rb
|
|
162
235
|
- spec/proxy_object_spec.rb
|
|
236
|
+
- spec/proxy_service_spec.rb
|
|
237
|
+
- spec/raw_message_spec.rb
|
|
163
238
|
- spec/server_robustness_spec.rb
|
|
164
|
-
- spec/server_spec.rb
|
|
165
|
-
- spec/service_newapi.rb
|
|
166
239
|
- spec/session_bus_spec.rb
|
|
167
240
|
- spec/session_bus_spec_manual.rb
|
|
168
241
|
- spec/signal_spec.rb
|
|
@@ -171,13 +244,13 @@ files:
|
|
|
171
244
|
- spec/tools/dbus-launch-simple
|
|
172
245
|
- spec/tools/dbus-limited-session.conf
|
|
173
246
|
- spec/tools/test_env
|
|
174
|
-
- spec/tools/test_server
|
|
175
247
|
- spec/type_spec.rb
|
|
176
248
|
- spec/value_spec.rb
|
|
177
249
|
- spec/variant_spec.rb
|
|
250
|
+
- spec/zzz_quit_spec.rb
|
|
178
251
|
homepage: https://github.com/mvidner/ruby-dbus
|
|
179
252
|
licenses:
|
|
180
|
-
- LGPL-2.1
|
|
253
|
+
- LGPL-2.1-or-later
|
|
181
254
|
metadata: {}
|
|
182
255
|
post_install_message:
|
|
183
256
|
rdoc_options: []
|
|
@@ -187,15 +260,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
187
260
|
requirements:
|
|
188
261
|
- - ">="
|
|
189
262
|
- !ruby/object:Gem::Version
|
|
190
|
-
version: 2.
|
|
263
|
+
version: 2.4.0
|
|
191
264
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
192
265
|
requirements:
|
|
193
266
|
- - ">="
|
|
194
267
|
- !ruby/object:Gem::Version
|
|
195
268
|
version: '0'
|
|
196
269
|
requirements: []
|
|
197
|
-
|
|
198
|
-
rubygems_version: 2.7.6
|
|
270
|
+
rubygems_version: 3.2.33
|
|
199
271
|
signing_key:
|
|
200
272
|
specification_version: 4
|
|
201
273
|
summary: Ruby module for interaction with D-Bus
|