return int(self._ptr)
def __repr__(self):
- return '<{}.{} object @ {}>'.format(self.__class__.__module__,
- self.__class__.__name__,
- hex(self.addr))
+ return '<{}.{} object @ {}>'.format(
+ self.__class__.__module__, self.__class__.__name__, hex(self.addr)
+ )
def __copy__(self):
raise NotImplementedError
# of unique objects, we make it so acquiring a reference on a unique object
# acquires a reference on its owner.
+
class _UniqueObject(_BaseObject):
# Create a _UniqueObject.
# - owner_put_ref: Callback to put a reference on the owner.
@classmethod
- def _create_from_ptr_and_get_ref(cls, ptr, owner_ptr,
- owner_get_ref, owner_put_ref):
+ def _create_from_ptr_and_get_ref(cls, ptr, owner_ptr, owner_get_ref, owner_put_ref):
obj = cls.__new__(cls)
obj._ptr = ptr
cls._get_ref(obj._ptr)
return obj
- def _release(self):
- """Return the wrapped pointer, transfer its ownership to the
- caller."""
- ptr = self._ptr
- self._ptr = None
- return ptr
-
def __del__(self):
self._put_ref(self._ptr)