Class: Babeltrace2::UserFilter

Inherits:
UserComponentClass show all
Defined in:
lib/babeltrace2/plugin/plugin-dev.rb

Class Attribute Summary collapse

Instance Attribute Summary collapse

Attributes inherited from UserComponentClass

#bt_component_class

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from UserComponentClass

get_name

Constructor Details

#initializeUserFilter

Returns a new instance of UserFilter.



252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 252

def initialize
  message_iterator_class = self.class.message_iterator_class
  raise "'message_iterator_class' sould be defined" unless message_iterator_class
  if message_iterator_class.kind_of?(Class) && message_iterator_class < UserMessageIterator
    message_iterator_class = message_iterator_class.new
    @user_message_iterator_class = message_iterator_class
    message_iterator_class = message_iterator_class.bt_message_iterator
  end
  finalize_method = get_method(:finalize, 1)
  get_supported_mip_versions_method = get_method(:get_supported_mip_versions, 5)
  initialize_method = get_method(:init, 4)
  query_method = get_method(:query, 5)
  input_port_connected_method = get_method(:input_port_connected, 3)
  output_port_connected_method = get_method(:output_port_connected, 3)
  name = self.class.get_name
  description = self.class.description
  help = self.class.help
  @bt_component_class = BTComponentClassFilter.new(
     name: name,
     message_iterator_class: message_iterator_class)
  @bt_component_class.description = description if description
  @bt_component_class.help = help if help
  @bt_component_class.finalize_method = finalize_method if finalize_method
  @bt_component_class.initialize_method = initialize_method if initialize_method
  @bt_component_class.get_supported_mip_versions_method = get_supported_mip_versions_method if get_supported_mip_versions_method
  @bt_component_class.query_method = query_method if query_method
  @bt_component_class.input_port_connected_method = input_port_connected_method if input_port_connected_method
  @bt_component_class.output_port_connected_method = output_port_connected_method if output_port_connected_method
end

Class Attribute Details

.message_iterator_classObject

Returns the value of attribute message_iterator_class.



246
247
248
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 246

def message_iterator_class
  @message_iterator_class
end

Instance Attribute Details

#user_message_iterator_classObject (readonly)

Returns the value of attribute user_message_iterator_class.



251
252
253
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 251

def user_message_iterator_class
  @user_message_iterator_class
end

Class Method Details

.typeObject



247
248
249
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 247

def type
  :BT_COMPONENT_CLASS_TYPE_FILTER
end