libamxp  1.4.0
Patterns C Implementation
amxp_scheduler.h File Reference

Ambiorix scheduler. More...

#include <stdbool.h>
#include <stdint.h>
#include <amxp/amxp_signal.h>
#include <amxp/amxp_slot.h>
#include <amxp/amxp_timer.h>
#include <amxp/amxp_cron.h>

Go to the source code of this file.

Data Structures

struct  _scheduler_item
 Structure containing a schedule item. More...
 
struct  _scheduler
 Structure containing a scheduler. More...
 

Typedefs

typedef struct _scheduler_item amxp_scheduler_item_t
 Structure containing a schedule item. More...
 
typedef struct _scheduler amxp_scheduler_t
 Structure containing a scheduler. More...
 

Functions

int amxp_scheduler_new (amxp_scheduler_t **scheduler)
 Allocates a amxp_scheduler_t structures and initializes to an empty scheduler. More...
 
void amxp_scheduler_delete (amxp_scheduler_t **scheduler)
 Frees the previously allocated amxp_scheduler_t structure. More...
 
int amxp_scheduler_init (amxp_scheduler_t *scheduler)
 Initializes a amxp_scheduler_t to an empty scheduler. More...
 
void amxp_scheduler_clean (amxp_scheduler_t *scheduler)
 Cleans the scheduler. More...
 
int amxp_scheduler_enable (amxp_scheduler_t *scheduler, bool enable)
 Enables or disable the scheduler. More...
 
int amxp_scheduler_use_local_time (amxp_scheduler_t *scheduler, bool use_local_time)
 Use local time or UTC time in calculation for next trigger times. More...
 
int amxp_scheduler_update (amxp_scheduler_t *scheduler)
 Forces recalculation of the schedule items' next occurrence time. More...
 
int amxp_scheduler_connect (amxp_scheduler_t *scheduler, const char *id, amxp_slot_fn_t fn, void *priv)
 Connects a callback function to the scheduler. More...
 
int amxp_scheduler_disconnect (amxp_scheduler_t *scheduler, const char *id, amxp_slot_fn_t fn)
 Disconnects a callback function from the scheduler. More...
 
int amxp_scheduler_set_cron_item (amxp_scheduler_t *scheduler, const char *id, const char *cron_expr, uint32_t duration)
 Adds a schedule item or updates a schedule item using a cron expression. More...
 
int amxp_scheduler_set_cron_begin_end_item (amxp_scheduler_t *scheduler, const char *id, const char *cron_begin, const char *cron_end)
 Adds a schedule item or updates a schedule item using a cron expressions. More...
 
int amxp_scheduler_set_weekly_item (amxp_scheduler_t *scheduler, const char *id, const char *time, const char *days_of_week, uint32_t duration)
 Adds a schedule item or updates a schedule item using a time and list of week days. More...
 
int amxp_scheduler_set_weekly_begin_end_item (amxp_scheduler_t *scheduler, const char *id, const char *start_time, const char *end_time, const char *days_of_week)
 Adds a schedule item or updates a schedule item using a start time, end time and list of week days. More...
 
int amxp_scheduler_remove_item (amxp_scheduler_t *scheduler, const char *id)
 Removes a schedule item from the scheduler. More...
 
int amxp_scheduler_enable_item (amxp_scheduler_t *scheduler, const char *id, bool enable)
 Enables or disable a schedule item. More...
 
amxp_signal_mngr_tamxp_scheduler_get_sigmngr (amxp_scheduler_t *scheduler)
 Gets the signal manager of a scheduler. More...
 

Detailed Description

Ambiorix scheduler.

Definition in file amxp_scheduler.h.