Class: Babeltrace2::BTClockClass
- Inherits:
-
BTSharedObject
- Object
- BTObject
- BTSharedObject
- Babeltrace2::BTClockClass
- Defined in:
- lib/babeltrace2/trace-ir/clock-class.rb
Constant Summary collapse
- CyclesToNSFromOriginStatus =
BTClockClassCyclesToNSFromOriginStatus
Instance Attribute Summary
Attributes inherited from BTObject
Class Method Summary collapse
Instance Method Summary collapse
- #cycles_to_ns_from_origin(value) ⇒ Object
- #description=(description) ⇒ Object
- #frequency=(frequency) ⇒ Object
- #get_description ⇒ Object (also: #description)
- #get_frequency ⇒ Object (also: #frequency)
- #get_name ⇒ Object (also: #name)
- #get_offset ⇒ Object (also: #offset)
- #get_precision ⇒ Object (also: #precision)
- #get_user_attributes ⇒ Object (also: #user_attributes)
- #get_uuid ⇒ Object (also: #uuid)
-
#initialize(handle = nil, retain: true, auto_release: true, self_component: nil) ⇒ BTClockClass
constructor
A new instance of BTClockClass.
- #name=(name) ⇒ Object
- #origin_is_unix_epoch ⇒ Object (also: #origin_is_unix_epoch?)
- #origin_is_unix_epoch=(origin_is_unix_epoch) ⇒ Object
- #precision=(precision) ⇒ Object
- #set_description(description) ⇒ Object
- #set_frequency(frequency) ⇒ Object
- #set_name(name) ⇒ Object
- #set_offset(offset_seconds, offset_cycles) ⇒ Object
- #set_origin_is_unix_epoch(origin_is_unix_epoch) ⇒ Object
- #set_precision(precision) ⇒ Object
- #set_user_attributes(user_attributes) ⇒ Object
- #set_uuid(uuid) ⇒ Object
- #to_h ⇒ Object
- #user_attributes=(user_attributes) ⇒ Object
- #uuid=(uuid) ⇒ Object
Methods inherited from BTSharedObject
Methods inherited from BTObject
Constructor Details
#initialize(handle = nil, retain: true, auto_release: true, self_component: nil) ⇒ BTClockClass
Returns a new instance of BTClockClass.
116 117 118 119 120 121 122 123 124 125 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 116 def initialize(handle = nil, retain: true, auto_release: true, self_component: nil) if handle super(handle, retain: retain, auto_release: auto_release) else handle = Babeltrace2.bt_clock_class_create(self_component) raise Babeltrace2.process_error if handle.null? super(handle) end end |
Class Method Details
.from_h(self_component, h) ⇒ Object
272 273 274 275 276 277 278 279 280 281 282 283 284 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 272 def self.from_h(self_component, h) o = self_component.create_clock_class o.name = h[:name] if h[:name] o.description = h[:description] if h[:description] o.frequency = h[:frequency] if h[:frequency] o.precision = h[:precision] if h[:precision] o.set_offset(*h[:offset]) if h[:offset] o.origin_is_unix_epoch = h[:origin_is_unix_epoch] o.uuid = BTUUID.from_string(h[:uuid]) if h[:uuid] o.user_attributes = h[:user_attributes] if h[:user_attributes] h[:bt_clock_class] = o o end |
Instance Method Details
#cycles_to_ns_from_origin(value) ⇒ Object
251 252 253 254 255 256 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 251 def cycles_to_ns_from_origin(value) ptr = FFI::MemoryPointer.new(:int64) res = Babeltrace2.bt_clock_class_cycles_to_ns_from_origin(@handle, value, ptr) raise Babeltrace2.process_error(res) if res != :BT_CLOCK_CLASS_CYCLES_TO_NS_FROM_ORIGIN_STATUS_OK ptr.read_int64 end |
#description=(description) ⇒ Object
208 209 210 211 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 208 def description=(description) set_description(description) description end |
#frequency=(frequency) ⇒ Object
132 133 134 135 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 132 def frequency=(frequency) set_frequency(frequency) frequency end |
#get_description ⇒ Object Also known as: description
213 214 215 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 213 def get_description Babeltrace2.bt_clock_class_get_description(@handle) end |
#get_frequency ⇒ Object Also known as: frequency
137 138 139 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 137 def get_frequency Babeltrace2.bt_clock_class_get_frequency(@handle) end |
#get_name ⇒ Object Also known as: name
197 198 199 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 197 def get_name Babeltrace2.bt_clock_class_get_name(@handle) end |
#get_offset ⇒ Object Also known as: offset
147 148 149 150 151 152 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 147 def get_offset ptr1 = FFI::MemoryPointer.new(:int64) ptr2 = FFI::MemoryPointer.new(:uint64) Babeltrace2.bt_clock_class_get_offset(@handle, ptr1, ptr2) [ptr1.read_int64, ptr2.read_uint64] end |
#get_precision ⇒ Object Also known as: precision
165 166 167 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 165 def get_precision Babeltrace2.bt_clock_class_get_precision(@handle) end |
#get_user_attributes ⇒ Object Also known as: user_attributes
245 246 247 248 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 245 def get_user_attributes handle = Babeltrace2.bt_clock_class_borrow_user_attributes(@handle) BTValueMap.new(handle, retain: true) end |
#get_uuid ⇒ Object Also known as: uuid
228 229 230 231 232 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 228 def get_uuid uuid = Babeltrace2.bt_clock_class_get_uuid(@handle) return nil if uuid.null? uuid end |
#name=(name) ⇒ Object
192 193 194 195 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 192 def name=(name) set_name(name) name end |
#origin_is_unix_epoch ⇒ Object Also known as: origin_is_unix_epoch?
181 182 183 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 181 def origin_is_unix_epoch Babeltrace2.bt_clock_class_origin_is_unix_epoch(@handle) != BT_FALSE end |
#origin_is_unix_epoch=(origin_is_unix_epoch) ⇒ Object
176 177 178 179 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 176 def origin_is_unix_epoch=(origin_is_unix_epoch) set_origin_is_unix_epoch(origin_is_unix_epoch) origin_is_unix_epoch end |
#precision=(precision) ⇒ Object
160 161 162 163 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 160 def precision=(precision) set_precision(precision) precision end |
#set_description(description) ⇒ Object
202 203 204 205 206 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 202 def set_description(description) res = Babeltrace2.bt_clock_class_set_description(@handle, description) raise Babeltrace2.process_error(res) if res != :BT_CLOCK_CLASS_SET_DESCRIPTION_STATUS_OK self end |
#set_frequency(frequency) ⇒ Object
127 128 129 130 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 127 def set_frequency(frequency) Babeltrace2.bt_clock_class_set_frequency(@handle, frequency) self end |
#set_name(name) ⇒ Object
186 187 188 189 190 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 186 def set_name(name) res = Babeltrace2.bt_clock_class_set_name(@handle, name) raise Babeltrace2.process_error(res) if res != :BT_CLOCK_CLASS_SET_NAME_STATUS_OK self end |
#set_offset(offset_seconds, offset_cycles) ⇒ Object
142 143 144 145 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 142 def set_offset(offset_seconds, offset_cycles) Babeltrace2.bt_clock_class_set_offset(@handle, offset_seconds, offset_cycles) self end |
#set_origin_is_unix_epoch(origin_is_unix_epoch) ⇒ Object
170 171 172 173 174 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 170 def set_origin_is_unix_epoch(origin_is_unix_epoch) Babeltrace2.bt_clock_class_set_origin_is_unix_epoch( @handle, origin_is_unix_epoch ? BT_TRUE : BT_FALSE) self end |
#set_precision(precision) ⇒ Object
155 156 157 158 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 155 def set_precision(precision) Babeltrace2.bt_clock_class_set_precision(@handle, precision) self end |
#set_user_attributes(user_attributes) ⇒ Object
235 236 237 238 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 235 def set_user_attributes(user_attributes) Babeltrace2.bt_clock_class_set_user_attributes(@handle, BTValue.from_value(user_attributes)) self end |
#set_uuid(uuid) ⇒ Object
218 219 220 221 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 218 def set_uuid(uuid) Babeltrace2.bt_clock_class_set_uuid(@handle, uuid) self end |
#to_h ⇒ Object
258 259 260 261 262 263 264 265 266 267 268 269 270 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 258 def to_h res = {} res[:name] = name if name res[:description] = description if description res[:frequency] = frequency res[:precision] = precision res[:offset] = offset res[:origin_is_unix_epoch] = origin_is_unix_epoch? res[:uuid] = uuid.to_s if uuid user_attributes_value = user_attributes.value res[:user_attributes] = user_attributes_value if !user_attributes_value.empty? res end |
#user_attributes=(user_attributes) ⇒ Object
240 241 242 243 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 240 def user_attributes=(user_attributes) set_user_attributes(user_attributes) user_attributes end |
#uuid=(uuid) ⇒ Object
223 224 225 226 |
# File 'lib/babeltrace2/trace-ir/clock-class.rb', line 223 def uuid=(uuid) set_uuid(uuid) uuid end |