{
return yaca_debug_translate_error(static_cast<yaca_error_e>(error));
}
+
+KeyPtr wrap_ptr(yaca_key_h key)
+{
+ return KeyPtr(key, yaca_key_destroy);
+}
+
+CtxPtr wrap_ptr(yaca_context_h ctx)
+{
+ return CtxPtr(ctx, yaca_context_destroy);
+}
+
+BufPtr wrap_ptr(char* buffer)
+{
+ return BufPtr(buffer, yaca_free);
+}
#include <string>
#include <iostream>
#include <sstream>
+#include <memory>
#include <yaca_crypto.h>
#include <yaca_error.h>
+#include <yaca_key.h>
#include <dpl/gdbbacktrace.h>
#include <dpl/test/test_failed.h>
#define YACA_SUCCESS(func) YACA_RESULT(YACA_ERROR_NONE, func);
#define YACA_INVALID_PARAM(func) YACA_RESULT(YACA_ERROR_INVALID_PARAMETER, func);
+
+typedef std::unique_ptr<yaca_key_s, int (*)(yaca_key_h)> KeyPtr;
+typedef std::unique_ptr<yaca_context_s, int (*)(yaca_context_h)> CtxPtr;
+typedef std::unique_ptr<char, int (*)(void*)> BufPtr;
+
+KeyPtr wrap_ptr(yaca_key_h key);
+CtxPtr wrap_ptr(yaca_context_h ctx);
+BufPtr wrap_ptr(char* buffer);