Browse Source

WIP: warning: breaks existing tests (WIP!) Making it work with libpEpAdapter/master/tip

pull/14/head
heck 4 years ago
parent
commit
c03191dfc4
  1. 25
      src/pEp/__init__.py
  2. 44
      src/pEp/_pEp/pEpmodule.cc

25
src/pEp/__init__.py

@ -41,26 +41,28 @@ from time import sleep
def init(): def init():
# print(init, "called") # print(init, "called")
_pEp._init_after_main_module() _pEp._init_after_main_module()
_pEp._session_init(True);
def start_sync() -> None: def start_sync() -> None:
"""starts the sync thread""" """starts the sync thread"""
set_sync_mode(SyncModes.Async) Sync.start_sync()
def shutdown_sync() -> None: def shutdown_sync() -> None:
"""call this to shut down the sync thread""" """call this to shut down the sync thread"""
set_sync_mode(SyncModes.Off) Sync.shutdown_sync()
# set_sync_mode(SyncModes.Off)
def set_sync_mode(mode): # def set_sync_mode(mode):
_pEp._set_sync_mode(mode) # _pEp._set_sync_mode(mode)
if mode == SyncModes.Sync: # if mode == SyncModes.Sync:
Sync.shutdown_sync() # Sync.shutdown_sync()
if mode == SyncModes.Async: # if mode == SyncModes.Async:
Sync.start_sync() # Sync.start_sync()
if mode == SyncModes.Off: # if mode == SyncModes.Off:
Sync.shutdown_sync() # Sync.shutdown_sync()
@ -122,7 +124,8 @@ class Sync(Thread):
* NOPE 7. Execute registered shutdown function * NOPE 7. Execute registered shutdown function
""" """
# TODO catch exception, and rethrow in start() # TODO catch exception, and rethrow in start()
_pEp._register_sync_callbacks() # _pEp._register_sync_callbacks()
_pEp._session_init(True)
self.barr.wait() self.barr.wait()
while _pEp._do_protocol_step(): while _pEp._do_protocol_step():

44
src/pEp/_pEp/pEpmodule.cc

@ -40,19 +40,22 @@ namespace pEp {
// hidden init function, wrapped by _pEp.init() // hidden init function, wrapped by _pEp.init()
void _init_after_main_module() { void _init_after_main_module() {
pEpLog("called"); pEpLog("called");
callback_dispatcher.add(_messageToSend, _notifyHandshake, nullptr, nullptr); // callback_dispatcher.add(_messageToSend, _notifyHandshake, nullptr, nullptr);
// Adapter::sync_initialize( // Adapter::sync_initialize(
// Adapter::SyncModes::Off, // Adapter::SyncModes::Off,
// CallbackDispatcher::messageToSend, // CallbackDispatcher::messageToSend,
// CallbackDispatcher::notifyHandshake, // CallbackDispatcher::notifyHandshake,
// true); // true);
Adapter::sync_initialize( // Adapter::session.initialize(Adapter::SyncModes::Sync, true);
Adapter::SyncModes::Off,
_messageToSend,
_notifyHandshake,
true);
} }
void _session_init(bool mode_async) {
if(mode_async) {
Adapter::session.initialize(pEp::Adapter::SyncModes::Async, true);
} else {
Adapter::session.initialize(pEp::Adapter::SyncModes::Sync, true);
}
}
void config_passive_mode(bool enable) { void config_passive_mode(bool enable) {
::config_passive_mode(Adapter::session(), enable); ::config_passive_mode(Adapter::session(), enable);
@ -149,12 +152,12 @@ namespace pEp {
} }
} }
void _register_sync_callbacks() { // void _register_sync_callbacks() {
pEpLog("called"); // pEpLog("called");
Adapter::session(); // Adapter::session();
PEP_STATUS status = ::register_sync_callbacks(Adapter::session(), nullptr, Adapter::_notifyHandshake, Adapter::_retrieve_next_sync_event); // PEP_STATUS status = ::register_sync_callbacks(Adapter::session(), nullptr, Adapter::_notifyHandshake, Adapter::_retrieve_next_sync_event);
_throw_status(status); // _throw_status(status);
} // }
void _unregister_sync_callbacks() { void _unregister_sync_callbacks() {
::unregister_sync_callbacks(Adapter::session()); ::unregister_sync_callbacks(Adapter::session());
@ -237,8 +240,10 @@ namespace pEp {
def("set_debug_log_enabled", &Adapter::pEpLog::set_enabled, def("set_debug_log_enabled", &Adapter::pEpLog::set_enabled,
"Switch debug logging on/off"); "Switch debug logging on/off");
def("_register_sync_callbacks", _register_sync_callbacks,
""); def("_session_init", _session_init);
// def("_register_sync_callbacks", _register_sync_callbacks,
// "");
def("_unregister_sync_callbacks", _unregister_sync_callbacks, def("_unregister_sync_callbacks", _unregister_sync_callbacks,
""); "");
@ -255,13 +260,12 @@ namespace pEp {
def("_notifyHandshake_sync_stop", _notifyHandshake_sync_stop, def("_notifyHandshake_sync_stop", _notifyHandshake_sync_stop,
""); "");
def("_set_sync_mode", pEp::Adapter::set_sync_mode, // def("_set_sync_mode", pEp::Adapter::set_sync_mode,
""); // "");
enum_<pEp::Adapter::SyncModes>("SyncModes") // enum_<pEp::Adapter::SyncModes>("SyncModes")
.value("Off", pEp::Adapter::SyncModes::Off) // .value("Async", pEp::Adapter::SyncModes::Async)
.value("Async", pEp::Adapter::SyncModes::Async) // .value("Sync", pEp::Adapter::SyncModes::Sync);
.value("Sync", pEp::Adapter::SyncModes::Sync);
def("passive_mode", config_passive_mode, def("passive_mode", config_passive_mode,
"do not attach pub keys to all messages"); "do not attach pub keys to all messages");

Loading…
Cancel
Save