17#ifndef KUDU_CLIENT_CALLBACKS_H
18#define KUDU_CLIENT_CALLBACKS_H
20#ifdef KUDU_HEADERS_NO_STUBS
21#include "kudu/gutil/macros.h"
22#include "kudu/gutil/port.h"
24#include "kudu/client/stubs.h"
26#include "kudu/util/kudu_export.h"
44class KUDU_EXPORT KuduLoggingCallback {
46 KuduLoggingCallback() {
49 virtual ~KuduLoggingCallback() {
68 virtual void Run(KuduLogSeverity severity,
71 const struct ::tm* time,
73 size_t message_len) = 0;
76 DISALLOW_COPY_AND_ASSIGN(KuduLoggingCallback);
85 KuduLogSeverity severity,
88 const struct ::tm* time,
104 void Run(KuduLogSeverity severity,
105 const char* filename,
107 const struct ::tm* time,
109 size_t message_len) OVERRIDE {
110 (object_->*member_)(severity, filename, line_number, time,
111 message, message_len);
126 KuduLogSeverity severity,
127 const char* filename,
129 const struct ::tm* time,
140 : function_(function),
145 void Run(KuduLogSeverity severity,
146 const char* filename,
148 const struct ::tm* time,
150 size_t message_len) OVERRIDE {
151 function_(arg_, severity, filename, line_number, time,
152 message, message_len);
156 FunctionType function_;
161class KUDU_EXPORT KuduStatusCallback {
163 KuduStatusCallback() {
166 virtual ~KuduStatusCallback() {
176 DISALLOW_COPY_AND_ASSIGN(KuduStatusCallback);
199 (object_->*member_)(s);
223 : function_(function),
233 FunctionType function_;
A representation of an operation's outcome.
Definition status.h:191
virtual void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)=0
void(* FunctionType)(T arg, KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)
A handy typedef for the function with appropriate signature.
Definition callbacks.h:125
void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE
Definition callbacks.h:145
KuduLoggingFunctionCallback(FunctionType function, T arg)
Definition callbacks.h:139
void(T::* MemberType)(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)
A handy typedef for the member function with appropriate signature.
Definition callbacks.h:84
void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE
Definition callbacks.h:104
KuduLoggingMemberCallback(T *object, MemberType member)
Definition callbacks.h:98
virtual void Run(const Status &s)=0
void Run(const Status &s) OVERRIDE
Definition callbacks.h:228
void(* FunctionType)(T arg, const Status &s)
A handy typedef for the function with appropriate signature.
Definition callbacks.h:213
KuduStatusFunctionCallback(FunctionType function, T arg)
Definition callbacks.h:222
void Run(const Status &s) OVERRIDE
Definition callbacks.h:198
void(T::* MemberType)(const Status &s)
A handy typedef for the member with appropriate signature.
Definition callbacks.h:184
KuduStatusMemberCallback(T *object, MemberType member)
Definition callbacks.h:192