Line data Source code
1 : /********************************************************************\
2 :
3 : Name: nullodb.cxx
4 : Created by: K.Olchanski
5 :
6 : Contents: NULL implementation of MVOdb ODB interface
7 :
8 : Discussion: Writing to NULL ODB has no effect, reading from NULL ODB leaves the default values unchanged
9 :
10 : \********************************************************************/
11 :
12 : //#include <stdio.h>
13 : //#include <string.h> // strlen()
14 : //#include <assert.h>
15 : //#include <stdlib.h> // malloc()
16 :
17 : #include "mvodb.h"
18 :
19 : class NullOdb: public MVOdb
20 : {
21 : public:
22 : bool fPrintError;
23 :
24 0 : NullOdb() // ctor
25 0 : {
26 0 : fPrintError = true;
27 0 : }
28 :
29 0 : void SetPrintError(bool v)
30 : {
31 0 : fPrintError = true;
32 0 : }
33 :
34 0 : bool GetPrintError() const
35 : {
36 0 : return fPrintError;
37 : }
38 :
39 0 : bool IsReadOnly() const
40 : {
41 0 : return true;
42 : }
43 :
44 0 : MVOdb* Chdir(const char* subdir, bool create, MVOdbError* error)
45 : {
46 0 : SetOk(error);
47 0 : if (create)
48 0 : return new NullOdb;
49 : else
50 0 : return NULL;
51 : }
52 :
53 : //void RAInfo(const char* varname, int* num_elements, int* element_size, MVOdbError* error)
54 : //{
55 : // SetOk(error);
56 : //};
57 :
58 0 : void ReadKey(const char* varname, int *tid, int *num_values, int *total_size, int *item_size, MVOdbError* error)
59 : {
60 0 : if (tid) *tid = 0;
61 0 : if (num_values) *num_values = 0;
62 0 : if (total_size) *total_size = 0;
63 0 : if (item_size) *item_size = 0;
64 0 : SetOk(error);
65 0 : }
66 :
67 0 : void ReadKeyLastWritten( const char* varname, int *last_written, MVOdbError* error)
68 : {
69 0 : if (last_written) *last_written = 0;
70 0 : SetOk(error);
71 0 : }
72 :
73 0 : void ReadDir(std::vector<std::string>* varname, std::vector<int> *tid, std::vector<int> *num_values, std::vector<int> *total_size, std::vector<int> *item_size, MVOdbError* error)
74 : {
75 0 : SetOk(error);
76 0 : }
77 :
78 0 : void RB(const char* varname, bool *value, bool create, MVOdbError* error) { SetOk(error); };
79 0 : void RI(const char* varname, int *value, bool create, MVOdbError* error) { SetOk(error); };
80 0 : void RD(const char* varname, double *value, bool create, MVOdbError* error) { SetOk(error); };
81 0 : void RF(const char* varname, float *value, bool create, MVOdbError* error) { SetOk(error); };
82 0 : void RS(const char* varname, std::string *value, bool create, int create_string_length, MVOdbError* error) { SetOk(error); };
83 0 : void RU16(const char* varname, uint16_t *value, bool create, MVOdbError* error) { SetOk(error); };
84 0 : void RU32(const char* varname, uint32_t *value, bool create, MVOdbError* error) { SetOk(error); };
85 :
86 0 : void RBA(const char* varname, std::vector<bool> *value, bool create, int create_size, MVOdbError* error) { SetOk(error); };
87 0 : void RIA(const char* varname, std::vector<int> *value, bool create, int create_size, MVOdbError* error) { SetOk(error); };
88 0 : void RDA(const char* varname, std::vector<double> *value, bool create, int create_size, MVOdbError* error) { SetOk(error); };
89 0 : void RFA(const char* varname, std::vector<float> *value, bool create, int create_size, MVOdbError* error) { SetOk(error); };
90 0 : void RSA(const char* varname, std::vector<std::string> *value, bool create, int create_size, int create_string_length, MVOdbError* error) { SetOk(error); };
91 0 : void RU16A(const char* varname, std::vector<uint16_t> *value, bool create, int create_size, MVOdbError* error) { SetOk(error); };
92 0 : void RU32A(const char* varname, std::vector<uint32_t> *value, bool create, int create_size, MVOdbError* error) { SetOk(error); };
93 :
94 0 : void RBAI(const char* varname, int index, bool *value, MVOdbError* error) { SetOk(error); };
95 0 : void RIAI(const char* varname, int index, int *value, MVOdbError* error) { SetOk(error); };
96 0 : void RDAI(const char* varname, int index, double *value, MVOdbError* error) { SetOk(error); };
97 0 : void RFAI(const char* varname, int index, float *value, MVOdbError* error) { SetOk(error); };
98 0 : void RSAI(const char* varname, int index, std::string *value, MVOdbError* error) { SetOk(error); };
99 0 : void RU16AI(const char* varname, int index, uint16_t *value, MVOdbError* error) { SetOk(error); };
100 0 : void RU32AI(const char* varname, int index, uint32_t *value, MVOdbError* error) { SetOk(error); };
101 :
102 0 : void WB(const char* varname, bool v, MVOdbError* error) { SetOk(error); };
103 0 : void WI(const char* varname, int v, MVOdbError* error) { SetOk(error); };
104 0 : void WD(const char* varname, double v, MVOdbError* error) { SetOk(error); };
105 0 : void WF(const char* varname, float v, MVOdbError* error) { SetOk(error); };
106 0 : void WS(const char* varname, const char* v, int string_length, MVOdbError* error) { SetOk(error); };
107 0 : void WU16(const char* varname, uint16_t v, MVOdbError* error) { SetOk(error); };
108 0 : void WU32(const char* varname, uint32_t v, MVOdbError* error) { SetOk(error); };
109 :
110 0 : void WBA(const char* varname, const std::vector<bool>& v, MVOdbError* error) { SetOk(error); };
111 0 : void WIA(const char* varname, const std::vector<int>& v, MVOdbError* error) { SetOk(error); };
112 0 : void WDA(const char* varname, const std::vector<double>& v, MVOdbError* error) { SetOk(error); };
113 0 : void WFA(const char* varname, const std::vector<float>& v, MVOdbError* error) { SetOk(error); };
114 0 : void WSA(const char* varname, const std::vector<std::string>& data, int odb_string_length, MVOdbError* error) { SetOk(error); };
115 0 : void WU16A(const char* varname, const std::vector<uint16_t>& v, MVOdbError* error) { SetOk(error); };
116 0 : void WU32A(const char* varname, const std::vector<uint32_t>& v, MVOdbError* error) { SetOk(error); };
117 :
118 0 : void WBAI(const char* varname, int index, bool v, MVOdbError* error) { SetOk(error); };
119 0 : void WIAI(const char* varname, int index, int v, MVOdbError* error) { SetOk(error); };
120 0 : void WDAI(const char* varname, int index, double v, MVOdbError* error) { SetOk(error); };
121 0 : void WFAI(const char* varname, int index, float v, MVOdbError* error) { SetOk(error); };
122 0 : void WSAI(const char* varname, int index, const char* v, MVOdbError* error) { SetOk(error); };
123 0 : void WU16AI(const char* varname, int index, uint16_t v, MVOdbError* error) { SetOk(error); };
124 0 : void WU32AI(const char* varname, int index, uint32_t v, MVOdbError* error) { SetOk(error); };
125 :
126 0 : void Delete(const char* odbname, MVOdbError* error) { SetOk(error); };
127 : };
128 :
129 0 : MVOdb* MakeNullOdb()
130 : {
131 0 : return new NullOdb();
132 : }
133 :
134 : /* emacs
135 : * Local Variables:
136 : * tab-width: 8
137 : * c-basic-offset: 3
138 : * indent-tabs-mode: nil
139 : * End:
140 : */
|