YACA: keytype2str helper function 89/76089/2
authorLukasz Pawelczyk <l.pawelczyk@samsung.com>
Wed, 22 Jun 2016 14:17:43 +0000 (16:17 +0200)
committerLukasz Pawelczyk <l.pawelczyk@samsung.com>
Thu, 23 Jun 2016 12:33:37 +0000 (14:33 +0200)
Make it more generic with ENUM_DESCRIBE

Change-Id: I27ecd5832c1fc2d43dd82bf4399262d9745947f9

src/yaca/yaca-test-common.cpp
src/yaca/yaca-test-common.h

index 2699c11..e5ba8e3 100644 (file)
@@ -205,20 +205,34 @@ Buffer random_buffer(size_t length)
     return buffer;
 }
 
-#define DIGEST_DESCRIBE(algo) case (algo): return #algo;
+#define ENUM_DESCRIBE(enum_value) case (enum_value): return #enum_value;
+const char* keytype2str(yaca_key_type_e key_type)
+{
+    switch (key_type) {
+    ENUM_DESCRIBE(YACA_KEY_TYPE_SYMMETRIC);
+    ENUM_DESCRIBE(YACA_KEY_TYPE_DES);
+    ENUM_DESCRIBE(YACA_KEY_TYPE_IV);
+    ENUM_DESCRIBE(YACA_KEY_TYPE_RSA_PRIV);
+    ENUM_DESCRIBE(YACA_KEY_TYPE_RSA_PUB);
+    ENUM_DESCRIBE(YACA_KEY_TYPE_DSA_PRIV);
+    ENUM_DESCRIBE(YACA_KEY_TYPE_DSA_PUB);
+    default: return "Unknown key type";
+    }
+}
+
 const char* digest2str(yaca_digest_algorithm_e algo)
 {
     switch (algo) {
-    DIGEST_DESCRIBE(YACA_DIGEST_MD5);
-    DIGEST_DESCRIBE(YACA_DIGEST_SHA1);
-    DIGEST_DESCRIBE(YACA_DIGEST_SHA224);
-    DIGEST_DESCRIBE(YACA_DIGEST_SHA256);
-    DIGEST_DESCRIBE(YACA_DIGEST_SHA384);
-    DIGEST_DESCRIBE(YACA_DIGEST_SHA512);
+    ENUM_DESCRIBE(YACA_DIGEST_MD5);
+    ENUM_DESCRIBE(YACA_DIGEST_SHA1);
+    ENUM_DESCRIBE(YACA_DIGEST_SHA224);
+    ENUM_DESCRIBE(YACA_DIGEST_SHA256);
+    ENUM_DESCRIBE(YACA_DIGEST_SHA384);
+    ENUM_DESCRIBE(YACA_DIGEST_SHA512);
     default: return "Unknown digest algorithm";
     }
 }
-#undef DIGEST_DESCRIBE
+#undef ENUM_DESCRIBE
 
 std::string truncate_str(const std::string& input, size_t len)
 {
index 2815f8e..c4327ad 100644 (file)
@@ -156,6 +156,8 @@ CtxPtr digest_init(yaca_digest_algorithm_e algo);
 
 Buffer random_buffer(size_t length);
 
+const char* keytype2str(yaca_key_type_e algo);
+
 const char* digest2str(yaca_digest_algorithm_e algo);
 
 /* If input is longer than len it is truncated and an ellipsis is appended.