1 /*! 2 * \file 3 * \brief Error codes for enveloped_msg submodule. 4 * 5 * \since 6 * v.1.2.0 7 */ 8 9 #pragma once 10 11 #include <so_5_extra/error_ranges.hpp> 12 13 namespace so_5 { 14 15 namespace extra { 16 17 namespace enveloped_msg { 18 19 namespace errors { 20 21 //! Mutability of payload message inside just_envelope can't be changed. 22 /*! 23 * An envelope implemented by just_envelope_t class used mutability 24 * flag from the enveloped payload. This mutability flag can't be changed 25 * after construction of envelope. 26 * 27 * \since 28 * v.1.2.0 29 */ 30 const int rc_mutabilty_of_envelope_cannot_be_changed = 31 ::so_5::extra::errors::enveloped_msg_errors + 1; 32 33 //! An attempt to use empty payload_holder for make an envelope. 34 /*! 35 * This error can be reported is the same payload_hodler will be used 36 * more than one time. For example: 37 * \code 38 * namespace env_ns = so_5::extra::enveloped_msg; 39 * auto payload = env_ns::make<my_message>(...); 40 * payload.envelope<env_ns::just_envelope_t>().send_to(...); 41 * // Now payload object is empty because its content was enveloped and sent. 42 * // This call will lead to rc_empty_payload_holder error. 43 * payload.envelope<another_envelope_type>().send_to(...); 44 * \endcode 45 * \since 46 * v.1.2.0 47 */ 48 const int rc_empty_payload_holder = 49 ::so_5::extra::errors::enveloped_msg_errors + 2; 50 51 } /* namespace errors */ 52 53 } /* namespace enveloped_msg */ 54 55 } /* namespace extra */ 56 57 } /* namespace so_5 */ 58 59