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.
service_matcher.h File Reference
#include "grassroots_service_manager_library.h"
#include "data_resource.h"
#include "handler.h"
#include "service.h"
Include dependency graph for service_matcher.h:

Go to the source code of this file.

Data Structures

struct  ServiceMatcher
 A datatype used to find any Services that match given criteria. More...
 
struct  ResourceServiceMatcher
 A ServiceMatcher that matches a Service if it can run on a given Resource. More...
 
struct  NameServiceMatcher
 A ServiceMatcher that matches a Service by its name. More...
 
struct  PluginNameServiceMatcher
 A ServiceMatcher that matches a Service by its Plugin name. More...
 
struct  PluginOperationNameServiceMatcher
 A ServiceMatcher that matches a Service by its Plugin name and an Service name. More...
 
struct  KeywordServiceMatcher
 A ServiceMatcher that will find any Service with a keyword parameter. More...
 

Typedefs

typedef bool(* RunServiceMatcherCallback) (struct ServiceMatcher *matcher_p, Service *service_p)
 A callback function used to run a ServiceMatcher. More...
 
typedef void(* DestroyServiceMatcherCallback) (struct ServiceMatcher *matcher_p)
 A callback function used to free a ServiceMatcher. More...
 

Functions

GRASSROOTS_SERVICE_MANAGER_LOCAL void InitResourceServiceMatcher (ResourceServiceMatcher *matcher_p, DataResource *resource_p, Handler *handler_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void InitOperationNameServiceMatcher (NameServiceMatcher *matcher_p, const char *name_s, const char *alias_s)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void InitPluginNameServiceMatcher (PluginNameServiceMatcher *matcher_p, const char *plugin_name_s)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void InitPluginOperationNameServiceMatcher (PluginOperationNameServiceMatcher *matcher_p, const char *plugin_name_s, const char *operation_name_s)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void InitKeywordServiceMatcher (KeywordServiceMatcher *matcher_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByName (ServiceMatcher *matcher_p, Service *service_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByNameOrAlias (ServiceMatcher *matcher_p, Service *service_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByResource (ServiceMatcher *matcher_p, Service *service_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByPluginName (ServiceMatcher *matcher_p, Service *service_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByPluginAndOperationsName (ServiceMatcher *matcher_p, Service *service_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByKeyword (ServiceMatcher *matcher_p, Service *service_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void FreeResourceServiceMatcher (ServiceMatcher *matcher_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void FreeNameServiceMatcher (ServiceMatcher *matcher_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void FreePluginNameServiceMatcher (ServiceMatcher *matcher_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void FreePluginOperationNameServiceMatcher (ServiceMatcher *matcher_p)
 
GRASSROOTS_SERVICE_MANAGER_LOCAL void FreeKeywordServiceMatcher (ServiceMatcher *matcher_p)
 

Typedef Documentation

◆ RunServiceMatcherCallback

typedef bool(* RunServiceMatcherCallback) (struct ServiceMatcher *matcher_p, Service *service_p)

A callback function used to run a ServiceMatcher.

◆ DestroyServiceMatcherCallback

typedef void(* DestroyServiceMatcherCallback) (struct ServiceMatcher *matcher_p)

A callback function used to free a ServiceMatcher.

Function Documentation

◆ InitResourceServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void InitResourceServiceMatcher ( ResourceServiceMatcher matcher_p,
DataResource resource_p,
Handler handler_p 
)

◆ InitOperationNameServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void InitOperationNameServiceMatcher ( NameServiceMatcher matcher_p,
const char *  name_s,
const char *  alias_s 
)

◆ InitPluginNameServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void InitPluginNameServiceMatcher ( PluginNameServiceMatcher matcher_p,
const char *  plugin_name_s 
)

◆ InitPluginOperationNameServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void InitPluginOperationNameServiceMatcher ( PluginOperationNameServiceMatcher matcher_p,
const char *  plugin_name_s,
const char *  operation_name_s 
)

◆ InitKeywordServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void InitKeywordServiceMatcher ( KeywordServiceMatcher matcher_p)

◆ MatchServiceByName()

GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByName ( ServiceMatcher matcher_p,
Service service_p 
)

◆ MatchServiceByNameOrAlias()

GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByNameOrAlias ( ServiceMatcher matcher_p,
Service service_p 
)

◆ MatchServiceByResource()

GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByResource ( ServiceMatcher matcher_p,
Service service_p 
)

◆ MatchServiceByPluginName()

GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByPluginName ( ServiceMatcher matcher_p,
Service service_p 
)

◆ MatchServiceByPluginAndOperationsName()

GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByPluginAndOperationsName ( ServiceMatcher matcher_p,
Service service_p 
)

◆ MatchServiceByKeyword()

GRASSROOTS_SERVICE_MANAGER_LOCAL bool MatchServiceByKeyword ( ServiceMatcher matcher_p,
Service service_p 
)

◆ FreeResourceServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void FreeResourceServiceMatcher ( ServiceMatcher matcher_p)

◆ FreeNameServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void FreeNameServiceMatcher ( ServiceMatcher matcher_p)

◆ FreePluginNameServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void FreePluginNameServiceMatcher ( ServiceMatcher matcher_p)

◆ FreePluginOperationNameServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void FreePluginOperationNameServiceMatcher ( ServiceMatcher matcher_p)

◆ FreeKeywordServiceMatcher()

GRASSROOTS_SERVICE_MANAGER_LOCAL void FreeKeywordServiceMatcher ( ServiceMatcher matcher_p)