14 virtual std::unique_ptr<API> wrap_api(
int handle,
15 std::unique_ptr<API> api) = 0;
17 std::unique_ptr<API> begin(
int dbahandle,
int handle,
19 const char* anaflag,
const char* dataflag,
20 const char* attrflag);
21 std::unique_ptr<API> begin_messages(
int handle,
const char* filename,
22 const char* mode,
const char* type);
24 virtual void log_connect_url(
int handle,
const char* chosen_dsn) = 0;
25 virtual void log_disconnect(
int handle) = 0;
26 virtual void log_begin(
int dbahandle,
int handle,
const char* anaflag,
27 const char* dataflag,
const char* attrflag) = 0;
28 virtual void log_begin_messages(
int handle,
const char* filename,
29 const char* mode,
const char* type) = 0;
31 static std::unique_ptr<Tracer> create();
36struct TracedAPI :
public API
40 std::unique_ptr<API> api;
42 TracedAPI(FileTracer& tracer,
const std::string& name,
43 std::unique_ptr<API> api);
45 void reinit_db(
const char* repinfofile = 0)
override;
46 void remove_all()
override;
47 int enqi(
const char* param)
override;
48 signed char enqb(
const char* param)
override;
49 float enqr(
const char* param)
override;
50 double enqd(
const char* param)
override;
51 bool enqc(
const char* param,
char* res,
unsigned res_len)
override;
52 void seti(
const char* param,
int value)
override;
53 void setb(
const char* param,
signed char value)
override;
54 void setr(
const char* param,
float value)
override;
55 void setd(
const char* param,
double value)
override;
56 void setc(
const char* param,
const char* value)
override;
57 void set_station_context()
override;
58 void enqlevel(
int& ltype1,
int& l1,
int& ltype2,
int& l2)
override;
59 void setlevel(
int ltype1,
int l1,
int ltype2,
int l2)
override;
60 void enqtimerange(
int& pind,
int& p1,
int& p2)
override;
61 void settimerange(
int pind,
int p1,
int p2)
override;
62 void enqdate(
int& year,
int& month,
int& day,
int& hour,
int& min,
64 void setdate(
int year,
int month,
int day,
int hour,
int min,
66 void setdatemin(
int year,
int month,
int day,
int hour,
int min,
68 void setdatemax(
int year,
int month,
int day,
int hour,
int min,
70 void unset(
const char* param)
override;
71 void unsetall()
override;
72 void unsetb()
override;
73 int query_stations()
override;
74 void next_station()
override;
75 int query_data()
override;
76 wreport::Varcode next_data()
override;
77 void insert_data()
override;
78 void remove_data()
override;
79 int query_attributes()
override;
80 const char* next_attribute()
override;
81 void insert_attributes()
override;
82 void remove_attributes()
override;
83 void messages_open_input(
const char* filename,
const char* mode,
84 Encoding format,
bool simplified =
true)
override;
85 void messages_open_output(
const char* filename,
const char* mode,
86 Encoding format)
override;
87 bool messages_read_next()
override;
88 void messages_write_next(
const char* template_name = 0)
override;
89 const char* describe_level(
int ltype1,
int l1,
int ltype2,
int l2)
override;
90 const char* describe_timerange(
int ptype,
int p1,
int p2)
override;
91 const char* describe_var(
const char* varcode,
const char* value)
override;
92 void commit()
override;