17#ifndef GLOBUS_SCHEDULER_EVENT_GENERATOR_H
18#define GLOBUS_SCHEDULER_EVENT_GENERATOR_H
20#include "globus_common.h"
26#ifndef GLOBUS_GLOBAL_DOCUMENT_SET
66#if __STDC_VERSION__ == 199901L
67# define MYNAME __func__
68#elif defined(__GNUC__)
69# define MYNAME __FUNCTION__
74typedef void (*globus_scheduler_event_generator_fault_t)(
76 globus_result_t fault);
78#define GLOBUS_SEG_ERROR_NULL_OBJECT() \
79 globus_error_construct_error(GLOBUS_SCHEDULER_EVENT_GENERATOR_MODULE, \
81 GLOBUS_SEG_ERROR_TYPE_NULL, \
87#define GLOBUS_SEG_ERROR_ALREADY_SET_OBJECT() \
88 globus_error_construct_error(GLOBUS_SCHEDULER_EVENT_GENERATOR_MODULE, \
90 GLOBUS_SEG_ERROR_TYPE_ALREADY_SET, \
96#define GLOBUS_SEG_ERROR_INVALID_MODULE_OBJECT(module, errmsg) \
97 globus_error_construct_error(GLOBUS_SCHEDULER_EVENT_GENERATOR_MODULE, \
99 GLOBUS_SEG_ERROR_TYPE_INVALID_MODULE, \
103 "Invalid module %s: %s", \
107#define GLOBUS_SEG_ERROR_INVALID_FORMAT_OBJECT(fmt) \
108 globus_error_construct_error(GLOBUS_SCHEDULER_EVENT_GENERATOR_MODULE, \
110 GLOBUS_SEG_ERROR_TYPE_INVALID_FORMAT, \
114 "Invalid format %s", \
117#define GLOBUS_SEG_ERROR_OUT_OF_MEMORY_OBJECT() \
118 globus_error_construct_error(GLOBUS_SCHEDULER_EVENT_GENERATOR_MODULE, \
120 GLOBUS_SEG_ERROR_TYPE_OUT_OF_MEMORY, \
126#define GLOBUS_SEG_ERROR_LOADING_MODULE_OBJECT(module, dlerr_msg) \
127 globus_error_construct_error(GLOBUS_SCHEDULER_EVENT_GENERATOR_MODULE, \
129 GLOBUS_SEG_ERROR_TYPE_LOADING_MODULE, \
133 "Unable to dlopen module \"%s\": %s", \
137#define GLOBUS_SEG_ERROR_NULL \
138 globus_error_put(GLOBUS_SEG_ERROR_NULL_OBJECT())
140#define GLOBUS_SEG_ERROR_ALREADY_SET \
141 globus_error_put(GLOBUS_SEG_ERROR_ALREADY_SET_OBJECT())
143#define GLOBUS_SEG_ERROR_INVALID_MODULE(module, errmsg) \
144 globus_error_put(GLOBUS_SEG_ERROR_INVALID_MODULE_OBJECT(module, errmsg))
146#define GLOBUS_SEG_ERROR_INVALID_FORMAT(fmt) \
147 globus_error_put(GLOBUS_SEG_ERROR_INVALID_FORMAT_OBJECT(fmt))
149#define GLOBUS_SEG_ERROR_OUT_OF_MEMORY \
150 globus_error_put(GLOBUS_SEG_ERROR_OUT_OF_MEMORY_OBJECT())
152#define GLOBUS_SEG_ERROR_LOADING_MODULE(module, dlerr_msg) \
153 globus_error_put(GLOBUS_SEG_ERROR_LOADING_MODULE_OBJECT(module, \
156extern globus_module_descriptor_t globus_i_scheduler_event_generator_module;
157#define GLOBUS_SCHEDULER_EVENT_GENERATOR_MODULE \
158 (&globus_i_scheduler_event_generator_module)
181globus_scheduler_event(
186globus_scheduler_event_pending(
191globus_scheduler_event_active(
196globus_scheduler_event_failed(
202globus_scheduler_event_done(
208globus_scheduler_event_generator_get_timestamp(
globus_scheduler_event_generator_error_t
Definition globus_scheduler_event_generator.h:50
@ GLOBUS_SEG_ERROR_TYPE_INVALID_MODULE
Definition globus_scheduler_event_generator.h:56
@ GLOBUS_SEG_ERROR_TYPE_OUT_OF_MEMORY
Definition globus_scheduler_event_generator.h:60
@ GLOBUS_SEG_ERROR_TYPE_ALREADY_SET
Definition globus_scheduler_event_generator.h:54
@ GLOBUS_SEG_ERROR_TYPE_LOADING_MODULE
Definition globus_scheduler_event_generator.h:62
@ GLOBUS_SEG_ERROR_TYPE_INVALID_FORMAT
Definition globus_scheduler_event_generator.h:58
@ GLOBUS_SEG_ERROR_TYPE_NULL
Definition globus_scheduler_event_generator.h:52