python: mark _SharedObject._{get,put}_ref as abstract methods
[babeltrace.git] / src / bindings / python / bt2 / bt2 / object.py
index fed138eced74e526699c074f53903df915d049a4..c1a23fdf353c8657503221834884f0ec675075e0 100644 (file)
@@ -3,6 +3,9 @@
 # Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
 
 
+import abc
+
+
 class _BaseObject:
     # Ensure that the object always has _ptr set, even if it throws during
     # construction.
@@ -69,14 +72,14 @@ class _UniqueObject(_BaseObject):
 
 
 # Python object that owns a reference to a Babeltrace object.
-class _SharedObject(_BaseObject):
-
+class _SharedObject(_BaseObject, abc.ABC):
     # Get a new reference on ptr.
     #
     # This must be implemented by subclasses to work correctly with a pointer
     # of the native type they wrap.
 
     @staticmethod
+    @abc.abstractmethod
     def _get_ref(ptr):
         raise NotImplementedError
 
@@ -86,6 +89,7 @@ class _SharedObject(_BaseObject):
     # of the native type they wrap.
 
     @staticmethod
+    @abc.abstractmethod
     def _put_ref(ptr):
         raise NotImplementedError
 
This page took 0.023318 seconds and 4 git commands to generate.