| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef LIB_FIDL_CPP_INTERNAL_LOGGING_H_ |
| #define LIB_FIDL_CPP_INTERNAL_LOGGING_H_ |
| |
| #include <lib/fidl/cpp/message.h> |
| |
| namespace fidl { |
| namespace internal { |
| |
| void ReportEncodingError(const Message& message, const fidl_type_t* type, |
| const char* error_msg, const char* file, int line); |
| |
| void ReportDecodingError(const Message& message, const fidl_type_t* type, |
| const char* error_msg, const char* file, int line); |
| |
| void ReportChannelWritingError(const Message& message, const fidl_type_t* type, |
| zx_status_t status, const char* file, int line); |
| |
| #define FIDL_REPORT_ENCODING_ERROR(message, type, error_msg) \ |
| ::fidl::internal::ReportEncodingError((message), (type), (error_msg), \ |
| __FILE__, __LINE__) |
| |
| #define FIDL_REPORT_DECODING_ERROR(message, type, error_msg) \ |
| ::fidl::internal::ReportDecodingError((message), (type), (error_msg), \ |
| __FILE__, __LINE__) |
| |
| #define FIDL_REPORT_CHANNEL_WRITING_ERROR(message, type, status) \ |
| ::fidl::internal::ReportChannelWritingError((message), (type), (status), \ |
| __FILE__, __LINE__) |
| |
| } // namespace internal |
| } // namespace fidl |
| |
| #endif // LIB_FIDL_CPP_INTERNAL_LOGGING_H_ |