/usr/lib/ruby/1.8/xmmsclient/async.rb is in libxmmsclient-ruby1.8 0.8+dfsg-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | # XMMS2 - X Music Multiplexer System
# Copyright (C) 2003-2011 XMMS2 Team
#
# PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
require 'xmmsclient'
class Xmms::Client::Async
attr_reader(:real)
def initialize(name)
@real = Xmms::Client.new(name)
end
def method_missing(id, *args, &block)
args.push(&block) if(id == 'on_disconnect')
ret = @real.send(id, *args)
if(block_given? && (ret.is_a?(Xmms::Result) ||
ret.is_a?(Xmms::BroadcastResult) || ret.is_a?(Xmms::SignalResult)))
ret.notifier(&block)
elsif(ret.is_a?(Xmms::Client))
self
elsif(ret.is_a?(Xmms::Collection))
Xmms::Collection::Async.new(ret)
elsif(ret.is_a?(Xmms::Playlist))
Xmms::Playlist::Async.new(ret)
else
ret
end
end
end
class Xmms::Collection::Async
attr_reader(:real)
def initialize(coll)
@real = coll
end
def method_missing(id, *args, &block)
ret = @real.send(id, *args)
if(block_given? && ret.is_a?(Xmms::Result))
ret.notifier(&block)
elsif(ret.is_a?(Xmms::Collection))
self
else
ret
end
end
end
class Xmms::Playlist::Async
attr_reader(:real)
def initialize(plist)
@real = plist
end
def method_missing(id, *args, &block)
ret = @real.send(id, *args)
if(block_given? && ret.is_a?(Xmms::Result))
ret.notifier(&block)
elsif(ret.is_a?(Xmms::Collection))
self
else
ret
end
end
end
|