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_NETWORK_SRC_PROVIDERS_STATE_TABLE_H_
29 #define SRC_NETWORK_SRC_PROVIDERS_STATE_TABLE_H_
This is a datatype to store the versioning details for the Grassroots JSON schema that is being used.
Definition: schema_version.h:44
bool ReinitProvidersStateTable(ProvidersStateTable *providers_p, const json_t *const req_p, const char *server_uri_s, const char *service_name_s)
Clear a given ProvidersStateTable and add the details from a json request and a given Server-Service ...
json_t * GetProvidersStateTableAsJSON(const ProvidersStateTable *providers_p)
Get the json representation of a ProvidersStateTable.
bool ClearProvidersStateTable(ProvidersStateTable *providers_p)
Clear all of the servers and services that are being tracked within a ProvidersStateTable.
bool IsServiceInProvidersStateTable(const ProvidersStateTable *providers_p, const char *server_uri_s, const char *service_s)
Check whether a given server and service are in a ProvidersStateTable.
A doubly-linked list that can be traversed in either direction.
Definition: linked_list.h:56
This is a datatype that is used to keep track of which servers and services have already been process...
Definition: providers_state_table.h:49
bool AddProvidersStateTableToRequest(const ProvidersStateTable *providers_p, json_t *req_p)
Add the details to a json request to get the list of all available Services on a Server making sure n...
Definition: grassroots_server.h:45
ProvidersStateTable * GetInitialisedProvidersStateTableForSingleService(const json_t *req_p, const char *const server_uri_s, const char *const service_s)
Create a new ProvidersStateTable and populate it with any details within a specified json request and...
A datatype to store user credentials.
Definition: user_details.h:40
bool AddServicesListToProvidersStateTable(ProvidersStateTable *providers_p, LinkedList *services_p, GrassrootsServer *grassroots_p)
Add a list of Services for this Server to a ProvidersStateTable.
ProvidersStateTable * AllocateProvidersStateTable(const json_t *req_p)
Allocate a ProvidersStateTable and populate it with any details within a specified json request.
ProvidersStateTable * GetInitialisedProvidersStateTable(const json_t *req_p, LinkedList *services_p, GrassrootsServer *grassroots_p)
Create a new ProvidersStateTable and populate it with any details within a specified json request and...
bool InitProvidersStateTableFromRequest(ProvidersStateTable *const providers_p, const json_t *const req_p)
Add the details from a json request to a given ProvidersStateTable.
#define GRASSROOTS_SERVICE_MANAGER_API
Definition: grassroots_service_manager_library.h:46
json_t * GetAvailableServicesRequestForAllProviders(const ProvidersStateTable *providers_p, User *user_p, const SchemaVersion *const sv_p)
Create a json request that to get the list of all available Services making sure not to duplicate any...
bool AddToProvidersStateTable(ProvidersStateTable *providers_p, const char *server_uri_s, const char *service_s)
Add a server and service to a ProvidersStateTable.
void FreeProvidersStateTable(ProvidersStateTable *providers_p)
Deallocate a ProvidersStateTable.