Beamlib  3.0.1
This is the Beam C++ class library.
BEntry.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * BEntry.hh Database entry system
3  * T.Barnaby, BEAM Ltd, 10/5/93
4  * Copyright (c) 2022 All Right Reserved, Beam Ltd, https://www.beam.ltd.uk
5  * For license see LICENSE.txt at the root of the beamlib source tree.
6  *******************************************************************************
7  */
8 #ifndef BENTRY_H
9 #define BENTRY_H
10 
11 #include <BList.h>
12 #include <BString.h>
13 
15 class BEntry {
16 public:
17  BEntry();
18  BEntry(BString name, BString value);
20  BString getName();
21  BString getValue();
22  void setLine(BString line);
23  void setName(BString name);
24  void setValue(BString value);
25  BString line();
26  void print();
27 private:
28  BString oname;
29  BString ovalue;
30 };
31 
32 
34 class BEntryList : public BList<BEntry> {
35 public:
36  BEntryList();
37  int isSet(BString name);
38  BEntry* find(BString name);
39  BString findValue(BString name);
40  int setValue(BString name, BString value);
41  int setValueRaw(BString name, BString value);
42  void deleteEntry(BString name);
43 
44  void print();
45  BString getString();
46 
47  // Override these functions as we cache olastPos
48  void insert(BIter& i, const BEntry& item);
49  void del(BIter& i);
50  void clear();
51  BEntryList& operator=(const BEntryList& l);
52 
53 private:
54  BIter olastPos; // Last position speed up
55 };
56 
58 class BEntryFile : public BEntryList {
59 public:
60  BEntryFile();
62  ~BEntryFile();
63 
64  int open(BString filename);
65  int read();
66  int write();
67  int writeList(BEntryList& l);
68  void clear();
69  BString filename();
70 private:
71  BString ofilename;
72  BString ocomments;
73 };
74 #endif
A file based list of string name/value pairs.
Definition: BEntry.h:58
int writeList(BEntryList &l)
Writes specified list to file.
Definition: BEntry.cpp:266
void clear()
Clears current list.
Definition: BEntry.cpp:219
BString filename()
Returns the filename.
Definition: BEntry.cpp:285
int open(BString filename)
Opens entryfile.
Definition: BEntry.cpp:211
BEntryFile()
Definition: BEntry.cpp:204
int write()
Writes list to entryfile.
Definition: BEntry.cpp:263
int read()
Reads entry file and builds list.
Definition: BEntry.cpp:223
~BEntryFile()
Definition: BEntry.cpp:216
List of Entries. Where each entry is a name value pair.
Definition: BEntry.h:34
void clear()
Clear the list.
Definition: BEntry.cpp:181
int isSet(BString name)
1 if name is in list and value is set
Definition: BEntry.cpp:151
void del(BIter &i)
Delete specified item.
Definition: BEntry.cpp:191
void print()
Print list.
Definition: BEntry.cpp:164
BEntry * find(BString name)
Returns entry if name is found otherwise NULL.
Definition: BEntry.cpp:82
BEntryList & operator=(const BEntryList &l)
Definition: BEntry.cpp:196
int setValue(BString name, BString value)
Set the value of name. Returns 0 if name not found.
Definition: BEntry.cpp:120
void deleteEntry(BString name)
Deletes the entry.
Definition: BEntry.cpp:138
BString findValue(BString name)
Returns value of name. Returns "" if name not found.
Definition: BEntry.cpp:112
int setValueRaw(BString name, BString value)
Raw setting of value without looking up existing entry.
Definition: BEntry.cpp:133
void insert(BIter &i, const BEntry &item)
Definition: BEntry.cpp:186
BEntryList()
Definition: BEntry.cpp:78
BString getString()
Return list as string. Each Entry padded and on a new line.
Definition: BEntry.cpp:171
Manipulate a name value pair.
Definition: BEntry.h:15
BString getValue()
Get the value.
Definition: BEntry.cpp:31
BEntry()
Definition: BEntry.cpp:16
void print()
Print name and value.
Definition: BEntry.cpp:62
void setName(BString name)
Set the name.
Definition: BEntry.cpp:54
void setLine(BString line)
Set name and value from white space deliminated string.
Definition: BEntry.cpp:35
void setValue(BString value)
Set the value.
Definition: BEntry.cpp:58
BString line()
Return name and value as padded single string.
Definition: BEntry.cpp:66
BString getName()
Get the name.
Definition: BEntry.cpp:28
Iterator for BLists.
Definition: BList.h:20
Template based list class.
Definition: BList.h:31
This class stores and manipulates ASCII strings.
Definition: BString.h:20