3
3
import warnings
4
4
import weakref
5
5
from enum import Enum
6
- from typing import Any , Callable , List , Optional , cast
6
+ from typing import Any , List , Optional , cast
7
7
8
8
import typing_extensions
9
9
from _tanker import ffi
@@ -35,13 +35,6 @@ def log_handler(record: CData) -> None:
35
35
tankerlib .tanker_set_log_handler (tankerlib .log_handler )
36
36
37
37
38
- @ffi .def_extern () # type: ignore
39
- def revoke_callback (args : CData , data : CData ) -> None :
40
- tanker_instance = ffi .from_handle (data )() # data is a weakref.ref
41
- if tanker_instance and tanker_instance .on_revoked :
42
- tanker_instance .on_revoked ()
43
-
44
-
45
38
class Status (Enum ):
46
39
"""Represent the status of a Tanker session"""
47
40
@@ -204,9 +197,6 @@ def verification_method_from_c(c_verification_method: CData) -> VerificationMeth
204
197
return res
205
198
206
199
207
- RevokeFunc = Callable [[], None ]
208
-
209
-
210
200
class AttachResult :
211
201
"""Represent the result of a call to `attach_provisional_identity`
212
202
@@ -631,8 +621,6 @@ def __init__(
631
621
self .c_tanker = None
632
622
633
623
self ._create_tanker_obj ()
634
- self ._set_event_callbacks ()
635
- self .on_revoked = None # type: Optional[RevokeFunc]
636
624
637
625
def __del__ (self ) -> None :
638
626
if getattr (self , "c_tanker" , None ):
@@ -695,19 +683,6 @@ def _create_tanker_obj(self) -> None:
695
683
c_voidp = tankerlib .tanker_future_get_voidptr (create_fut )
696
684
self .c_tanker = ffi .cast ("tanker_t*" , c_voidp )
697
685
698
- def _set_event_callbacks (self ) -> None :
699
- # userdata must live as long as self, and userdata must not hold a
700
- # reference on self
701
- userdata = ffi .new_handle (weakref .ref (self ))
702
- _GLOBAL_TANKERS [self ] = userdata
703
- c_future_connect = tankerlib .tanker_event_connect (
704
- self .c_tanker ,
705
- tankerlib .TANKER_EVENT_DEVICE_REVOKED ,
706
- tankerlib .revoke_callback ,
707
- userdata ,
708
- )
709
- ffihelpers .wait_fut_or_raise (c_future_connect )
710
-
711
686
@property
712
687
def status (self ) -> Status :
713
688
"""Retrieve the status of the current session, as a :py:class:`Status` instance"""
@@ -846,6 +821,11 @@ async def decrypt_stream(self, encrypted_stream: Stream) -> Stream:
846
821
847
822
async def device_id (self ) -> str :
848
823
""":return: the current device id"""
824
+ warnings .warn (
825
+ 'The "device_id" method is deprecated, it will be removed in the future' ,
826
+ DeprecationWarning ,
827
+ )
828
+
849
829
c_future = tankerlib .tanker_device_id (self .c_tanker )
850
830
c_voidp = await ffihelpers .handle_tanker_future (c_future )
851
831
c_str = ffi .cast ("char*" , c_voidp )
@@ -858,6 +838,11 @@ async def get_device_list(self) -> List[Device]:
858
838
859
839
:returns: a list of :py:class`Device` instances
860
840
"""
841
+ warnings .warn (
842
+ 'The "get_device_list" method is deprecated, it will be removed in the future' ,
843
+ DeprecationWarning ,
844
+ )
845
+
861
846
c_future = tankerlib .tanker_get_device_list (self .c_tanker )
862
847
c_voidp = await ffihelpers .handle_tanker_future (c_future )
863
848
c_list = ffi .cast ("tanker_device_list_t*" , c_voidp )
@@ -871,16 +856,6 @@ async def get_device_list(self) -> List[Device]:
871
856
tankerlib .tanker_free_device_list (c_list )
872
857
return res
873
858
874
- async def revoke_device (self , device_id : str ) -> None :
875
- """Revoke the given device"""
876
- warnings .warn (
877
- 'The "revoke_device" method is deprecated, it will be removed in the future' ,
878
- DeprecationWarning ,
879
- )
880
- c_device_id = ffihelpers .str_to_c_string (device_id )
881
- c_future = tankerlib .tanker_revoke_device (self .c_tanker , c_device_id )
882
- await ffihelpers .handle_tanker_future (c_future )
883
-
884
859
def get_resource_id (self , encrypted_data : bytes ) -> str :
885
860
"""Get resource ID from `encrypted` data"""
886
861
c_expected = tankerlib .tanker_get_resource_id (
0 commit comments