Interfaces de comunicação

Interfaces/IStateReceiver.h, Communications/StateReceiver.h

namespace vss{
    class StateReceiver : public IStateReceiver {
    public:
        StateReceiver();

        void createSocket(Address) override;
        void createSocket() override;
        State receiveState(FieldTransformationType) override;
    };
}

Interfaces/IStateSender.h, Communications/StateSender.h

namespace vss{
    class StateSender : public IStateSender  {
    public:
        StateSender();

        void createSocket(Address) override;
        void createSocket() override;
        void sendState(State) override;
    };
}

Interfaces/ICommandSender.h, Communications/CommandSender.h

namespace vss {
    class CommandSender : public ICommandSender {
    public:
        CommandSender();

        void createSocket(Address) override;
        void createSocket(TeamType) override;
        void sendCommand(Command) override;
    };
}

Interfaces/IDebugReceiver.h, Communications/DebugReceiver.h

namespace vss {
    class DebugReceiver : public IDebugReceiver {
    public:
        DebugReceiver();

        void createSocket(Address) override;
        void createSocket(TeamType) override;
        Debug receiveDebug() override;
    };
}

Interfaces/IDebugSender.h, Communications/DebugSender.h

namespace vss {
    class DebugSender : public IDebugSender {
    public:
        DebugSender();

        void createSocket(Address) override;
        void createSocket(TeamType) override;
        void sendDebug(Debug) override;
    };
}

Interfaces/IControlReceiver.h, Communications/ControlReceiver.h

namespace vss {
    class ControlReceiver : public IControlReceiver {
    public:
        ControlReceiver();

        void createSocket(Address) override;
        void createSocket() override;
        Control receiveControl() override;
    };
}

Interfaces/IControlSender.h, Communications/ControlSender.h

namespace vss {
    class ControlSender : public IControlSender {
    public:
        ControlSender();

        void createSocket(Address) override;
        void createSocket() override;
        void sendControl(Control) override;
    };
}