Sha256: d209acdcbc113208258fecc8b6f6a86c34ca46a583fef02b37f0aeb441a9040f

Contents?: true

Size: 607 Bytes

Versions: 2

Compression:

Stored size: 607 Bytes

Contents

require "dbus"

module Skype
  class Connection

    def initialize
      @bus = DBus.session_bus
      @service = @bus.service('com.Skype.API').object('/com/Skype')
      @service.default_iface = 'com.Skype.API'
      @service.introspect
      invoke "NAME #{::Skype.config[:app_name]}"
      invoke "PROTOCOL 99"
    end

    def invoke(cmd)
      @service.Invoke(cmd)[0]
    end
  end

  def self.exec(command)
    res = (@@connection||=Connection.new).invoke command
    @@filters.each do |filter, block|
      next unless res =~ filter
      res = block.call(res)
      break
    end
    res
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
skype-0.1.4 lib/skype/platforms/linux.rb
skype-0.1.3 lib/skype/platforms/linux.rb