Class: Babeltrace2::UserPlugin
- Inherits:
-
Object
- Object
- Babeltrace2::UserPlugin
- Defined in:
- lib/babeltrace2/plugin/plugin-dev.rb
Instance Attribute Summary collapse
-
#author ⇒ Object
(also: #get_author)
readonly
Returns the value of attribute author.
-
#description ⇒ Object
(also: #get_description)
readonly
Returns the value of attribute description.
-
#license ⇒ Object
(also: #get_license)
readonly
Returns the value of attribute license.
-
#major ⇒ Object
readonly
Returns the value of attribute major.
-
#minor ⇒ Object
readonly
Returns the value of attribute minor.
-
#name ⇒ Object
(also: #get_name)
readonly
Returns the value of attribute name.
-
#patch ⇒ Object
readonly
Returns the value of attribute patch.
-
#path ⇒ Object
(also: #get_path)
Returns the value of attribute path.
-
#version_extra ⇒ Object
readonly
Returns the value of attribute version_extra.
Instance Method Summary collapse
- #get_component_class_addresses ⇒ Object (also: #component_class_addresses)
- #get_component_classes ⇒ Object (also: #component_classes)
- #get_filter_component_class(filter_component_class) ⇒ Object
- #get_filter_component_class_by_index(index) ⇒ Object
- #get_filter_component_class_by_name(name) ⇒ Object
- #get_filter_component_class_count ⇒ Object (also: #filter_component_class_count)
- #get_filter_component_classes ⇒ Object (also: #filter_component_classes)
- #get_sink_component_class(sink_component_class) ⇒ Object
- #get_sink_component_class_by_index(index) ⇒ Object
- #get_sink_component_class_by_name(name) ⇒ Object
- #get_sink_component_class_count ⇒ Object (also: #sink_component_class_count)
- #get_sink_component_classes ⇒ Object (also: #sink_component_classes)
- #get_source_component_class(source_component_class) ⇒ Object
- #get_source_component_class_by_index(index) ⇒ Object
- #get_source_component_class_by_name(name) ⇒ Object
- #get_source_component_class_count ⇒ Object (also: #source_component_class_count)
- #get_source_component_classes ⇒ Object (also: #source_component_classes)
- #get_version ⇒ Object (also: #version)
-
#initialize(name:, author: nil, description: nil, license: nil, path: nil, major: 0, minor: 0, patch: 0, version_extra: nil) ⇒ UserPlugin
constructor
A new instance of UserPlugin.
- #register_component_class(component) ⇒ Object (also: #register_component, #register, #push)
- #user_component_classes ⇒ Object
Constructor Details
#initialize(name:, author: nil, description: nil, license: nil, path: nil, major: 0, minor: 0, patch: 0, version_extra: nil) ⇒ UserPlugin
Returns a new instance of UserPlugin.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 15 def initialize(name:, author: nil, description: nil, license: nil, path: nil, major: 0, minor: 0, patch: 0, version_extra: nil) @name = name @author = @description = description @license = license @path = path @major = major.to_i @minor = minor.to_i @patch = patch.to_i @version_extra = version_extra @component_classes = [] @user_component_classes = [] end |
Instance Attribute Details
#author ⇒ Object (readonly) Also known as:
Returns the value of attribute author.
6 7 8 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 6 def @author end |
#description ⇒ Object (readonly) Also known as: get_description
Returns the value of attribute description.
7 8 9 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 7 def description @description end |
#license ⇒ Object (readonly) Also known as: get_license
Returns the value of attribute license.
8 9 10 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 8 def license @license end |
#major ⇒ Object (readonly)
Returns the value of attribute major.
10 11 12 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 10 def major @major end |
#minor ⇒ Object (readonly)
Returns the value of attribute minor.
11 12 13 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 11 def minor @minor end |
#name ⇒ Object (readonly) Also known as: get_name
Returns the value of attribute name.
5 6 7 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 5 def name @name end |
#patch ⇒ Object (readonly)
Returns the value of attribute patch.
12 13 14 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 12 def patch @patch end |
#path ⇒ Object Also known as: get_path
Returns the value of attribute path.
9 10 11 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 9 def path @path end |
#version_extra ⇒ Object (readonly)
Returns the value of attribute version_extra.
13 14 15 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 13 def version_extra @version_extra end |
Instance Method Details
#get_component_class_addresses ⇒ Object Also known as: component_class_addresses
50 51 52 53 54 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 50 def get_component_class_addresses get_component_classes.collect { |c| c.handle.to_ptr.to_i } end |
#get_component_classes ⇒ Object Also known as: component_classes
45 46 47 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 45 def get_component_classes @component_classes end |
#get_filter_component_class(filter_component_class) ⇒ Object
122 123 124 125 126 127 128 129 130 131 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 122 def get_filter_component_class(filter_component_class) case filter_component_class when String get_filter_component_class_by_name(filter_component_class) when Integer get_filter_component_class_by_index(filter_component_class) else raise TypeError, "wrong type for filter component class query" end end |
#get_filter_component_class_by_index(index) ⇒ Object
91 92 93 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 91 def get_filter_component_class_by_index(index) get_filter_component_classes[index] end |
#get_filter_component_class_by_name(name) ⇒ Object
103 104 105 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 103 def get_filter_component_class_by_name(name) get_filter_component_classes.find { |c| c.name == name } end |
#get_filter_component_class_count ⇒ Object Also known as: filter_component_class_count
72 73 74 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 72 def get_filter_component_class_count get_filter_component_classes.count end |
#get_filter_component_classes ⇒ Object Also known as: filter_component_classes
67 68 69 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 67 def get_filter_component_classes @component_classes.select { |c| c.filter? } end |
#get_sink_component_class(sink_component_class) ⇒ Object
133 134 135 136 137 138 139 140 141 142 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 133 def get_sink_component_class(sink_component_class) case sink_component_class when String get_sink_component_class_by_name(sink_component_class) when Integer get_sink_component_class_by_index(sink_component_class) else raise TypeError, "wrong type for sink component class query" end end |
#get_sink_component_class_by_index(index) ⇒ Object
95 96 97 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 95 def get_sink_component_class_by_index(index) get_sink_component_classes[index] end |
#get_sink_component_class_by_name(name) ⇒ Object
107 108 109 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 107 def get_sink_component_class_by_name(name) get_sink_component_classes.find { |c| c.name == name } end |
#get_sink_component_class_count ⇒ Object Also known as: sink_component_class_count
82 83 84 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 82 def get_sink_component_class_count get_sink_component_classes.count end |
#get_sink_component_classes ⇒ Object Also known as: sink_component_classes
77 78 79 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 77 def get_sink_component_classes @component_classes.select { |c| c.sink? } end |
#get_source_component_class(source_component_class) ⇒ Object
111 112 113 114 115 116 117 118 119 120 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 111 def get_source_component_class(source_component_class) case source_component_class when String get_source_component_class_by_name(source_component_class) when Integer get_source_component_class_by_index(source_component_class) else raise TypeError, "wrong type for source component class query" end end |
#get_source_component_class_by_index(index) ⇒ Object
87 88 89 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 87 def get_source_component_class_by_index(index) get_source_component_classes[index] end |
#get_source_component_class_by_name(name) ⇒ Object
99 100 101 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 99 def get_source_component_class_by_name(name) get_source_component_classes.find { |c| c.name == name } end |
#get_source_component_class_count ⇒ Object Also known as: source_component_class_count
62 63 64 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 62 def get_source_component_class_count get_source_component_classes.count end |
#get_source_component_classes ⇒ Object Also known as: source_component_classes
57 58 59 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 57 def get_source_component_classes @component_classes.select { |c| c.source? } end |
#get_version ⇒ Object Also known as: version
40 41 42 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 40 def get_version BTVersion::Number.new(major, minor, patch, extra) end |
#register_component_class(component) ⇒ Object Also known as: register_component, register, push
144 145 146 147 148 149 150 151 152 153 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 144 def register_component_class(component) raise "component with same name and type already exist" if @component_classes.find { |c| c.type == component.type && c.name == component.name} if component.kind_of?(Class) && component < UserComponentClass component = component.new @user_component_classes.push component component = component.bt_component_class end @component_classes.push component self end |
#user_component_classes ⇒ Object
30 31 32 |
# File 'lib/babeltrace2/plugin/plugin-dev.rb', line 30 def user_component_classes @user_component_classes end |