aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2022-01-13Simplify reader interfaceDavid Robillard1-48/+35
2022-01-13Add SerdSink interface and hide implementationsDavid Robillard1-51/+89
2022-01-13Bring read/write interface closer to C standardDavid Robillard1-32/+33
2022-01-13Set datatypes on integer, decimal, and base64 nodesDavid Robillard1-4/+16
2022-01-13Simplify node construction APIDavid Robillard1-40/+38
2022-01-13Merge datatype/language into nodeDavid Robillard1-15/+34
This moves closer to the sord API, and is more convenient in most cases.
2022-01-13Simplify URI API and implementationDavid Robillard1-83/+93
2022-01-13Add serd_node_uri_view()David Robillard1-0/+15
2022-01-13Add serd_node_string_view()David Robillard1-0/+10
2022-01-13Make nodes opaqueDavid Robillard1-66/+38
2022-01-13Add node accessor APIDavid Robillard1-0/+20
2022-01-13Shorten node constructor namesDavid Robillard1-22/+22
2022-01-13Add string view construction macrosDavid Robillard1-1/+69
2022-01-13Remove "get" from accessor namesDavid Robillard1-4/+4
2022-01-13Rename function types for consistencyDavid Robillard1-22/+22
2022-01-13Rename SerdStyle to SerdWriterFlagsDavid Robillard1-8/+11
2022-01-13Rename SerdType to SerdNodeTypeDavid Robillard1-4/+4
The old name will be even more ambiguous with the increased scope.
2022-01-13Rename SerdURI to SerdURIViewDavid Robillard1-39/+39
2022-01-13Rename SerdChunk to SerdStringViewDavid Robillard1-14/+19
2022-01-13Use char* for strings in public APIDavid Robillard1-52/+51
The constant casting just makes user code a mess, for no benefit.
2022-01-13Add SerdBuffer type for mutable buffersDavid Robillard1-8/+14
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks.
2022-01-13Remove escape parameter from serd_node_new_file_uriDavid Robillard1-5/+3
Since characters are escaped because they are not valid characters in a URI, any use of this function without escaping is problematic at best.
2022-01-13Remove useless character countingDavid Robillard1-5/+2
2022-01-13Remove serd_uri_to_path()David Robillard1-28/+0
2021-06-30Make node qualify and expand functions tolerate a null EnvDavid Robillard1-3/+3
This is convenient in places where you don't necessarily need an Env, since these methods will work the same as with an empty Env.
2021-06-30Format long comments consistentlyDavid Robillard1-14/+14
2021-06-06Move type definitions inside the corresponding documentation groupDavid Robillard1-102/+102
2021-04-12Group API declarations by topicDavid Robillard1-42/+47
2021-01-10Only use modern deprecated attributes on clang 7 and newerDavid Robillard1-1/+1
2021-01-10Only use nullability attributes on clang 7 and newerDavid Robillard1-1/+1
These have existed for longer, but the names were changed.
2021-01-09Fix SERD_DISABLE_DEPRECATEDDavid Robillard1-0/+4
2021-01-07Use globally unique Doxygen group namesDavid Robillard1-8/+8
This is necessary to avoid clashes when building unified documentation as a subproject.
2021-01-06Switch to LV2 documentation themeDavid Robillard1-2/+2
2021-01-02Use email address instead of website for attributionDavid Robillard1-1/+1
2021-01-02Use SERD_STATIC instead of SERD_SHARED to control visibilityDavid Robillard1-3/+3
For consistency, this seems to be the most common convention.
2020-12-31Format all code with clang-formatDavid Robillard1-138/+143
2020-12-21Generate documentation with SphinxDavid Robillard1-8/+8
2020-12-18Fix build on ancient GCCDavid Robillard1-1/+3
2020-12-15Suppress new clang-tidy warningsDavid Robillard1-0/+1
2020-12-15Fix nullable annotations on allocating function return valuesDavid Robillard1-2/+2
2020-11-15Strengthen null annotation on serd_env_get_base_uri()David Robillard1-1/+1
2020-11-14Deprecate serd_uri_to_path()David Robillard1-1/+11
2020-11-13Improve documentationDavid Robillard1-19/+36
2020-11-13Use line commentDavid Robillard1-3/+1
2020-11-13Improve documentation summary for SerdEnvDavid Robillard1-6/+1
2020-11-13Use line comments where appropriate and clean up headerDavid Robillard1-222/+115
2020-11-12Relax nullability annotation on allocation functionsDavid Robillard1-3/+5
In practice almost nobody checks for failed allocation, including unfortunately the serd tests and serdi itself. Adding a struct mode to conditionally define this would be a good idea to support allocation-hardened code, but for now just mark them as unspecified instead. On the bright side, this documents the nature of the returned pointers nicely.
2020-11-11Add nonnull and nullable attributes to APIDavid Robillard1-183/+214
This will warn if NULL is passed to any nonnull-annotated parameter, and is also supported by sanitizers which can check for violations at runtime. Unfortunately, it is currently only supported by clang. GCC has a similar feature in the nonnull attribute, but this has a different syntax (it's a function attribute) and is more dangerous since it is used by the optimizer to assume a null pointer is undefined behavior. This one just warns and still allows code to handle the situation gracefully, which I think is more appropriate for a library API. Note that this optimization behavior is not some unlikely edge case: switching these attributes to the GCC one will break release builds.
2020-11-10Add const, pure, and malloc function attributesDavid Robillard1-5/+16
2020-11-10Simplify visibility boilerplateDavid Robillard1-13/+6