Skip to content
Snippets Groups Projects
Server.h 1.01 KiB
Newer Older
// SPDX-FileCopyrightText: Deutsches Elektronen-Synchrotron DESY, MSK, ChimeraTK Project <chimeratk-support@desy.de>
// SPDX-License-Identifier: LGPL-3.0-or-later
#pragma once

#include <ChimeraTK/ApplicationCore/ApplicationCore.h>
#include <ChimeraTK/ApplicationCore/ConfigReader.h>

// TODO Note to optionally use to trigger
//#include <ChimeraTK/ApplicationCore/PeriodicTrigger.h>

#include "TemplateModule.h"

namespace ctk = ChimeraTK;

/**
 * Server -  An ApplicationCore template server
 *
 * The Application object for this server. It provides
 * dummy Device- and ApplicationModules and a ConfigReader.
 *
 * All modules are simply connected to the ControlSystem.
 * No triggering is implemented, as this is specific to the application
 * (either provided by a Device or a ChimeraTK::PeriodicTrigger).
 */
struct Server : public ctk::Application {
  Server(std::string appName = "TemplateServer");
  ~Server() override;
  ctk::ConfigReader config;
  ctk::ConnectingDeviceModule device;
  TemplateModule templateModule;
};