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����������������������������...下载