#ifndef _PINS_HPP_
#define _PINS_HPP_

#include "syselmts.hpp"

#pragma once
class Part;

#pragma once
class Signal;

class Pin : public SystemElement
{
    Signal *sig;
public:
    Pin(std::string name);
    Part *prnt; ///< Pointer to the parent part.
    bool connected();
    void connect(Signal *signal);
};

class Pins : public SystemElementContainer<Pin>
{
public:
    Pins(void);
    Pins(std::vector<Pin *> pins);
};

#endif // _PINS_HPP_