// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include #include #include #include namespace at { struct Result { /// result class for AT send -> receive command, could return promise :p enum class Code { OK, // at OK ERROR, // at ERROR TIMEOUT, // at Timeout TOKENS, // at numbers of tokens needed met NONE, // no code } code = Code::NONE; //! Information about Equipment or Network error as variant type /*! * Example of checking for specific error type if (std::holds_alternative(errorCode)){ std::get(errorCode); } */ std::variant errorCode = at::EquipmentErrorCode::NoInformation; std::vector response; explicit operator bool() const { return code == Code::OK; } }; } // namespace at