import logging

from spacepackets.cfdp import ConditionCode
from tmtccmd.cfdp.mib import DefaultFaultHandlerBase

_LOGGER = logging.getLogger(__name__)


class EiveCfdpFaultHandler(DefaultFaultHandlerBase):
    def notice_of_suspension_cb(self, cond: ConditionCode):
        _LOGGER.info(f"Received notice of suspension: {cond!r}")

    def notice_of_cancellation_cb(self, cond: ConditionCode):
        _LOGGER.info(f"Received notice of cancellation: {cond!r}")

    def abandoned_cb(self, cond: ConditionCode):
        _LOGGER.info(f"Abandoned transaction: {cond!r}")

    def ignore_cb(self, cond: ConditionCode):
        _LOGGER.info(f"Ignored transaction: {cond!r}")