mtime 1.2.2
Loading...
Searching...
No Matches
mtime_eventHandling.h File Reference

Definition of the basic event type and its methods. Definition of Even-Groups which contains a list of events. More...

#include <stdint.h>
#include <stdbool.h>
Include dependency graph for mtime_eventHandling.h:

Go to the source code of this file.

Data Structures

struct  _eventGroup
 struct _eventGroup defines an Event-group. Each event group has an associated list of events. Event group is a place holder to 'group' events based on some user defined charteristics. More...
 
struct  _event
 struct _event defines events. Events are set to be triggered at pre-specified intervals. More...
 

Macros

#define MAX_EVENT_STR_LEN   132
 provides a Maximum string length for Group Names.
 
#define MAX_GROUPNAME_STR_LEN   132
 provides a Maximum string length for Group Names.
 
#define MAX_EVENTNAME_STR_LEN   132
 provides a Maximum string length for Event names.
 

Functions

struct _eventGroupnewEventGroup (const char *_eventGroupName)
 Construct new event-Group using a string.
 
void deallocateEventGroup (struct _eventGroup *eg)
 Destructor of EventGroup.
 
bool addNewEventToEventGroup (struct _event *e, struct _eventGroup *eg)
 Add new event to an eventgroup.
 
bool removeEventFromEventGroup (char *eventName, struct _eventGroup *eg)
 Remove event from eventgroup. CRITICAL: Also, deallocate the event.
 
int64_t getEventGroupId (struct _eventGroup *eg)
 
char * getEventGroupName (struct _eventGroup *eg, char *gname)
 
struct _eventgetEventGroupRootEvent (struct _eventGroup *eg)
 
struct _eventnewEvent (const char *_eventName, const char *_eventReferenceDate, const char *_eventFirstDate, const char *_eventLastDate, const char *_eventInterval, const char *_eventOffset)
 Construct new event using strings.
 
struct _eventnewEventWithDataType (const char *_eventName, struct _datetime *_eventReferenceDate, struct _datetime *_eventFirstDate, struct _datetime *_eventLastDate, struct _timedelta *_eventInterval, struct _timedelta *_eventOffset)
 Construct new event using data-types.
 
void deallocateEvent (struct _event *e)
 Destructor of Event.
 
struct _eventconstructAndCopyEvent (struct _event *e)
 
bool isCurrentEventActive (struct _event *e, struct _datetime *current_dt, struct _timedelta *plus_slack, struct _timedelta *minus_slack)
 Check if this event is active by comparing event's trigger time with current_dt.
 
bool iseventNextInNextDay (struct _event *e)
 
bool iseventNextInNextMonth (struct _event *e)
 
bool iseventNextInNextYear (struct _event *e)
 
char * eventToString (struct _event *e, char *string)
 Get Event as a string.
 
struct _datetimegetTriggerNextEventAtDateTime (struct _event *e, struct _datetime *dt_current, struct _datetime *dt_return)
 Get the Datetime when 'this' event will be triggered next.
 
struct _datetimegetTriggeredPreviousEventAtDateTime (struct _event *e, struct _datetime *dt_return)
 Get the Datetime when 'this' event was triggered last.
 
struct _eventgetNextEventInGroup (struct _event *e)
 
int64_t getEventId (struct _event *e)
 
char * getEventName (struct _event *e, char *ename)
 
struct _datetimegetEventReferenceDateTime (struct _event *e)
 
struct _datetimegetEventFirstDateTime (struct _event *e)
 
struct _datetimegetEventLastDateTime (struct _event *e)
 
struct _timedeltagetEventInterval (struct _event *e)
 
bool getNextEventIsFirst (struct _event *e)
 
bool getEventisFirstInDay (struct _event *e)
 
bool getEventisFirstInMonth (struct _event *e)
 
bool getEventisFirstInYear (struct _event *e)
 
bool getEventisLastInDay (struct _event *e)
 
bool getEventisLastInMonth (struct _event *e)
 
bool getEventisLastInYear (struct _event *e)
 

Detailed Description

Definition of the basic event type and its methods. Definition of Even-Groups which contains a list of events.

Author
Luis Kornblueh, Max Planck Institute for Meteorology.
Rahul Sinha, Max Planck Institute for Meteorology.
Date
March 2013