Implement int8, uint8, int16, uint16, int64, uint64 types

This sw did not support uint8 type, which is needed by the upcoming
driver CalibrationBox within cla-sysrepo, so we implemented uint8 and
other types in TODO sections.

Creating leaf_data_XXX_classes for all types would result in a lot of
redundant code so the base class was turned into a template and the type
is passed through the template argument.

Change-Id: I866a3933fe21ea7844299556e5aaf39b3e40e92f
Co-Authored-By: Jan Kundrát <jan.kundrat@cesnet.cz>
diff --git a/src/yang_schema.cpp b/src/yang_schema.cpp
index ca9e4ff..6cd7024 100644
--- a/src/yang_schema.cpp
+++ b/src/yang_schema.cpp
@@ -246,10 +246,22 @@
         return yang::LeafDataTypes::Decimal;
     case LY_TYPE_BOOL:
         return yang::LeafDataTypes::Bool;
+    case LY_TYPE_INT8:
+        return yang::LeafDataTypes::Int8;
+    case LY_TYPE_INT16:
+        return yang::LeafDataTypes::Int16;
     case LY_TYPE_INT32:
-        return yang::LeafDataTypes::Int;
+        return yang::LeafDataTypes::Int32;
+    case LY_TYPE_INT64:
+        return yang::LeafDataTypes::Int64;
+    case LY_TYPE_UINT8:
+        return yang::LeafDataTypes::Uint8;
+    case LY_TYPE_UINT16:
+        return yang::LeafDataTypes::Uint16;
     case LY_TYPE_UINT32:
-        return yang::LeafDataTypes::Uint;
+        return yang::LeafDataTypes::Uint32;
+    case LY_TYPE_UINT64:
+        return yang::LeafDataTypes::Uint64;
     case LY_TYPE_ENUM:
         return yang::LeafDataTypes::Enum;
     case LY_TYPE_BINARY: