summaryrefslogtreecommitdiff
path: root/lib/tevent/tevent_req.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-02-25 14:29:31 +0100
committerStefan Metzmacher <metze@samba.org>2009-02-25 14:30:55 +0100
commite2f37ec106fb51ec894e0d6160949545e80dfe69 (patch)
tree3e3e2a408d7c9bf286640d3cbf3ee43253ea786e /lib/tevent/tevent_req.c
parent01d1aaf63e8170936139a01814211f6567c4b125 (diff)
downloadsamba-e2f37ec106fb51ec894e0d6160949545e80dfe69.tar.gz
samba-e2f37ec106fb51ec894e0d6160949545e80dfe69.tar.bz2
samba-e2f37ec106fb51ec894e0d6160949545e80dfe69.zip
tevent: add private_print function feature to tevent_req
metze
Diffstat (limited to 'lib/tevent/tevent_req.c')
-rw-r--r--lib/tevent/tevent_req.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/lib/tevent/tevent_req.c b/lib/tevent/tevent_req.c
index c17587b16c..e243c7de5d 100644
--- a/lib/tevent/tevent_req.c
+++ b/lib/tevent/tevent_req.c
@@ -28,14 +28,17 @@
#include "tevent_util.h"
/**
- * @brief Print an tevent_req structure in debug messages
- * @param[in] mem_ctx The memory context for the result
+ * @brief The default print function for creating debug messages
* @param[in] req The request to be printed
+ * @param[in] mem_ctx The memory context for the result
* @retval Text representation of req
*
+ * The function should not be used by users of the asynx API,
+ * but custom print function can use it and append custom text
+ * to the string.
*/
-char *tevent_req_print(TALLOC_CTX *mem_ctx, struct tevent_req *req)
+char *tevent_req_default_print(struct tevent_req *req, TALLOC_CTX *mem_ctx)
{
return talloc_asprintf(mem_ctx,
"tevent_req[%p/%s]: state[%d] error[%lld (0x%llX)] "
@@ -51,6 +54,24 @@ char *tevent_req_print(TALLOC_CTX *mem_ctx, struct tevent_req *req)
}
/**
+ * @brief Print an tevent_req structure in debug messages
+ * @param[in] mem_ctx The memory context for the result
+ * @param[in] req The request to be printed
+ * @retval Text representation of req
+ *
+ * This function should be used by callers of the async API
+ */
+
+char *tevent_req_print(TALLOC_CTX *mem_ctx, struct tevent_req *req)
+{
+ if (!req->private_print) {
+ return tevent_req_default_print(req, mem_ctx);
+ }
+
+ return req->private_print(req, mem_ctx);
+}
+
+/**
* @brief Create an async request
* @param[in] mem_ctx The memory context for the result
* @param[in] ev The event context this async request will be driven by