Class: Skypekit::Skype

Inherits:
Object
  • Object
show all
Defined in:
lib/skypekit/skype.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Skype

Returns a new instance of Skype.



10
11
12
13
14
15
16
17
# File 'lib/skypekit/skype.rb', line 10

def initialize(options = {})
  @keyfile = options[:keyfile] || "skypekit.pem"
  @host    = options[:host] || "127.0.0.1"
  @port    = options[:port] || 8963
  @logfile = options[:logfile] || nil

  @pointer = ::FFI::AutoPointer.new(Skypekit::FFI.skypekit_skype_new, self.class.method(:release))
end

Class Method Details

.release(pointer) ⇒ Object



6
7
8
# File 'lib/skypekit/skype.rb', line 6

def self.release(pointer)
  Skypekit::FFI.skypekit_skype_free(pointer)
end

Instance Method Details

#get_eventObject



29
30
31
32
# File 'lib/skypekit/skype.rb', line 29

def get_event
  event_pointer = Skypekit::FFI.skypekit_get_event(pointer)
  Skypekit::FFI::Event.new(event_pointer) unless event_pointer.address.zero?
end

#login(username, password) ⇒ Object



25
26
27
# File 'lib/skypekit/skype.rb', line 25

def (username, password)
  Skypekit::FFI.(pointer, username, password)
end

#send_chat_message(chat_id, message) ⇒ Object



38
39
40
# File 'lib/skypekit/skype.rb', line 38

def send_chat_message(chat_id, message)
  Skypekit::FFI.skypekit_chat_send_message(pointer, chat_id, message, 0)
end

#startObject



19
20
21
22
23
# File 'lib/skypekit/skype.rb', line 19

def start
  File.exists?(@keyfile) or raise ArgumentError, "Can't find certificate file #{@keyfile.inspect}"
  Skypekit::FFI.skypekit_skype_init(pointer, @keyfile, @host, @port, @logfile)
  Skypekit::FFI.skypekit_skype_start(pointer)
end

#stopObject



34
35
36
# File 'lib/skypekit/skype.rb', line 34

def stop
  Skypekit::FFI.skypekit_skype_stop(pointer)
end