4 gem('twitter4r', '>=0.2.1')
8 CONN_MGR_PARAM_FLAG_REQUIRED = 1
9 CONN_MGR_PARAM_FLAG_REGISTER = 2
10 CONN_MGR_PARAM_FLAG_HAS_DEFAULT = 4
11 CONN_MGR_PARAM_FLAG_SECRET = 8
14 HANDLE_TYPE_CONTACT = 1
19 CONNECTION_STATUS_CONNECTED = 0
20 CONNECTION_STATUS_CONNECTING = 1
21 CONNECTION_STATUS_DISCONNECTED = 2
23 CONNECTION_STATUS_REASON_NONE_SPECIFIED = 0
24 CONNECTION_STATUS_REASON_REQUESTED = 1
25 CONNECTION_STATUS_REASON_NETWORK_ERROR = 2
26 CONNECTION_STATUS_REASON_AUTHENTICATION_FAILED = 3
27 CONNECTION_STATUS_REASON_ENCRYPTION_ERROR = 4
28 CONNECTION_STATUS_REASON_NAME_IN_USE = 5
29 CONNECTION_STATUS_REASON_CERT_NOT_PROVIDED = 6
30 CONNECTION_STATUS_REASON_CERT_UNTRUSTED = 7
31 CONNECTION_STATUS_REASON_CERT_EXPIRED = 8
32 CONNECTION_STATUS_REASON_CERT_NOT_ACTIVATED = 9
33 CONNECTION_STATUS_REASON_CERT_HOSTNAME_MISMATCH = 10
34 CONNECTION_STATUS_REASON_CERT_FINGERPRINT_MISMATCH = 11
35 CONNECTION_STATUS_REASON_CERT_SELF_SIGNED = 12
36 CONNECTION_STATUS_REASON_CERT_OTHER_ERROR = 13
38 # TODO: other flags in this set
39 CHANNEL_GROUP_FLAG_PROPERTIES = 2048
41 #Handles used for contact lists, of type HANDLE_TYPE_LIST
42 LIST_HANDLE_FOLLOWERS = 1
43 LIST_HANDLE_FRIENDS = 2
45 class Twitterpathy < DBus::Object
46 dbus_interface "org.freedesktop.Telepathy.ConnectionManager" do
47 dbus_method :GetParameters, "in proto:s, out parameters:a(susv)" do |proto|
48 puts "GetParameters(#{proto.inspect})"
49 $stderr.puts "Attempt to use unsupported protocol #{proto}" if proto != 'twitter'
51 parameters = [['account', CONN_MGR_PARAM_FLAG_REQUIRED | CONN_MGR_PARAM_FLAG_REGISTER, 's', ['s', '']], ['password', CONN_MGR_PARAM_FLAG_REQUIRED | CONN_MGR_PARAM_FLAG_REGISTER | CONN_MGR_PARAM_FLAG_SECRET, 's', ['s', '']]]
55 dbus_method :ListProtocols, "out protocols:as" do ||
57 protocols = ['twitter']
61 dbus_method :RequestConnection, "in proto:s, in parameters:a{sv}, out service:s, out object:o" do |proto, parameters|
62 puts "RequestConnection(#{proto.inspect}, #{parameters.inspect})"
63 $stderr.puts "Attempt to use unsupported protocol #{proto}" if proto != 'twitter'