16 #ifndef RPL_INFO_FILE_H
17 #define RPL_INFO_FILE_H
19 #include <my_global.h>
21 #include "rpl_info_handler.h"
23 class Rpl_info_factory;
28 class Rpl_info_file :
public Rpl_info_handler
30 friend class Rpl_info_factory;
33 virtual ~Rpl_info_file();
44 char info_fname[FN_REFLEN + 128];
50 char pattern_fname[FN_REFLEN + 128];
67 int do_init_info(uint instance);
68 enum_return_check do_check_info();
69 enum_return_check do_check_info(uint instance);
71 int do_flush_info(
const bool force);
86 static bool do_count_info(
const int nparam,
87 const char* param_pattern_fname,
90 static int do_reset_info(
int const nparam,
91 const char* param_pattern_fname,
94 int do_prepare_info_for_read();
95 int do_prepare_info_for_write();
96 bool do_set_info(
const int pos,
const char *value);
97 bool do_set_info(
const int pos,
const uchar *value,
99 bool do_set_info(
const int pos,
const int value);
100 bool do_set_info(
const int pos,
const ulong value);
101 bool do_set_info(
const int pos,
const float value);
102 bool do_set_info(
const int pos,
const Dynamic_ids *value);
103 bool do_get_info(
const int pos,
char *value,
const size_t size,
104 const char *default_value);
105 bool do_get_info(
const int pos, uchar *value,
const size_t size,
106 const uchar *default_value);
107 bool do_get_info(
const int pos,
int *value,
108 const int default_value);
109 bool do_get_info(
const int pos, ulong *value,
110 const ulong default_value);
111 bool do_get_info(
const int pos,
float *value,
112 const float default_value);
113 bool do_get_info(
const int pos,
Dynamic_ids *value,
115 char* do_get_description_info();
116 uint do_get_rpl_info_type();
118 bool do_is_transactional();
119 bool do_update_is_transactional();
121 Rpl_info_file(
int const nparam,
const char* param_pattern_fname,
122 const char* param_info_fname,
bool name_indexed);
124 Rpl_info_file(
const Rpl_info_file& info);
125 Rpl_info_file& operator=(
const Rpl_info_file& info);