/****************************************************************************
 * This file is part of the project AqHome.
 * AqHome (c) by 2023 Martin Preuss, all rights reserved.
 *
 * The license for this file can be found in the file COPYING which you
 * should have received along with this file.
 ****************************************************************************/

#ifndef AQHOME_REACT_P_H
#define AQHOME_REACT_P_H


#include "./aqhome_react.h"

#include <time.h>



#define AQHOME_REACT_DEFAULT_PIDFILE           "/var/run/aqhome-react.pid"
#define AQHOME_REACT_DEFAULT_DATADIR           "/var/lib/aqhome-react"

#define AQHOME_REACT_DEFAULT_BROKER_PORT       1899
#define AQHOME_REACT_DEFAULT_BROKER_CLIENTID   "react"



struct AQHOME_REACT {
  GWEN_MSG_ENDPOINT *brokerEndpoint;

  GWEN_DB_NODE *dbArgs;
  char *pidFile;
  int timeout;   /* timeout for run e.g. inside valgrind */

  AQHREACT_UNIT *timerUnit;
  AQHREACT_UNIT *varChangeUnit;
  AQHREACT_UNIT_LIST *unitList;

  time_t latestNetworkFileTime;
};


#endif

