Exception: XlibObj::Error
- Inherits:
-
StandardError
- Object
- StandardError
- XlibObj::Error
- Defined in:
- lib/error.rb
Instance Method Summary collapse
- #description ⇒ Object (also: #message)
- #error_description ⇒ Object
-
#initialize(display, error) ⇒ Error
constructor
A new instance of Error.
- #major_request_description ⇒ Object
- #minor_request_description ⇒ Object
- #request_description ⇒ Object
- #resource_description ⇒ Object
Constructor Details
#initialize(display, error) ⇒ Error
Returns a new instance of Error.
11 12 13 14 15 16 17 |
# File 'lib/error.rb', line 11 def initialize(display, error) @display = display @error_code = error[:error_code] @request_code = error[:request_code] @minor_code = error[:minor_code] @resource = error[:resourceid] end |
Instance Method Details
#description ⇒ Object Also known as: message
19 20 21 22 23 |
# File 'lib/error.rb', line 19 def description "#{request_description}\n" << "Error: #{error_description}\n" << "Resource: #{resource_description}" end |
#error_description ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/error.rb', line 47 def error_description = 256 = FFI::MemoryPointer.new(:char, ) Xlib.XGetErrorDatabaseText(@display.to_native, 'XProtoError', "#{@error_code}", "Error code #{@error_code}", , ) .read_string end |
#major_request_description ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/error.rb', line 30 def major_request_description = 256 = FFI::MemoryPointer.new(:char, ) Xlib.XGetErrorDatabaseText(@display.to_native, 'XRequest', "#{@request_code}", "Major code #{@request_code}", , ) .read_string end |
#minor_request_description ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/error.rb', line 38 def minor_request_description = 256 = FFI::MemoryPointer.new(:char, ) extension = @display.extensions.find{ |ext| ext.opcode == @request_code } Xlib.XGetErrorDatabaseText(@display.to_native, "XRequest.#{extension.name}", "#{@minor_code}", "Minor code #{@minor_code}", , ) "#{extension.name} #{message.read_string}" end |
#request_description ⇒ Object
26 27 28 |
# File 'lib/error.rb', line 26 def request_description @request_code < 128 ? major_request_description : minor_request_description end |
#resource_description ⇒ Object
55 56 57 |
# File 'lib/error.rb', line 55 def resource_description @resource end |