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.
|
char * pl_name_s
A multi-platform name for the Plugin.
Definition: plugin.h:166
struct Client * pv_client_p
If pl_type is PN_CLIENT then this will point to a valid Client.
Definition: plugin.h:113
GRASSROOTS_PLUGIN_API void ClearPluginValue(Plugin *const plugin_p)
Clear all values in a given Plugin ready for it to be reused.
A datatype for monitoring ExternalServers.
Definition: servers_manager.h:141
GRASSROOTS_PLUGIN_API void FreePlugin(Plugin *const plugin_p)
Free a Plugin.
PluginStatus
The current status of a Plugin.
Definition: plugin.h:50
Unknown type of Plugin.
Definition: plugin.h:75
GRASSROOTS_PLUGIN_LOCAL void ClearPluginPath(Plugin *const plugin_p)
The Plugin creates a Client.
Definition: plugin.h:81
MEM_FLAG
An enum specifying the particular status of a piece of dynamically allocated memory for a particular ...
Definition: memory_allocations.h:38
struct GrassrootsServer * pl_server_p
Definition: plugin.h:189
Plugin is in the process of closing.
Definition: plugin.h:62
A union datatype that abstracts the different types of plugins that are avaialble.
Definition: plugin.h:101
GRASSROOTS_PLUGIN_API void IncrementPluginOpenCount(Plugin *plugin_p)
Increment the number of objects that this Plugin has open.
GRASSROOTS_PLUGIN_API void ClosePlugin(Plugin *const plugin_p)
Close a Plugin.
A datatype for monitoring ServiceJobs.
Definition: jobs_manager.h:98
#define GRASSROOTS_PLUGIN_API
Definition: grassroots_plugin_library.h:46
MEM_FLAG pln_plugin_flag
How the memory for the Plugin is stored and freed.
Definition: plugin.h:211
The Plugin creates a Handler.
Definition: plugin.h:84
GRASSROOTS_PLUGIN_API bool OpenPlugin(Plugin *const plugin_p)
Open a Plugin in preparation for getting the actual component.
struct ServicesArray * pv_services_p
If pl_type is PN_SERVICE then this will point to a ServicesArray of Services available.
Definition: plugin.h:107
The Plugin creates a JobsManager.
Definition: plugin.h:87
Plugin of this type failed to previously load.
Definition: plugin.h:59
struct ServersManager * pv_servers_manager_p
If pl_type is PN_SERVERS_MANAGER then this will point to a valid JobsManager.
Definition: plugin.h:133
GRASSROOTS_PLUGIN_API Plugin * AllocatePlugin(const char *const path_s, struct GrassrootsServer *server_p)
The following functions are platform-specific.
GRASSROOTS_PLUGIN_API char * MakePluginName(const char *const name_s)
Make the platform-specific filename for a given Plugin name.
A datatype for having a set of Services.
Definition: service.h:422
Plugin * pln_plugin_p
The plugin.
Definition: plugin.h:208
MEM_FLAG pl_path_mem
Memory ownership of the path variable.
Definition: plugin.h:161
The Plugin creates a ServersManager.
Definition: plugin.h:90
No attempt to load a plugin of this type yet.
Definition: plugin.h:53
A Plugin is a dynamically-loaded component to provide a piece of functionality.
Definition: plugin.h:150
const GRASSROOTS_PLUGIN_API char * GetPluginConfigName(const Plugin *const plugin_p)
Get the string with the platform-specific plugin parts e.g.
GRASSROOTS_PLUGIN_API char * DeterminePluginName(const char *const full_plugin_path_s)
Get the platform-independent Plugin name from a platform-specific filename possibly spanning multiple...
PluginValue pl_value
The data specific for the PluginNature of this Plugin.
Definition: plugin.h:181
The number of different PluginTypes.
Definition: plugin.h:93
Definition: grassroots_server.h:45
GRASSROOTS_PLUGIN_LOCAL bool InitBasePlugin(Plugin *const plugin_p, const char *const path_p, struct GrassrootsServer *server_p)
#define GRASSROOTS_PLUGIN_LOCAL
Definition: grassroots_plugin_library.h:47
GRASSROOTS_PLUGIN_API void FreePluginListNode(ListItem *const node_p)
Free a PluginListNode.
char * pl_path_s
The path of the plugin.
Definition: plugin.h:155
GRASSROOTS_PLUGIN_API void * GetSymbolFromPlugin(Plugin *plugin_p, const char *const symbol_s)
Get a symbol from a Plugin.
PluginNature pl_type
The type of this Plugin e.g.
Definition: plugin.h:176
GRASSROOTS_PLUGIN_API void DecrementPluginOpenCount(Plugin *plugin_p)
Decrement the number of objects that this Plugin has open.
GRASSROOTS_PLUGIN_API PluginListNode * AllocatePluginListNode(Plugin *const plugin_p)
Create a new PluginListNode.
A Handler is a datatype for accessing data.
Definition: handler.h:72
The Plugin creates a Service.
Definition: plugin.h:78
PluginNature
The type of module that the Plugin contains.
Definition: plugin.h:72
struct JobsManager * pv_jobs_manager_p
If pl_type is PN_JOBS_MANAGER then this will point to a valid JobsManager.
Definition: plugin.h:126
Plugin of this type has been loaded successfully.
Definition: plugin.h:56
GRASSROOTS_PLUGIN_LOCAL void ClearBasePlugin(Plugin *const plugin_p)
struct Handler * pv_handler_p
If pl_type is PN_HANDLER then this will point to a valid Handler.
Definition: plugin.h:119
A ListNode for LinkedLists that also stores a plugin value.
Definition: plugin.h:202
int32 pl_open_count
The count of how many current tasks have this Plugin open.
Definition: plugin.h:186
PluginStatus pl_status
The current status of the Plugin.
Definition: plugin.h:171
A doubly-linked node that points to its predecessor and successor.
Definition: linked_list.h:43
ListItem pln_node
The ListNode.
Definition: plugin.h:205