From 1be37139d135da3ee6db177358088d2a4497b016 Mon Sep 17 00:00:00 2001
From: florian <f.spreckelsen@inidscale.com>
Date: Fri, 17 Sep 2021 16:52:39 +0200
Subject: [PATCH] DRAFT: Begin implementation of creators

---
 src/Entity.jl | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/src/Entity.jl b/src/Entity.jl
index 5b04ac2..22cf081 100644
--- a/src/Entity.jl
+++ b/src/Entity.jl
@@ -475,6 +475,35 @@ function create_parent(; name::AbstractString = "", id::AbstractString = "")
     return parent
 end
 
+"""
+    function create_atomic_datatype(name::AbstractString)
+
+Create and return a DataType object with an atomic datatype specified by the
+`name`.
+"""
+function create_atomic_datatype(name::AbstractString)
+
+    datatype = Ref{_DataType}(_DataType(true))
+
+    err_code = ccall(
+        (:caosdb_entity_create_atomic_datatype, CaosDB.library_name),
+        Cint,
+        (Ref{_DataType}, Cstring),
+        datatype,
+        name
+    )
+
+    CaosDB.Exceptions.evaluate_return_code(err_code)
+
+    return datatype
+end
+
+function create_reference_datatype(name::AbstractString) end
+
+function create_list_of_atomic_datatype(name::AbstractString) end
+
+function create_list_of_reference_datatype(name::AbstractString) end
+
 """
     function get_id(entity::Ref{_Entity})
 
-- 
GitLab