Class: LLDB::Broadcaster
- Inherits:
-
Object
- Object
- LLDB::Broadcaster
- Includes:
- NativeLifecycle
- Defined in:
- lib/lldb/broadcaster.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_listener(listener, event_mask) ⇒ Object
- #broadcast_event_by_type(event_type, unique: false) ⇒ Object
- #event_type_has_listeners?(event_type) ⇒ Boolean
-
#initialize(name = nil, context: nil, pointer: nil) ⇒ Broadcaster
constructor
A new instance of Broadcaster.
- #name ⇒ Object
- #remove_listener(listener, event_mask = (1 << 32) - 1) ⇒ Object
- #to_ptr ⇒ Object
- #valid? ⇒ Boolean
Methods included from NativeLifecycle
#close, #closed?, #context, #context!, #ensure_open!, #initialize_native_object
Constructor Details
#initialize(name = nil, context: nil, pointer: nil) ⇒ Broadcaster
Returns a new instance of Broadcaster.
13 14 15 16 17 18 19 20 |
# File 'lib/lldb/broadcaster.rb', line 13 def initialize(name = nil, context: nil, pointer: nil) ptr = pointer || FFIBindings.lldb_broadcaster_create(name) initialize_native_object( ptr, release: ->(released) { FFIBindings.lldb_broadcaster_destroy(released) }, context: context ) end |
Class Method Details
.from_ptr(ptr, context: nil) ⇒ Object
25 26 27 |
# File 'lib/lldb/broadcaster.rb', line 25 def self.from_ptr(ptr, context: nil) new(context: context, pointer: ptr) end |
Instance Method Details
#add_listener(listener, event_mask) ⇒ Object
44 45 46 47 |
# File 'lib/lldb/broadcaster.rb', line 44 def add_listener(listener, event_mask) ensure_open! FFIBindings.lldb_broadcaster_add_listener(@ptr, listener.to_ptr, event_mask) end |
#broadcast_event_by_type(event_type, unique: false) ⇒ Object
68 69 70 71 72 |
# File 'lib/lldb/broadcaster.rb', line 68 def broadcast_event_by_type(event_type, unique: false) ensure_open! FFIBindings.lldb_broadcaster_broadcast_event_by_type(@ptr, event_type, unique ? 1 : 0) nil end |
#event_type_has_listeners?(event_type) ⇒ Boolean
59 60 61 62 63 |
# File 'lib/lldb/broadcaster.rb', line 59 def event_type_has_listeners?(event_type) return false unless valid? FFIBindings.lldb_broadcaster_event_type_has_listeners(@ptr, event_type) != 0 end |
#name ⇒ Object
35 36 37 38 39 |
# File 'lib/lldb/broadcaster.rb', line 35 def name return nil unless valid? FFIBindings.lldb_broadcaster_get_name(@ptr) end |
#remove_listener(listener, event_mask = (1 << 32) - 1) ⇒ Object
52 53 54 55 |
# File 'lib/lldb/broadcaster.rb', line 52 def remove_listener(listener, event_mask = (1 << 32) - 1) ensure_open! FFIBindings.lldb_broadcaster_remove_listener(@ptr, listener.to_ptr, event_mask) != 0 end |
#to_ptr ⇒ Object
75 76 77 |
# File 'lib/lldb/broadcaster.rb', line 75 def to_ptr @ptr end |
#valid? ⇒ Boolean
30 31 32 |
# File 'lib/lldb/broadcaster.rb', line 30 def valid? !@ptr.null? && FFIBindings.lldb_broadcaster_is_valid(@ptr) != 0 end |