Files
2026-03-30 15:33:19 -06:00

25 lines
633 B
C++

#pragma once
#include "ship/controller/controldevice/ControlDevice.h"
#include "ship/controller/controldevice/controller/Controller.h"
#include <memory>
namespace Ship {
class ControlPort {
public:
ControlPort(uint8_t portIndex);
ControlPort(uint8_t portIndex, std::shared_ptr<ControlDevice> device);
~ControlPort();
void Connect(std::shared_ptr<ControlDevice> device);
void Disconnect();
std::shared_ptr<ControlDevice> GetConnectedDevice();
std::shared_ptr<Controller> GetConnectedController();
private:
uint8_t mPortIndex;
std::shared_ptr<ControlDevice> mDevice;
};
} // namespace Ship