/*
 * Stairs
 * Copyright 2017 (c) Mark van Renswoude
 *
 * https://git.x2software.net/pub/Stairs
*/
#ifndef __global
#define __global

#include <stdint.h>
#include <stdbool.h>
#include <IPAddress.h>
#include <NTPClient.h>
#include "./settings/connection.h"
#include "./settings/system.h"
#include "./settings/steps.h"
#include "./settings/triggers/time.h"
#include "./settings/triggers/motion.h"
#include "./stairs.h"

extern ConnectionSettings* connectionSettings;
extern bool connectionSettingsChanged;

extern SystemSettings* systemSettings;
extern bool systemSettingsChanged;

extern StepsSettings* stepsSettings;
extern bool stepsSettingsChanged;

extern TimeTriggerSettings* timeTriggerSettings;
extern bool timeTriggerSettingsChanged;

extern MotionTriggerSettings* motionTriggerSettings;
extern bool motionTriggerSettingsChanged;


extern Stairs* stairs;

extern bool shouldReboot;

extern uint32_t currentTime;

extern NTPClient* ntpClient;
extern bool hasTimezone;
extern uint32_t timezoneOffset;

extern IPAddress emptyIP;

#endif