LCOV - code coverage report
Current view: top level - mvodb - nullodb.cxx (source / functions) Coverage Total Hit
Test: coverage.info Lines: 0.0 % 75 0
Test Date: 2025-11-11 10:26:08 Functions: 0.0 % 52 0

            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              :  */
        

Generated by: LCOV version 2.0-1