Compare commits

...

3 Commits

@ -467,17 +467,18 @@ BOOST_PYTHON_MODULE(pEp)
auto user_interface_class = class_<UserInterface, UserInterface_callback, boost::noncopyable>(
"UserInterface",
"class MyUserInterface(UserInterface):\n"
" def notifyHandshake(self, me, partner):\n"
" def notifyHandshake(address, own_fpr, partner_fpr):\n"
" ...\n"
"\n"
"p≡p User Interface class\n"
"To be used as a mixin\n"
)
.def("notifyHandshake", &UserInterface::notifyHandshake,
"notifyHandshake(self, me, partner)\n"
"notifyHandshake(address, own_fpr, partner_fpr)\n"
"\n"
" me own identity\n"
" partner identity of communication partner\n"
" address own address to sync on\n"
" own_fpr key fingerprint from own identity"
" partner_fpr key fingerprint from partner\n"
"\n"
"overwrite this method with an implementation of a handshake dialog")
.def("deliverHandshakeResult", &UserInterface::deliverHandshakeResult,
@ -494,4 +495,3 @@ BOOST_PYTHON_MODULE(pEp)
call< object >(((object)(import("codecs").attr("register"))).ptr(), make_function(sync_search));
}

@ -38,15 +38,17 @@ namespace pEp {
}
PEP_STATUS UserInterface::_notifyHandshake(
pEp_identity *me, pEp_identity *partner,
const char* address,
const char* own_fpr,
const char* partner_fpr,
sync_handshake_signal signal
)
{
if (!(me && partner))
if (!(own_fpr && partner_fpr))
return PEP_ILLEGAL_VALUE;
auto that = dynamic_cast< UserInterface_callback * >(_ui);
that->notifyHandshake(Identity(me), Identity(partner), signal);
that->notifyHandshake(address, own_fpr, partner_fpr, signal);
return PEP_STATUS_OK;
}
@ -116,10 +118,9 @@ namespace pEp {
}
void UserInterface_callback::notifyHandshake(
Identity me, Identity partner, sync_handshake_signal signal)
const char* address, const char* own_fpr, const char* partner_fpr, sync_handshake_signal signal)
{
call_method< void >(_self, "notifyHandshake", me, partner, signal);
call_method< void >(_self, "notifyHandshake", address, own_fpr, partner_fpr, signal);
}
}
}

@ -17,8 +17,9 @@ namespace pEp {
virtual ~UserInterface();
virtual void notifyHandshake(
pEp::PythonAdapter::Identity me,
pEp::PythonAdapter::Identity partner,
const char* address,
const char* own_fpr,
const char* partner_fpr,
sync_handshake_signal signal)
{
throw runtime_error("override this method");
@ -29,8 +30,8 @@ namespace pEp {
PEP_rating get_key_rating_for_user(string user_id, string fpr);
protected:
static PEP_STATUS _notifyHandshake(pEp_identity *me,
pEp_identity *partner, sync_handshake_signal signal);
static PEP_STATUS _notifyHandshake(const char* address, const char* own_fpr,
const char* partner_fpr, sync_handshake_signal signal);
static SYNC_EVENT retrieve_next_sync_event(void *management, unsigned threshold);
};
@ -41,10 +42,10 @@ namespace pEp {
~UserInterface_callback();
void notifyHandshake(
pEp::PythonAdapter::Identity me,
pEp::PythonAdapter::Identity partner,
const char* address,
const char* own_fpr,
const char* partner_fpr,
sync_handshake_signal signal);
};
}
}

@ -96,11 +96,11 @@ def messageToSend(msg):
class UserInterface(pEp.UserInterface):
def notifyHandshake(self, me, partner, signal):
output("on " + device_name + " signal " + str(signal) + " for identities " + str(me.fpr) + " " +
str(partner.fpr))
if me.fpr and partner.fpr:
assert me.fpr != partner.fpr
def notifyHandshake(address, own_fpr, partner_fpr, signal):
output("on " + device_name + " signal " + str(signal) + " for identities " + str(own_fpr) + " " +
str(partner_fpr))
if own_fpr and partner_fpr:
assert own_fpr != partner_fpr
if signal in (
pEp.sync_handshake_signal.SYNC_NOTIFY_INIT_ADD_OTHER_DEVICE,
@ -175,4 +175,3 @@ if __name__=="__main__":
end_on = (end_on,)
run(options.exec_for, options.color)

Loading…
Cancel
Save