[Groonga-commit] groonga/groonga [master] Export output functions as grn_ctx_output_* for plugin

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Oct 11 22:57:15 JST 2012


Kouhei Sutou	2012-10-11 22:57:15 +0900 (Thu, 11 Oct 2012)

  New Revision: 9de68c8a8820bbd185c588bca02d7e50f70bb7d0
  https://github.com/groonga/groonga/commit/9de68c8a8820bbd185c588bca02d7e50f70bb7d0

  Log:
    Export output functions as grn_ctx_output_* for plugin

  Modified files:
    include/groonga.h
    lib/ctx.c
    lib/output.h

  Modified: include/groonga.h (+18 -0)
===================================================================
--- include/groonga.h    2012-10-11 22:55:18 +0900 (3cb3da5)
+++ include/groonga.h    2012-10-11 22:57:15 +0900 (0a7ac3d)
@@ -2156,6 +2156,24 @@ GRN_API void grn_output_obj(grn_ctx *ctx, grn_obj *outbuf, grn_content_type outp
 GRN_API void grn_output_envelope(grn_ctx *ctx, grn_rc rc,
                                  grn_obj *head, grn_obj *body, grn_obj *foot,
                                  const char *file, int line);
+
+GRN_API void grn_ctx_output_array_open(grn_ctx *ctx,
+                                       const char *name, int nelements);
+GRN_API void grn_ctx_output_array_close(grn_ctx *ctx);
+GRN_API void grn_ctx_output_map_open(grn_ctx *ctx,
+                                     const char *name, int nelements);
+GRN_API void grn_ctx_output_map_close(grn_ctx *ctx);
+GRN_API void grn_ctx_output_int32(grn_ctx *ctx, int value);
+GRN_API void grn_ctx_output_int64(grn_ctx *ctx, long long int value);
+GRN_API void grn_ctx_output_float(grn_ctx *ctx, double value);
+GRN_API void grn_ctx_output_cstr(grn_ctx *ctx, const char *value);
+GRN_API void grn_ctx_output_str(grn_ctx *ctx,
+                                const char *value, unsigned int value_len);
+GRN_API void grn_ctx_output_bool(grn_ctx *ctx, grn_bool value);
+GRN_API void grn_ctx_output_obj(grn_ctx *ctx,
+                                grn_obj *value, grn_obj_format *format);
+
+
 GRN_API const char *grn_ctx_get_mime_type(grn_ctx *ctx);
 GRN_API void grn_ctx_recv_handler_set(grn_ctx *,
                                       void (*func)(grn_ctx *, int, void *),

  Modified: lib/ctx.c (+71 -0)
===================================================================
--- lib/ctx.c    2012-10-11 22:55:18 +0900 (eb7c0da)
+++ lib/ctx.c    2012-10-11 22:57:15 +0900 (bcca962)
@@ -23,6 +23,7 @@
 #include "pat.h"
 #include "plugin_in.h"
 #include "snip.h"
+#include "output.h"
 #include <stdio.h>
 #include <stdarg.h>
 #include <time.h>
@@ -2532,3 +2533,73 @@ grn_set_term_handler(void)
 #endif
   return rc;
 }
+
+void
+grn_ctx_output_array_open(grn_ctx *ctx, const char *name, int nelements)
+{
+  grn_output_array_open(ctx, ctx->impl->outbuf, ctx->impl->output_type,
+                        name, nelements);
+}
+
+void
+grn_ctx_output_array_close(grn_ctx *ctx)
+{
+  grn_output_array_close(ctx, ctx->impl->outbuf, ctx->impl->output_type);
+}
+
+void
+grn_ctx_output_map_open(grn_ctx *ctx, const char *name, int nelements)
+{
+  grn_output_map_open(ctx, ctx->impl->outbuf, ctx->impl->output_type,
+                      name, nelements);
+}
+
+void
+grn_ctx_output_map_close(grn_ctx *ctx)
+{
+  grn_output_map_close(ctx, ctx->impl->outbuf, ctx->impl->output_type);
+}
+
+void
+grn_ctx_output_int32(grn_ctx *ctx, int value)
+{
+  grn_output_int32(ctx, ctx->impl->outbuf, ctx->impl->output_type, value);
+}
+
+void
+grn_ctx_output_int64(grn_ctx *ctx, long long int value)
+{
+  grn_output_int64(ctx, ctx->impl->outbuf, ctx->impl->output_type, value);
+}
+
+void
+grn_ctx_output_float(grn_ctx *ctx, double value)
+{
+  grn_output_float(ctx, ctx->impl->outbuf, ctx->impl->output_type, value);
+}
+
+void
+grn_ctx_output_cstr(grn_ctx *ctx, const char *value)
+{
+  grn_output_cstr(ctx, ctx->impl->outbuf, ctx->impl->output_type, value);
+}
+
+void
+grn_ctx_output_str(grn_ctx *ctx, const char *value, unsigned int value_len)
+{
+  grn_output_str(ctx, ctx->impl->outbuf, ctx->impl->output_type,
+                 value, value_len);
+}
+
+void
+grn_ctx_output_bool(grn_ctx *ctx, grn_bool value)
+{
+  grn_output_bool(ctx, ctx->impl->outbuf, ctx->impl->output_type, value);
+}
+
+void
+grn_ctx_output_obj(grn_ctx *ctx, grn_obj *value, grn_obj_format *format)
+{
+  grn_output_obj(ctx, ctx->impl->outbuf, ctx->impl->output_type,
+                 value, format);
+}

  Modified: lib/output.h (+11 -11)
===================================================================
--- lib/output.h    2012-10-11 22:55:18 +0900 (db2afa5)
+++ lib/output.h    2012-10-11 22:57:15 +0900 (7c8a3f7)
@@ -60,27 +60,27 @@ GRN_API void grn_output_bool(grn_ctx *ctx, grn_obj *outbuf,
                              grn_bool value);
 
 #define GRN_OUTPUT_ARRAY_OPEN(name,nelements) \
-  (grn_output_array_open(ctx, ctx->impl->outbuf, ctx->impl->output_type, name, nelements))
+  (grn_ctx_output_array_open(ctx, name, nelements))
 #define GRN_OUTPUT_ARRAY_CLOSE() \
-  (grn_output_array_close(ctx, ctx->impl->outbuf, ctx->impl->output_type))
+  (grn_ctx_output_array_close(ctx))
 #define GRN_OUTPUT_MAP_OPEN(name,nelements) \
-  (grn_output_map_open(ctx, ctx->impl->outbuf, ctx->impl->output_type, name, nelements))
+  (grn_ctx_output_map_open(ctx, name, nelements))
 #define GRN_OUTPUT_MAP_CLOSE() \
-  (grn_output_map_close(ctx, ctx->impl->outbuf, ctx->impl->output_type))
+  (grn_ctx_output_map_close(ctx))
 #define GRN_OUTPUT_INT32(value) \
-  (grn_output_int32(ctx, ctx->impl->outbuf, ctx->impl->output_type, value))
+  (grn_ctx_output_int32(ctx, value))
 #define GRN_OUTPUT_INT64(value) \
-  (grn_output_int64(ctx, ctx->impl->outbuf, ctx->impl->output_type, value))
+  (grn_ctx_output_int64(ctx, value))
 #define GRN_OUTPUT_FLOAT(value) \
-  (grn_output_float(ctx, ctx->impl->outbuf, ctx->impl->output_type, value))
+  (grn_ctx_output_float(ctx, value))
 #define GRN_OUTPUT_CSTR(value)\
-  (grn_output_cstr(ctx, ctx->impl->outbuf, ctx->impl->output_type, value))
+  (grn_ctx_output_cstr(ctx, value))
 #define GRN_OUTPUT_STR(value,value_len)\
-  (grn_output_str(ctx, ctx->impl->outbuf, ctx->impl->output_type, value, value_len))
+  (grn_ctx_output_str(ctx, value, value_len))
 #define GRN_OUTPUT_BOOL(value)\
-  (grn_output_bool(ctx, ctx->impl->outbuf, ctx->impl->output_type, value))
+  (grn_ctx_output_bool(ctx, value))
 #define GRN_OUTPUT_OBJ(obj,format)\
-  (grn_output_obj(ctx, ctx->impl->outbuf, ctx->impl->output_type, obj, format))
+  (grn_ctx_output_obj(ctx, obj, format))
 
 #ifdef __cplusplus
 }
-------------- next part --------------
HTML����������������������������...
下载 



More information about the Groonga-commit mailing list
Back to archive index