AT&T ECOMP Vendor Event Listener library  0.1
Functions
evel_fault.c File Reference

Implementation of EVEL functions relating to the Fault. More...

#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include "evel.h"
#include "evel_internal.h"
#include "evel_throttle.h"
Include dependency graph for evel_fault.c:

Go to the source code of this file.

Functions

EVENT_FAULTevel_new_fault (const char *const condition, const char *const specific_problem, EVEL_EVENT_PRIORITIES priority, EVEL_SEVERITIES severity)
 Create a new fault event. More...
 
void evel_fault_addl_info_add (EVENT_FAULT *fault, char *name, char *value)
 Add an additional value name/value pair to the Fault. More...
 
void evel_fault_interface_set (EVENT_FAULT *fault, const char *const interface)
 Set the Alarm Interface A property of the Fault. More...
 
void evel_fault_type_set (EVENT_FAULT *fault, const char *const type)
 Set the Event Type property of the Fault. More...
 
void evel_json_encode_fault (EVEL_JSON_BUFFER *jbuf, EVENT_FAULT *event)
 Encode the fault in JSON according to AT&T's schema for the fault type. More...
 
void evel_free_fault (EVENT_FAULT *event)
 Free a Fault. More...
 

Detailed Description

Implementation of EVEL functions relating to the Fault.

License

Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the AT&T.
  4. Neither the name of AT&T nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file evel_fault.c.

Function Documentation

§ evel_fault_addl_info_add()

void evel_fault_addl_info_add ( EVENT_FAULT fault,
char *  name,
char *  value 
)

Add an additional value name/value pair to the Fault.

The name and value are null delimited ASCII strings. The library takes a copy so the caller does not have to preserve values after the function returns.

Parameters
faultPointer to the fault.
nameASCIIZ string with the attribute's name. The caller does not need to preserve the value once the function returns.
valueASCIIZ string with the attribute's value. The caller does not need to preserve the value once the function returns.

Definition at line 125 of file evel_fault.c.

§ evel_fault_interface_set()

void evel_fault_interface_set ( EVENT_FAULT fault,
const char *const  interface 
)

Set the Alarm Interface A property of the Fault.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
faultPointer to the fault.
interfaceThe Alarm Interface A to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 164 of file evel_fault.c.

§ evel_fault_type_set()

void evel_fault_type_set ( EVENT_FAULT fault,
const char *const  type 
)

Set the Event Type property of the Fault.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
faultPointer to the fault.
typeThe Event Type to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 194 of file evel_fault.c.

§ evel_free_fault()

void evel_free_fault ( EVENT_FAULT event)

Free a Fault.

Free off the Fault supplied. Will free all the contained allocated memory.

Note
It does not free the Fault itself, since that may be part of a larger structure.

Definition at line 304 of file evel_fault.c.

§ evel_json_encode_fault()

void evel_json_encode_fault ( EVEL_JSON_BUFFER jbuf,
EVENT_FAULT event 
)

Encode the fault in JSON according to AT&T's schema for the fault type.

Parameters
jbufPointer to the EVEL_JSON_BUFFER to encode into.
eventPointer to the EVENT_HEADER to encode.

Definition at line 214 of file evel_fault.c.

§ evel_new_fault()

EVENT_FAULT* evel_new_fault ( const char *const  condition,
const char *const  specific_problem,
EVEL_EVENT_PRIORITIES  priority,
EVEL_SEVERITIES  severity 
)

Create a new fault event.

Note
The mandatory fields on the Fault must be supplied to this factory function and are immutable once set. Optional fields have explicit setter functions, but again values may only be set once so that the Fault has immutable properties.
Parameters
conditionThe condition indicated by the Fault.
specific_problemThe specific problem triggering the fault.
priorityThe priority of the event.
severityThe severity of the Fault.
Returns
pointer to the newly manufactured EVENT_FAULT. If the event is not used (i.e. posted) it must be released using evel_free_fault.
Return values
NULLFailed to create the event.

Definition at line 60 of file evel_fault.c.