aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf/util/pb_io.h
diff options
context:
space:
mode:
authorulanovgeorgiy <ulanovgeorgiy@yandex-team.com>2023-01-13 13:20:30 +0300
committerulanovgeorgiy <ulanovgeorgiy@yandex-team.com>2023-01-13 13:20:30 +0300
commit29cc6da1f546541c9ccce57bf06114f2faca8ee8 (patch)
treefa13d26ba6125260101ced2aa7aaf25e0d82ddc6 /library/cpp/protobuf/util/pb_io.h
parent25a3b914f4b23ba191c68979412cb09dd9bedc90 (diff)
downloadydb-29cc6da1f546541c9ccce57bf06114f2faca8ee8.tar.gz
flag for write protobuf error to exception message instead of cerr
Diffstat (limited to 'library/cpp/protobuf/util/pb_io.h')
-rw-r--r--library/cpp/protobuf/util/pb_io.h22
1 files changed, 12 insertions, 10 deletions
diff --git a/library/cpp/protobuf/util/pb_io.h b/library/cpp/protobuf/util/pb_io.h
index 493c84cb5f..04c6ebb305 100644
--- a/library/cpp/protobuf/util/pb_io.h
+++ b/library/cpp/protobuf/util/pb_io.h
@@ -58,44 +58,46 @@ void SerializeToTextFormatWithEnumId(const NProtoBuf::Message& m, IOutputStream&
enum class EParseFromTextFormatOption : ui64 {
// Unknown fields will be ignored by the parser
- AllowUnknownField = 1
+ AllowUnknownField = 1,
+ // Error message will be writen to exception message instead of cerr
+ WriteErrorMessageToException = 2
};
Y_DECLARE_FLAGS(EParseFromTextFormatOptions, EParseFromTextFormatOption);
// Parse a text-format protocol message from the given file into message object.
void ParseFromTextFormat(const TString& fileName, NProtoBuf::Message& m,
- const EParseFromTextFormatOptions options = {});
+ const EParseFromTextFormatOptions options = {}, IOutputStream* warningStream = nullptr);
// NOTE: will read `in` till the end.
void ParseFromTextFormat(IInputStream& in, NProtoBuf::Message& m,
- const EParseFromTextFormatOptions options = {});
+ const EParseFromTextFormatOptions options = {}, IOutputStream* warningStream = nullptr);
/* @return `true` if parsing was successfull and `false` otherwise.
*
* @see `ParseFromTextFormat`
*/
bool TryParseFromTextFormat(const TString& fileName, NProtoBuf::Message& m,
- const EParseFromTextFormatOptions options = {});
+ const EParseFromTextFormatOptions options = {}, IOutputStream* warningStream = nullptr);
// NOTE: will read `in` till the end.
bool TryParseFromTextFormat(IInputStream& in, NProtoBuf::Message& m,
- const EParseFromTextFormatOptions options = {});
+ const EParseFromTextFormatOptions options = {}, IOutputStream* warningStream = nullptr);
// @see `ParseFromTextFormat`
template <typename T>
static T ParseFromTextFormat(const TString& fileName,
- const EParseFromTextFormatOptions options = {}) {
+ const EParseFromTextFormatOptions options = {}, IOutputStream* warningStream = nullptr) {
T message;
- ParseFromTextFormat(fileName, message, options);
+ ParseFromTextFormat(fileName, message, options, warningStream);
return message;
}
// @see `ParseFromTextFormat`
// NOTE: will read `in` till the end.
template <typename T>
-static T ParseFromTextFormat(IInputStream& in,
- const EParseFromTextFormatOptions options = {}) {
+static T ParseFromTextFormat(IInputStream& in, const EParseFromTextFormatOptions options = {},
+ IOutputStream* warningStream = nullptr) {
T message;
- ParseFromTextFormat(in, message, options);
+ ParseFromTextFormat(in, message, options, warningStream);
return message;
}