openplacos 0.0.8 → 0.0.9

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.
@@ -1,76 +0,0 @@
1
- # This file is part of Openplacos.
2
- #
3
- # Openplacos is free software: you can redistribute it and/or modify
4
- # it under the terms of the GNU General Public License as published by
5
- # the Free Software Foundation, either version 3 of the License, or
6
- # (at your option) any later version.
7
- #
8
- # Openplacos is distributed in the hope that it will be useful,
9
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
- # GNU General Public License for more details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with Openplacos. If not, see <http://www.gnu.org/licenses/>.
15
-
16
-
17
- ENV["DBUS_THREADED_ACCESS"] = "1" #activate threaded dbus
18
- require 'dbus-openplacos'
19
-
20
- module Openplacos
21
-
22
- class Plugin
23
- attr_reader :opos ,:main ,:config
24
- def initialize
25
- @server_ready_queue = Queue.new
26
- @id = nil
27
- #DBus
28
- if(ENV['DEBUG_OPOS'] ) ## Stand for debug
29
- @clientbus = DBus::SessionBus.instance
30
- else
31
- @clientbus = DBus::SystemBus.instance
32
- end
33
-
34
- server = @clientbus.service("org.openplacos.server")
35
-
36
- @opos = server.object("/plugins")
37
- @opos.introspect
38
- @opos.default_iface = "org.openplacos.plugins"
39
-
40
- @opos.on_signal("quit") do
41
- self.quit
42
- end
43
-
44
- @opos.on_signal("ready") do
45
- @server_ready_queue.push "Go"
46
- end
47
-
48
- end
49
-
50
- def run
51
- @id = @opos.register
52
- @main = DBus::Main.new
53
- @main << @clientbus
54
- @main.run
55
- end
56
-
57
- def quit
58
- @main.quit
59
- end
60
-
61
- def nonblock_run
62
- @id = @opos.register
63
- @mainthread = Thread.new{
64
- @main = DBus::Main.new
65
- @main << @clientbus
66
- @main.run
67
- }
68
- if not @opos.is_server_ready[0]
69
- @server_ready_queue.pop
70
- end
71
- end
72
-
73
- end
74
-
75
-
76
- end