/****************************************************************************
 * 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_SERVICE_P_H
#define AQHOME_SERVICE_P_H


#include "aqhome-cgi/service/service.h"


struct AQH_SERVICE {
  GWEN_INHERIT_ELEMENT(AQH_SERVICE);
  GWEN_LIST_ELEMENT(AQH_SERVICE);

  char *baseUrl;
  char *baseFolder;
  char *runtimeFolder;
  char *cacheFolder;

  AQH_SERVICE_HANDLEREQUEST_FN handleRequestFn;

  AQH_SERVICE_LOADUSER_FN loadUserFn;
  AQH_SERVICE_SAVEUSER_FN saveUserFn;
  AQH_SERVICE_ADDUSER_FN addUserFn;
  AQH_SERVICE_DELUSER_FN delUserFn;
  AQH_SERVICE_LISTUSERS_FN listUsersFn;

  AQH_SERVICE_LOADMODULE_FN loadModuleFn;
  AQH_SERVICE_SAVEMODULE_FN saveModuleFn;
  AQH_SERVICE_ADDMODULE_FN addModuleFn;
  AQH_SERVICE_DELMODULE_FN delModuleFn;
  AQH_SERVICE_LISTMODULES_FN listModulesFn;

  AQH_SERVICE_LOADSESSION_FN loadSessionFn;
  AQH_SERVICE_SAVESESSION_FN saveSessionFn;
  AQH_SERVICE_ADDSESSION_FN addSessionFn;
  AQH_SERVICE_DELSESSION_FN delSessionFn;
  AQH_SERVICE_LISTSESSIONS_FN listSessionsFn;

};




#endif
