/*
 * SPDX-FileCopyrightText: 2014 Copyright contributors to the cppTango project
 *
 * SPDX-License-Identifier: LGPL-3.0-or-later
 */

#ifndef TANGO_SERVER_MULTICLASSPIPE_H
#define TANGO_SERVER_MULTICLASSPIPE_H

#include <tango/server/DeviceClass.h>
#include <tango/server/PipeProperty.h>

#include <map>
#include <string>
#include <vector>

namespace Tango
{

//=================================================================================================================
//
//            The MultiClassPipe class
//
//
// description :
//
//=================================================================================================================

class MultiClassPipe
{
  public:
    MultiClassPipe();
    ~MultiClassPipe();

    void init_class_pipe(DeviceClass *);

    std::vector<Tango::PipeProperty> &get_prop_list(const std::string &);
    /*    PipeProperty &get_prop(const string &prop_name);*/

  protected:
    std::map<std::string, std::vector<Tango::PipeProperty>> pipe_prop_list; // pipe_name - prop list
};

} // namespace Tango

#endif
