|
@ -6,10 +6,26 @@ |
|
|
#include <iomanip> |
|
|
#include <iomanip> |
|
|
#include <assert.h> |
|
|
#include <assert.h> |
|
|
|
|
|
|
|
|
|
|
|
using namespace std; |
|
|
|
|
|
|
|
|
namespace pEp { |
|
|
namespace pEp { |
|
|
namespace Adapter { |
|
|
void throw_status(PEP_STATUS status) |
|
|
using namespace std; |
|
|
{ |
|
|
|
|
|
if (status == PEP_STATUS_OK) |
|
|
|
|
|
return; |
|
|
|
|
|
if (status >= 0x400 && status <= 0x4ff) |
|
|
|
|
|
return; |
|
|
|
|
|
if (status == PEP_OUT_OF_MEMORY) |
|
|
|
|
|
throw bad_alloc(); |
|
|
|
|
|
if (status == PEP_ILLEGAL_VALUE) |
|
|
|
|
|
throw invalid_argument("illegal value"); |
|
|
|
|
|
|
|
|
|
|
|
stringstream build; |
|
|
|
|
|
build << setfill('0') << "p≡p 0x" << setw(4) << hex << status; |
|
|
|
|
|
throw runtime_error(build.str()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
namespace Adapter { |
|
|
static messageToSend_t _messageToSend = nullptr; |
|
|
static messageToSend_t _messageToSend = nullptr; |
|
|
static notifyHandshake_t _notifyHandshake = nullptr; |
|
|
static notifyHandshake_t _notifyHandshake = nullptr; |
|
|
static std::thread *_sync_thread = nullptr; |
|
|
static std::thread *_sync_thread = nullptr; |
|
@ -26,22 +42,6 @@ namespace pEp { |
|
|
return m; |
|
|
return m; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void throw_status(PEP_STATUS status) |
|
|
|
|
|
{ |
|
|
|
|
|
if (status == PEP_STATUS_OK) |
|
|
|
|
|
return; |
|
|
|
|
|
if (status >= 0x400 && status <= 0x4ff) |
|
|
|
|
|
return; |
|
|
|
|
|
if (status == PEP_OUT_OF_MEMORY) |
|
|
|
|
|
throw bad_alloc(); |
|
|
|
|
|
if (status == PEP_ILLEGAL_VALUE) |
|
|
|
|
|
throw invalid_argument("illegal value"); |
|
|
|
|
|
|
|
|
|
|
|
stringstream build; |
|
|
|
|
|
build << setfill('0') << "p≡p 0x" << setw(4) << hex << status; |
|
|
|
|
|
throw runtime_error(build.str()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static int _inject_sync_event(SYNC_EVENT ev, void *management) |
|
|
static int _inject_sync_event(SYNC_EVENT ev, void *management) |
|
|
{ |
|
|
{ |
|
|
if (is_sync_thread(session())) { |
|
|
if (is_sync_thread(session())) { |
|
|