/* clang-format on */
// SPDX-FileCopyrightText: 2014 Copyright contributors to the cppTango project
// SPDX-License-Identifier: LGPL-3.0-or-later
//=============================================================================
//
// file :        ClassFactory.cpp
//
// description : C++ source for the class_factory method of the DServer
//               device class. This method is responsible for the creation of
//               all class singleton for a device server. It is called
//               at device server startup.
//
// project :
//
// This file is part of Tango device class.
//
//
//=============================================================================
//                This file is generated by POGO
//        (Program Obviously used to Generate tango Object)
//=============================================================================
#ifndef TANGO_TEST_DEVICE_SERVER_FORWARD_DSERVERIMPL_H
#define TANGO_TEST_DEVICE_SERVER_FORWARD_DSERVERIMPL_H

#include "FwdTestClass.h"

#include <tango/tango.h>

namespace FwdTest_ns
{

class DServerImpl : public Tango::DServer
{
  public:
    DServerImpl(Tango::DeviceClass *cl_ptr,
                const std::string &name,
                const std::string &desc,
                Tango::DevState state,
                const std::string &status) :
        DServer(cl_ptr, name.c_str(), desc.c_str(), state, status.c_str())
    {
    }

  private:
    void class_factory()
    {
        add_class(FwdTestClass::init("FwdTest"));
    }
};

inline Tango::DServer *constructor(Tango::DeviceClass *cl_ptr,
                                   const std::string &name,
                                   const std::string &desc,
                                   Tango::DevState state,
                                   const std::string &status)
{
    return new DServerImpl(cl_ptr, name, desc, state, status);
}
} // namespace FwdTest_ns
#endif
