Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
|
Go to the documentation of this file.
28 #ifndef SRC_UTIL_INCLUDE_SCHEMA_VERSION_H_
29 #define SRC_UTIL_INCLUDE_SCHEMA_VERSION_H_
79 #ifndef DOXYGEN_SHOULD_SKIP_THIS
81 #ifdef ALLOCATE_SCHEMA_VERSION_TAGS
82 #define SV_PREFIX GRASSROOTS_UTIL_API
85 #define SV_PREFIX extern GRASSROOTS_UTIL_API
This is a datatype to store the versioning details for the Grassroots JSON schema that is being used.
Definition: schema_version.h:44
uint32 sv_minor
The minor revision of the schema.
Definition: schema_version.h:50
SchemaVersion * GetSchemaVersionFromJSON(const json_t *const json_p)
Create a SchemaVersion from a JSON representation.
SchemaVersion * AllocateSchemaVersion(const int major, const int minor)
Create a new SchemaVersion.
json_t * GetSchemaVersionAsJSON(const SchemaVersion *const sv_p)
Get the JSON representation for a SchemaVersion.
void ClearSchemaVersion(SchemaVersion *sv_p)
Clear the memory and resources for a given SchemaVersion.
void FreeSchemaVersion(SchemaVersion *sv_p)
Free the memory and resources for a given SchemaVersion.
uint32 sv_major
The major revision of the schema.
Definition: schema_version.h:47
bool SetSchemaVersionDetails(SchemaVersion *sv_p, const int major, const int minor)
Set the details for a given SchemaVersion.
SchemaVersion * AllocateCurrentSchemaVersion(void)
const uint32 CURRENT_SCHEMA_VERSION_MINOR
The current minor revision of the Grassroots schema.
Definition: schema_version.h:110
#define GRASSROOTS_UTIL_API
Definition: grassroots_util_library.h:47
char * sv_version_s
The version as a string this will be of the form.
Definition: schema_version.h:57
const uint32 CURRENT_SCHEMA_VERSION_MAJOR
The current major revision of the Grassroots schema.
Definition: schema_version.h:102