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.
plugin.h File Reference
#include "typedefs.h"
#include "grassroots_plugin_library.h"
#include "linked_list.h"
#include "memory_allocations.h"
Include dependency graph for plugin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  PluginValue
 A union datatype that abstracts the different types of plugins that are avaialble. More...
 
struct  Plugin
 A Plugin is a dynamically-loaded component to provide a piece of functionality. More...
 
struct  PluginListNode
 A ListNode for LinkedLists that also stores a plugin value. More...
 

Enumerations

enum  PluginStatus { PS_UNSET, PS_LOADED, PS_UNAVAILABLE, PS_CLOSING }
 The current status of a Plugin. More...
 
enum  PluginNature {
  PN_UNKNOWN = -1, PN_SERVICE, PN_CLIENT, PN_HANDLER,
  PN_JOBS_MANAGER, PN_SERVERS_MANAGER, PN_NUM_TYPES
}
 The type of module that the Plugin contains. More...
 

Functions

GRASSROOTS_PLUGIN_LOCAL bool InitBasePlugin (Plugin *const plugin_p, const char *const path_p, struct GrassrootsServer *server_p)
 
GRASSROOTS_PLUGIN_LOCAL void ClearBasePlugin (Plugin *const plugin_p)
 
GRASSROOTS_PLUGIN_LOCAL void ClearPluginPath (Plugin *const plugin_p)
 

Function Documentation

◆ InitBasePlugin()

GRASSROOTS_PLUGIN_LOCAL bool InitBasePlugin ( Plugin *const  plugin_p,
const char *const  path_p,
struct GrassrootsServer server_p 
)

◆ ClearBasePlugin()

GRASSROOTS_PLUGIN_LOCAL void ClearBasePlugin ( Plugin *const  plugin_p)

◆ ClearPluginPath()

GRASSROOTS_PLUGIN_LOCAL void ClearPluginPath ( Plugin *const  plugin_p)