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.
23 #ifndef CORE_SHARED_SERVICES_INCLUDE_SCHEMA_TERM_H_
24 #define CORE_SHARED_SERVICES_INCLUDE_SCHEMA_TERM_H_
json_t * GetSchemaTermAsJSON(const SchemaTerm *term_p)
Get the JSON fragment for a given SchemaTerm.
ListItem stn_node
The base list node.
Definition: schema_term.h:77
void FreeSchemaTerm(SchemaTerm *term_p)
Free a SchemaTerm.
#define GRASSROOTS_SERVICE_API
Definition: grassroots_service_library.h:49
SchemaTerm * GetSchemaTermFromJSON(const json_t *term_json_p)
Get the JSON fragment for a given SchemaTerm.
SchemaTermNode * AllocateSchemaTermNode(SchemaTerm *term_p)
Allocate a SchemaTermNode to store the given SchemaTerm.
SchemaTerm * AllocateSchemaTerm(const char *url_s, const char *name_s, const char *description_s)
Allocate a SchemaTerm.
bool AddSchemaTermToJSON(const SchemaTerm *term_p, json_t *root_p)
Populate a JSON fragment with the details for a given SchemaTerm.
char * st_url_s
The URL for this SchemaTerm.
Definition: schema_term.h:43
SchemaTerm * stn_term_p
The SchemaTerm to store on the node.
Definition: schema_term.h:82
char * st_description_s
A more-verbose description of this SchemaTerm to display to the user.
Definition: schema_term.h:55
SchemaTermNode * AllocateSchemaTermNodeByParts(const char *url_s, const char *name_s, const char *description_s)
Allocate a SchemaTermNode.
void ClearSchemaTerm(SchemaTerm *term_p)
Clear all of the data within a SchemaTerm.
bool SetSchemaTermValues(SchemaTerm *term_p, const char *url_s, const char *name_s, const char *description_s)
void FreeSchemaTermNode(ListItem *node_p)
Free a SchemaTermNode.
char * st_abbreviation_s
An optional abbreviation of this term.
Definition: schema_term.h:61
char * st_name_s
The user-friendly name for the term that should be displayed to the user.
Definition: schema_term.h:49
SchemaTerm * AllocateExtendedSchemaTerm(const char *url_s, const char *name_s, const char *description_s, const char *abbreviation_s)
Allocate a SchemaTerm with an abbreviation.
bool DoSchemaTermsMatch(const SchemaTerm *term0_p, const SchemaTerm *term1_p)
A datatype for specifying ontological terms as a way to describe the data that each of the Services c...
Definition: schema_term.h:38
A datatype for storing SchemaTerms in a LinkedList.
Definition: schema_term.h:72
A doubly-linked node that points to its predecessor and successor.
Definition: linked_list.h:43