class Babeltrace2::BTQueryExecutor

Constants

AddInterrupterStatus
QueryStatus
SetLoggingLevelStatus

Public Class Methods

new(handle = nil, retain: true, auto_release: true, component_class: nil, object_name: nil, params: nil, method_data: nil) click to toggle source
Calls superclass method
# 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

Public Instance Methods

add_interrupter(interrupter) click to toggle source
# 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
default_interrupter()
get_default_interrupter() click to toggle source
# 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
Also aliased as: default_interrupter
get_logging_level() click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 119
def get_logging_level
  Babeltrace2.bt_query_executor_get_logging_level(@handle)
end
Also aliased as: logging_level
interrupted?()
Alias for: is_interrupted
is_interrupted() click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 136
def is_interrupted
  Babeltrace2.bt_query_executor_is_interrupted(@handle) != BT_FALSE
end
Also aliased as: interrupted?
logging_level()
Alias for: get_logging_level
logging_level=(logging_level) click to toggle source
# 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() click to toggle source
# 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) click to toggle source
# 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