aboutsummaryrefslogtreecommitdiffstats
path: root/src/sratom/sratom.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-20 03:10:39 +0000
committerDavid Robillard <d@drobilla.net>2012-03-20 03:10:39 +0000
commit96050922420cb0c616b2bed81c8961ad7ab16a7e (patch)
tree69777a370940c0f5f03af85ec3810d28b878f9a6 /src/sratom/sratom.h
parent8c3d43dab383ccf99899ca295e075c064110d7a4 (diff)
downloadjalv-96050922420cb0c616b2bed81c8961ad7ab16a7e.tar.gz
jalv-96050922420cb0c616b2bed81c8961ad7ab16a7e.tar.bz2
jalv-96050922420cb0c616b2bed81c8961ad7ab16a7e.zip
Depend on sratom as a proper library and eliminate rampant copy/paste code reuse.
git-svn-id: http://svn.drobilla.net/lad/trunk/jalv@4082 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/sratom/sratom.h')
-rw-r--r--src/sratom/sratom.h159
1 files changed, 0 insertions, 159 deletions
diff --git a/src/sratom/sratom.h b/src/sratom/sratom.h
deleted file mode 100644
index b1ef071..0000000
--- a/src/sratom/sratom.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- Copyright 2012 David Robillard <http://drobilla.net>
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-/**
- @file sratom.h API for Sratom, an LV2 Atom RDF serialisation library.
-*/
-
-#ifndef SRATOM_SRATOM_H
-#define SRATOM_SRATOM_H
-
-#include <stdint.h>
-
-#include "lv2/lv2plug.in/ns/ext/urid/urid.h"
-#include "lv2/lv2plug.in/ns/ext/atom/atom.h"
-#include "serd/serd.h"
-#include "sord/sord.h"
-
-#ifdef SRATOM_SHARED
-# ifdef _WIN32
-# define SRATOM_LIB_IMPORT __declspec(dllimport)
-# define SRATOM_LIB_EXPORT __declspec(dllexport)
-# else
-# define SRATOM_LIB_IMPORT __attribute__((visibility("default")))
-# define SRATOM_LIB_EXPORT __attribute__((visibility("default")))
-# endif
-# ifdef SRATOM_INTERNAL
-# define SRATOM_API SRATOM_LIB_EXPORT
-# else
-# define SRATOM_API SRATOM_LIB_IMPORT
-# endif
-#else
-# define SRATOM_API
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- @defgroup sratom Sratom
- An LV2 Atom RDF serialisation library.
- @{
-*/
-
-/**
- Atom serialiser.
-*/
-typedef struct SratomImpl Sratom;
-
-/**
- Create a new Atom serialiser.
-*/
-SRATOM_API
-Sratom*
-sratom_new(LV2_URID_Map* map);
-
-/**
- Free an Atom serialisation.
-*/
-SRATOM_API
-void
-sratom_free(Sratom* sratom);
-
-/**
- Write an Atom to RDF.
- The resulting serialised atom is written to @p writer.
- @return 0 on success, or a non-zero error code otherwise.
-*/
-SRATOM_API
-int
-sratom_write(Sratom* sratom,
- LV2_URID_Unmap* unmap,
- SerdWriter* writer,
- uint32_t flags,
- const SerdNode* subject,
- const SerdNode* predicate,
- uint32_t type,
- uint32_t size,
- const void* body);
-
-/**
- Read an Atom from RDF.
- The resulting atom will be written to @p forge.
-*/
-SRATOM_API
-void
-sratom_read(Sratom* sratom,
- LV2_Atom_Forge* forge,
- SordWorld* world,
- SordModel* model,
- const SordNode* node);
-
-/**
- Serialise an Atom to a Turtle string.
- The returned string must be free()'d by the caller.
-*/
-SRATOM_API
-char*
-sratom_to_turtle(Sratom* sratom,
- LV2_URID_Unmap* unmap,
- const char* base_uri,
- const SerdNode* subject,
- const SerdNode* predicate,
- uint32_t type,
- uint32_t size,
- const void* body);
-
-/**
- Read an Atom from a Turtle string.
- The returned atom must be free()'d by the caller.
-*/
-SRATOM_API
-LV2_Atom*
-sratom_from_turtle(Sratom* sratom,
- const char* base_uri,
- const SerdNode* subject,
- const SerdNode* predicate,
- const char* str);
-
-/**
- A convenient resizing string sink for LV2_Atom_Forge.
- The handle must point to an initialized SerdChunk.
-*/
-SRATOM_API
-LV2_Atom_Forge_Ref
-sratom_forge_sink(LV2_Atom_Forge_Sink_Handle handle,
- const void* buf,
- uint32_t size);
-
-/**
- The corresponding deref function for sratom_forge_sink.
-*/
-SRATOM_API
-LV2_Atom*
-sratom_forge_deref(LV2_Atom_Forge_Sink_Handle handle,
- LV2_Atom_Forge_Ref ref);
-
-/**
- @}
-*/
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* SRATOM_SRATOM_H */