48 #include <curl/curl.h> 95 const char *
const path,
96 const char *
const topic,
98 const char *
const username,
99 const char *
const password,
101 const char *
const role,
111 char version_string[10] = {0};
117 assert(fqdn != NULL);
118 assert(port > 0 && port <= 65535);
120 assert(role != NULL);
148 EVEL_INFO(
"API transport is: %s", secure ?
"HTTPS" :
"HTTP");
149 EVEL_INFO(
"Event Source Type is: %d", source_type);
150 EVEL_INFO(
"Functional Role is: %s", role);
151 EVEL_INFO(
"Log verbosity is: %d", verbosity);
178 strcpy(path_url,
"/");
179 snprintf(base_api_url,
181 "%s://%s:%d%s/eventListener/v%s",
182 secure ?
"https" :
"http",
185 (((path != NULL) && (strlen(path) > 0)) ?
192 strcpy(topic_url,
"/");
193 snprintf(event_api_url,
197 (((topic != NULL) && (strlen(topic) > 0)) ?
199 EVEL_INFO(
"Vendor Event Listener API is located at: %s", event_api_url);
204 snprintf(throt_api_url,
206 "%s/clientThrottlingState",
208 EVEL_INFO(
"Vendor Event Throttling API is located at: %s", throt_api_url);
220 log_error_state(
"Failed to initialize event handler (including cURL)");
232 EVEL_INFO(
"Failed to load OpenStack metadata - assuming test environment");
243 "Error code=%d", rc);
276 curl_global_cleanup();
313 EVEL_DEBUG(
"Event is an Internal event at %lp", evt_ptr);
320 EVEL_DEBUG(
"Event is a Heartbeat at %lp", evt_ptr);
327 EVEL_DEBUG(
"Event is a Fault at %lp", evt_ptr);
334 EVEL_DEBUG(
"Event is a Measurement at %lp", evt_ptr);
341 EVEL_DEBUG(
"Event is a Mobile Flow at %lp", evt_ptr);
348 EVEL_DEBUG(
"Event is a Report at %lp", evt_ptr);
355 EVEL_DEBUG(
"Event is a Service Event at %lp", evt_ptr);
362 EVEL_DEBUG(
"Event is a Signaling at %lp", evt_ptr);
369 EVEL_DEBUG(
"Event is a State Change at %lp", evt_ptr);
376 EVEL_DEBUG(
"Event is a Syslog at %lp", evt_ptr);
383 EVEL_DEBUG(
"Event is an Other at %lp", evt_ptr);
void evel_free_state_change(EVENT_STATE_CHANGE *const state_change)
Free a State Change.
#define EVEL_DEBUG(FMT,...)
void log_initialize(EVEL_LOG_LEVELS level, const char *ident)
Initialize logging.
void evel_throttle_terminate()
Clean up event throttling.
void evel_free_signaling(EVENT_SIGNALING *const event)
Free a Signaling event.
void evel_throttle_initialize()
Initialize event throttling to the default state.
EVEL_SOURCE_TYPES event_source_type
The type of equipment represented by this VNF.
EVEL_ERR_CODES evel_terminate(void)
Clean up the EVEL library.
#define EVEL_INFO(FMT,...)
void evel_free_syslog(EVENT_SYSLOG *event)
Free a Syslog.
void evel_free_event(void *event)
Free an event.
void evel_free_measurement(EVENT_MEASUREMENT *event)
Free a Measurement.
void evel_free_report(EVENT_REPORT *event)
Free a Report.
void evel_free_mobile_flow(EVENT_MOBILE_FLOW *event)
Free a Mobile Flow.
void evel_free_fault(EVENT_FAULT *event)
Free a Fault.
A Measurement for VF Reporting event.
EVEL_ERR_CODES evel_initialize(const char *const fqdn, int port, const char *const path, const char *const topic, int secure, const char *const username, const char *const password, EVEL_SOURCE_TYPES source_type, const char *const role, int verbosity)
Library initialization.
void evel_free_service(EVENT_SERVICE *const event)
Free a Service Events event.
char * functional_role
The Functional Role of the equipment represented by this VNF.
#define EVEL_ERROR(FMT,...)
EVEL_SOURCE_TYPES
Fault source types.
EVEL_ERR_CODES
Error codes.
EVEL_ERR_CODES event_handler_initialize(const char *const event_api_url, const char *const throt_api_url, const char *const username, const char *const password, int verbosity)
Initialize the event handler.
void evel_free_internal_event(EVENT_INTERNAL *event)
Free an internal event.
EVEL_ERR_CODES event_handler_terminate()
Terminate the event handler.
#define EVEL_API_MAJOR_VERSION
void evel_free_header(EVENT_HEADER *const event)
Free an event header.
A Heartbeat event (event header only).
void log_error_state(char *format,...)
void evel_free_other(EVENT_OTHER *event)
Free an Other.
A Measurement for VF Scaling event.
#define EVEL_API_MINOR_VERSION
Internal event, not for external routing.
EVEL_ERR_CODES event_handler_run()
Run the event handler.
EVEL throttle definitions.
EVEL internal definitions.