import SoapySDR as soapy
from enum import IntEnum

class SoapyError(IntEnum):
    Timeout = soapy.SOAPY_SDR_TIMEOUT
    StreamError = soapy.SOAPY_SDR_STREAM_ERROR
    Corruption = soapy.SOAPY_SDR_CORRUPTION
    Overflow = soapy.SOAPY_SDR_OVERFLOW
    NotSupported = soapy.SOAPY_SDR_NOT_SUPPORTED
    TimeError = soapy.SOAPY_SDR_TIME_ERROR
    Underflow = soapy.SOAPY_SDR_UNDERFLOW

class SoapyFlag(IntEnum):
    EndBurst = soapy.SOAPY_SDR_END_BURST
    HasTime = soapy.SOAPY_SDR_HAS_TIME
    EndAbrupt = soapy.SOAPY_SDR_END_ABRUPT
    OnePacket = soapy.SOAPY_SDR_ONE_PACKET
    MoreFragments = soapy.SOAPY_SDR_MORE_FRAGMENTS
    WaitTrigger = soapy.SOAPY_SDR_WAIT_TRIGGER
