/** @file */
/***********************************************
!!!! DO NOT EDIT THIS FILE !!!!
All content has been auto-generated by
the boilerplater.pl utility.
See boilerplater's documentation for details.
***********************************************/
#ifndef R_KINO_SEGINFO
#define R_KINO_SEGINFO 1
#include "KinoSearch/Index/SegInfo.h"
#define KINO_SEGINFO_BOILERPLATE
typedef void
(*kino_SegInfo_destroy_t)(kino_SegInfo *self);
typedef void
(*kino_SegInfo_add_field_t)(kino_SegInfo *self,
const struct kino_ByteBuf *field_name);
typedef void
(*kino_SegInfo_add_metadata_t)(kino_SegInfo *self, const char *key, size_t key_len,
kino_Obj *value);
typedef struct kino_Hash*
(*kino_SegInfo_get_metadata_t)(kino_SegInfo *self);
typedef kino_Obj*
(*kino_SegInfo_extract_metadata_t)(kino_SegInfo *self, const char *key,
size_t key_len);
typedef struct kino_ByteBuf*
(*kino_SegInfo_field_name_t)(kino_SegInfo *self, chy_i32_t field_num);
typedef chy_i32_t
(*kino_SegInfo_field_num_t)(kino_SegInfo *self,
const struct kino_ByteBuf *field_name);
#define Kino_SegInfo_Clone(self) \
kino_Obj_clone((kino_Obj*)self)
#define Kino_SegInfo_Destroy(self) \
kino_SegInfo_destroy((kino_SegInfo*)self)
#define Kino_SegInfo_Equals(self, other) \
kino_Obj_equals((kino_Obj*)self, other)
#define Kino_SegInfo_Hash_Code(self) \
kino_Obj_hash_code((kino_Obj*)self)
#define Kino_SegInfo_Is_A(self, target_vtable) \
kino_Obj_is_a((kino_Obj*)self, target_vtable)
#define Kino_SegInfo_To_String(self) \
kino_Obj_to_string((kino_Obj*)self)
#define Kino_SegInfo_Serialize(self, target) \
kino_Obj_serialize((kino_Obj*)self, target)
#define Kino_SegInfo_Add_Field(self, field_name) \
kino_SegInfo_add_field((kino_SegInfo*)self, field_name)
#define Kino_SegInfo_Add_Metadata(self, key, key_len, value) \
kino_SegInfo_add_metadata((kino_SegInfo*)self, key, key_len, value)
#define Kino_SegInfo_Get_Metadata(self) \
kino_SegInfo_get_metadata((kino_SegInfo*)self)
#define Kino_SegInfo_Extract_Metadata(self, key, key_len) \
kino_SegInfo_extract_metadata((kino_SegInfo*)self, key, key_len)
#define Kino_SegInfo_Field_Name(self, field_num) \
kino_SegInfo_field_name((kino_SegInfo*)self, field_num)
#define Kino_SegInfo_Field_Num(self, field_name) \
kino_SegInfo_field_num((kino_SegInfo*)self, field_name)
struct KINO_SEGINFO_VTABLE {
KINO_OBJ_VTABLE *_;
chy_u32_t refcount;
KINO_OBJ_VTABLE *parent;
const char *class_name;
kino_Obj_clone_t clone;
kino_Obj_destroy_t destroy;
kino_Obj_equals_t equals;
kino_Obj_hash_code_t hash_code;
kino_Obj_is_a_t is_a;
kino_Obj_to_string_t to_string;
kino_Obj_serialize_t serialize;
kino_SegInfo_add_field_t add_field;
kino_SegInfo_add_metadata_t add_metadata;
kino_SegInfo_get_metadata_t get_metadata;
kino_SegInfo_extract_metadata_t extract_metadata;
kino_SegInfo_field_name_t field_name;
kino_SegInfo_field_num_t field_num;
};
extern KINO_SEGINFO_VTABLE KINO_SEGINFO;
#ifdef KINO_USE_SHORT_NAMES
#define SegInfo kino_SegInfo
#define SEGINFO KINO_SEGINFO
#define SegInfo_new kino_SegInfo_new
#define SegInfo_destroy_t kino_SegInfo_destroy_t
#define SegInfo_destroy kino_SegInfo_destroy
#define SegInfo_add_field_t kino_SegInfo_add_field_t
#define SegInfo_add_field kino_SegInfo_add_field
#define SegInfo_add_metadata_t kino_SegInfo_add_metadata_t
#define SegInfo_add_metadata kino_SegInfo_add_metadata
#define SegInfo_get_metadata_t kino_SegInfo_get_metadata_t
#define SegInfo_get_metadata kino_SegInfo_get_metadata
#define SegInfo_extract_metadata_t kino_SegInfo_extract_metadata_t
#define SegInfo_extract_metadata kino_SegInfo_extract_metadata
#define SegInfo_field_name_t kino_SegInfo_field_name_t
#define SegInfo_field_name kino_SegInfo_field_name
#define SegInfo_field_num_t kino_SegInfo_field_num_t
#define SegInfo_field_num kino_SegInfo_field_num
#define SegInfo_Clone Kino_SegInfo_Clone
#define SegInfo_Destroy Kino_SegInfo_Destroy
#define SegInfo_Equals Kino_SegInfo_Equals
#define SegInfo_Hash_Code Kino_SegInfo_Hash_Code
#define SegInfo_Is_A Kino_SegInfo_Is_A
#define SegInfo_To_String Kino_SegInfo_To_String
#define SegInfo_Serialize Kino_SegInfo_Serialize
#define SegInfo_Add_Field Kino_SegInfo_Add_Field
#define SegInfo_Add_Metadata Kino_SegInfo_Add_Metadata
#define SegInfo_Get_Metadata Kino_SegInfo_Get_Metadata
#define SegInfo_Extract_Metadata Kino_SegInfo_Extract_Metadata
#define SegInfo_Field_Name Kino_SegInfo_Field_Name
#define SegInfo_Field_Num Kino_SegInfo_Field_Num
#endif /* KINO_USE_SHORT_NAMES */
#define KINO_SEGINFO_MEMBER_VARS \
chy_u32_t refcount; \
struct kino_ByteBuf * seg_name; \
chy_u32_t doc_count; \
struct kino_Hash * by_name; \
struct kino_VArray * by_num; \
struct kino_Hash * metadata
#ifdef KINO_WANT_SEGINFO_VTABLE
KINO_SEGINFO_VTABLE KINO_SEGINFO = {
(KINO_OBJ_VTABLE*)&KINO_VIRTUALTABLE,
1,
(KINO_OBJ_VTABLE*)&KINO_OBJ,
"KinoSearch::Index::SegInfo",
(kino_Obj_clone_t)kino_Obj_clone,
(kino_Obj_destroy_t)kino_SegInfo_destroy,
(kino_Obj_equals_t)kino_Obj_equals,
(kino_Obj_hash_code_t)kino_Obj_hash_code,
(kino_Obj_is_a_t)kino_Obj_is_a,
(kino_Obj_to_string_t)kino_Obj_to_string,
(kino_Obj_serialize_t)kino_Obj_serialize,
(kino_SegInfo_add_field_t)kino_SegInfo_add_field,
(kino_SegInfo_add_metadata_t)kino_SegInfo_add_metadata,
(kino_SegInfo_get_metadata_t)kino_SegInfo_get_metadata,
(kino_SegInfo_extract_metadata_t)kino_SegInfo_extract_metadata,
(kino_SegInfo_field_name_t)kino_SegInfo_field_name,
(kino_SegInfo_field_num_t)kino_SegInfo_field_num
};
#endif /* KINO_WANT_SEGINFO_VTABLE */
#undef KINO_SEGINFO_BOILERPLATE
#endif /* R_KINO_SEGINFO */
/* Copyright 2007 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify
* under the same terms as Perl itself.
*/