#ifndef ICONNECTION_H
#define ICONNECTION_H

#include <vector>
#include <memory>
#include "IUnique.h"

namespace mdd {
	template <class T>
	class IConnection
	{
	public:
		virtual int addConnection(std::shared_ptr<T> conector) = 0;
		virtual int removeConnection(std::shared_ptr<T> conector) = 0;
		virtual bool connect(std::shared_ptr<T> conector) = 0;
		virtual void disconnect() = 0;
		virtual ~IConnection() {};
	};
}

#endif