aboutsummaryrefslogtreecommitdiffstats
path: root/serd/serd.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-05-12 18:03:13 +0200
committerDavid Robillard <d@drobilla.net>2018-05-27 18:23:15 +0200
commitf48dac14b6533b4cdd4804513216f4f11de36d9a (patch)
treea26996f7344bf67890b3004649522023b7cccfe4 /serd/serd.h
parentcc1378913b22737fc1abb81de15313099d005eae (diff)
downloadserd-f48dac14b6533b4cdd4804513216f4f11de36d9a.tar.gz
serd-f48dac14b6533b4cdd4804513216f4f11de36d9a.tar.bz2
serd-f48dac14b6533b4cdd4804513216f4f11de36d9a.zip
Set datatypes on integer, decimal, and base64 nodes
Diffstat (limited to 'serd/serd.h')
-rw-r--r--serd/serd.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/serd/serd.h b/serd/serd.h
index c765f8dd..f148acb4 100644
--- a/serd/serd.h
+++ b/serd/serd.h
@@ -554,18 +554,27 @@ serd_node_new_relative_uri(const char* str,
represent a double and float, respectively.
@param d The value for the new node.
+
@param frac_digits The maximum number of digits after the decimal place.
+
+ @param datatype Datatype of node, may be NULL in which case the node has
+ type xsd:decimal.
*/
SERD_API
SerdNode*
-serd_node_new_decimal(double d, unsigned frac_digits);
+serd_node_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype);
/**
Create a new node by serialising `i` into an xsd:integer string.
+
+ @param i Integer value to serialise.
+
+ @param datatype Datatype of node, may be NULL in which case the node has
+ type xsd:integer.
*/
SERD_API
SerdNode*
-serd_node_new_integer(int64_t i);
+serd_node_new_integer(int64_t i, const SerdNode* datatype);
/**
Create a node by serialising `buf` into an xsd:base64Binary string.
@@ -573,12 +582,19 @@ serd_node_new_integer(int64_t i);
binary data, which can be decoded using serd_base64_decode().
@param buf Raw binary input data.
+
@param size Size of `buf`.
+
@param wrap_lines Wrap lines at 76 characters to conform to RFC 2045.
+
+ @param datatype Datatype of node, may be NULL in which case the node has
+ type xsd:base64Binary.
*/
SERD_API
-SerdNode*
-serd_node_new_blob(const void* buf, size_t size, bool wrap_lines);
+SerdNode* serd_node_new_blob(const void* buf,
+ size_t size,
+ bool wrap_lines,
+ const SerdNode* datatype);
/**
Return the type of a node (SERD_URI, SERD_BLANK, or SERD_LITERAL).