Move to kernel style SPDX license identifiers
[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
PP
4
5from bt2 import native_bt, object, utils
79c39ab9 6import numbers
3fb99a22 7from bt2 import clock_class as bt2_clock_class
be7bbff9 8import functools
79c39ab9
PP
9
10
c6af194f 11@functools.total_ordering
eddea575 12class _ClockSnapshotConst(object._UniqueObject):
79c39ab9
PP
13 @property
14 def clock_class(self):
be7bbff9
SM
15 cc_ptr = native_bt.clock_snapshot_borrow_clock_class_const(self._ptr)
16 assert cc_ptr is not None
eddea575 17 return bt2_clock_class._ClockClassConst._create_from_ptr_and_get_ref(cc_ptr)
79c39ab9
PP
18
19 @property
2ae9f48c
SM
20 def value(self):
21 return native_bt.clock_snapshot_get_value(self._ptr)
79c39ab9
PP
22
23 @property
be7bbff9 24 def ns_from_origin(self):
d24d5663 25 status, ns = native_bt.clock_snapshot_get_ns_from_origin(self._ptr)
cfbd7cf3
FD
26 utils._handle_func_status(
27 status, "cannot get clock snapshot's nanoseconds from origin"
28 )
be7bbff9 29 return ns
79c39ab9 30
be7bbff9
SM
31 def __eq__(self, other):
32 if not isinstance(other, numbers.Integral):
33 return NotImplemented
79c39ab9 34
be7bbff9 35 return self.value == int(other)
79c39ab9 36
be7bbff9
SM
37 def __lt__(self, other):
38 if not isinstance(other, numbers.Integral):
39 return NotImplemented
79c39ab9 40
be7bbff9 41 return self.value < int(other)
9ec609ec
SM
42
43
c6af194f 44class _UnknownClockSnapshot:
9ec609ec 45 pass
This page took 0.057399 seconds and 4 git commands to generate.