/*!
 * \file      LayerFactory.hh
 * \brief     Header file for ITS abstract protocol layer definition.
 * \author    ETSI STF525
 * \copyright ETSI Copyright Notification
 *            No part may be reproduced except as authorized by written permission.
 *            The copyright and the foregoing restriction extend to reproduction in all media.
 *            All rights reserved.
 * \version   0.1
 */
#pragma once

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

#include "Layer.hh"

/*!
 * \class Layerfactory
 * \brief  This class provides a factory class to create Layer class instances
 * \abstract
 */
class LayerFactory {
public:
  LayerFactory() {};
  virtual Layer * createLayer(const std::string & type, const std::string & param) = 0;
}; // End of class LayerFactory

