#pragma once
#include "CommunicationEnumeration.h"
#ifndef COMMSTRUCTURE_H
#define COMMSTRUCTURE_H

#include <string>

#ifdef STARFLEETTOOLBOX_EXPORTS
#define COMMSTRUCT __declspec(dllexport)
#else
#define COMMSTRUCT __declspec(dllimport)
#endif

typedef struct COMMSTRUCT CommErrorCode {
    int ErrorCode;
    std::string ErrorMeaning;
} CommErrorCode;

typedef struct COMMSTRUCT Channel {
    ChannelType Type;
    DataAvailability RawDataAvailability;
} Channel;

typedef struct COMMSTRUCT CommunicationStatus  {
    vector<Channel> Channels;
    ConnectionState Status;
    CommErrorCode ErrorCode;
} CommunicationStatus;

#endif // COMMSTRUCTURE_H

