cpp-common/bt2c/fmt.hpp: use `wise_enum::string_type` in `EnableIfIsWiseEnum` definition
[babeltrace.git] / src / bindings / python / bt2 / bt2 / clock_snapshot.py
CommitLineData
0235b0db 1# SPDX-License-Identifier: MIT
79c39ab9
PP
2#
3# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
79c39ab9 4
79c39ab9 5import numbers
be7bbff9 6import functools
79c39ab9 7
5995b304
SM
8from bt2 import utils as bt2_utils
9from bt2 import object as bt2_object
10from bt2 import native_bt
11from bt2 import clock_class as bt2_clock_class
12
79c39ab9 13
c6af194f 14@functools.total_ordering
e5914347 15class _ClockSnapshotConst(bt2_object._UniqueObject):
79c39ab9
PP
16 @property
17 def clock_class(self):
be7bbff9
SM
18 cc_ptr = native_bt.clock_snapshot_borrow_clock_class_const(self._ptr)
19 assert cc_ptr is not None
eddea575 20 return bt2_clock_class._ClockClassConst._create_from_ptr_and_get_ref(cc_ptr)
79c39ab9
PP
21
22 @property
2ae9f48c
SM
23 def value(self):
24 return native_bt.clock_snapshot_get_value(self._ptr)
79c39ab9
PP
25
26 @property
be7bbff9 27 def ns_from_origin(self):
d24d5663 28 status, ns = native_bt.clock_snapshot_get_ns_from_origin(self._ptr)
e5914347 29 bt2_utils._handle_func_status(
cfbd7cf3
FD
30 status, "cannot get clock snapshot's nanoseconds from origin"
31 )
be7bbff9 32 return ns
79c39ab9 33
be7bbff9
SM
34 def __eq__(self, other):
35 if not isinstance(other, numbers.Integral):
36 return NotImplemented
79c39ab9 37
be7bbff9 38 return self.value == int(other)
79c39ab9 39
be7bbff9
SM
40 def __lt__(self, other):
41 if not isinstance(other, numbers.Integral):
42 return NotImplemented
79c39ab9 43
be7bbff9 44 return self.value < int(other)
9ec609ec
SM
45
46
c6af194f 47class _UnknownClockSnapshot:
9ec609ec 48 pass
This page took 0.085199 seconds and 4 git commands to generate.