Class: Babeltrace2::BTQueryExecutor
- Inherits:
-
BTSharedObject
- Object
- BTObject
- BTSharedObject
- Babeltrace2::BTQueryExecutor
- Defined in:
- lib/babeltrace2/graph/query-executor.rb
Direct Known Subclasses
Constant Summary collapse
- QueryStatus =
BTQueryExecutorQueryStatus
- SetLoggingLevelStatus =
BTQueryExecutorSetLoggingLevelStatus
- AddInterrupterStatus =
BTQueryExecutorAddInterrupterStatus
Instance Attribute Summary
Attributes inherited from BTObject
Instance Method Summary collapse
- #add_interrupter(interrupter) ⇒ Object
- #get_default_interrupter ⇒ Object (also: #default_interrupter)
- #get_logging_level ⇒ Object (also: #logging_level)
-
#initialize(handle = nil, retain: true, auto_release: true, component_class: nil, object_name: nil, params: nil, method_data: nil) ⇒ BTQueryExecutor
constructor
A new instance of BTQueryExecutor.
- #is_interrupted ⇒ Object (also: #interrupted?)
- #logging_level=(logging_level) ⇒ Object
- #query ⇒ Object
- #set_logging_level(logging_level) ⇒ Object
Methods inherited from BTSharedObject
Methods inherited from BTObject
Constructor Details
#initialize(handle = nil, retain: true, auto_release: true, component_class: nil, object_name: nil, params: nil, method_data: nil) ⇒ BTQueryExecutor
Returns a new instance of BTQueryExecutor.
85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/babeltrace2/graph/query-executor.rb', line 85 def initialize(handle = nil, retain: true, auto_release: true, component_class: nil, object_name: nil, params: nil, method_data: nil) if handle super(handle, retain: retain, auto_release: auto_release) else handle = Babeltrace2.bt_query_executor_create_with_method_data( component_class, object_name, BTValue.from_value(params), method_data) raise Babeltrace2.process_error if handle.null? super(handle) end end |
Instance Method Details
#add_interrupter(interrupter) ⇒ Object
124 125 126 127 128 |
# File 'lib/babeltrace2/graph/query-executor.rb', line 124 def add_interrupter(interrupter) res = Babeltrace2.bt_query_executor_add_interrupter(@handle, interrupter) raise Babeltrace2.process_error(res) if res != :BT_QUERY_EXECUTOR_ADD_INTERRUPTER_STATUS_OK self end |
#get_default_interrupter ⇒ Object Also known as: default_interrupter
130 131 132 133 |
# File 'lib/babeltrace2/graph/query-executor.rb', line 130 def get_default_interrupter handle = Babeltrace2.bt_query_executor_borrow_default_interrupter(@handle) BTInterrupter.new(handle, retain: true) end |
#get_logging_level ⇒ Object Also known as: logging_level
119 120 121 |
# File 'lib/babeltrace2/graph/query-executor.rb', line 119 def get_logging_level Babeltrace2.bt_query_executor_get_logging_level(@handle) end |
#is_interrupted ⇒ Object Also known as: interrupted?
136 137 138 |
# File 'lib/babeltrace2/graph/query-executor.rb', line 136 def is_interrupted Babeltrace2.bt_query_executor_is_interrupted(@handle) != BT_FALSE end |
#logging_level=(logging_level) ⇒ Object
113 114 115 116 117 |
# File 'lib/babeltrace2/graph/query-executor.rb', line 113 def logging_level=(logging_level) res = Babeltrace2.bt_query_executor_set_logging_level(@handle, logging_level) raise Babeltrace2.process_error(res) if res != :BT_QUERY_EXECUTOR_SET_LOGGING_LEVEL_STATUS_OK return logging_level end |
#query ⇒ Object
97 98 99 100 101 102 103 104 105 |
# File 'lib/babeltrace2/graph/query-executor.rb', line 97 def query ptr = FFI::MemoryPointer.new(:pointer) while ((res = Babeltrace2.bt_query_executor_query(@handle, ptr)) == :BT_QUERY_EXECUTOR_QUERY_STATUS_AGAIN) raise "interrupted by user" if interrupted? sleep BT_SLEEP_TIME end raise Babeltrace2.process_error(res) if res != :BT_QUERY_EXECUTOR_QUERY_STATUS_OK BTValue.from_handle(BTValueHandle.new(ptr.read_pointer), retain: false) end |
#set_logging_level(logging_level) ⇒ Object
107 108 109 110 111 |
# File 'lib/babeltrace2/graph/query-executor.rb', line 107 def set_logging_level(logging_level) res = Babeltrace2.bt_query_executor_set_logging_level(@handle, logging_level) raise Babeltrace2.process_error(res) if res != :BT_QUERY_EXECUTOR_SET_LOGGING_LEVEL_STATUS_OK self end |