diff options
Diffstat (limited to 'yt/cpp/mapreduce/interface/client_method_options.cpp')
| -rw-r--r-- | yt/cpp/mapreduce/interface/client_method_options.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/interface/client_method_options.cpp b/yt/cpp/mapreduce/interface/client_method_options.cpp new file mode 100644 index 00000000000..66f72bfe5fa --- /dev/null +++ b/yt/cpp/mapreduce/interface/client_method_options.cpp @@ -0,0 +1,34 @@ +#include "client_method_options.h" + +#include "tvm.h" + +namespace NYT { + +template <typename T> +static void MergeMaybe(TMaybe<T>& origin, const TMaybe<T>& patch) +{ + if (patch) { + origin = patch; + } +} + +void TFormatHints::Merge(const TFormatHints& patch) +{ + if (patch.SkipNullValuesForTNode_) { + SkipNullValuesForTNode(true); + } + MergeMaybe(EnableStringToAllConversion_, patch.EnableStringToAllConversion_); + MergeMaybe(EnableAllToStringConversion_, patch.EnableAllToStringConversion_); + MergeMaybe(EnableIntegralTypeConversion_, patch.EnableIntegralTypeConversion_); + MergeMaybe(EnableIntegralToDoubleConversion_, patch.EnableIntegralToDoubleConversion_); + MergeMaybe(EnableTypeConversion_, patch.EnableTypeConversion_); + MergeMaybe(ComplexTypeMode_, patch.ComplexTypeMode_); +} + +TCreateClientOptions& TCreateClientOptions::ServiceTicketAuth(const NAuth::IServiceTicketAuthPtrWrapper& wrapper) +{ + ServiceTicketAuth_ = std::make_shared<NAuth::IServiceTicketAuthPtrWrapper>(wrapper); + return *this; +} + +} // namespace NYT |
