BDS Public
Beam-lib  2.16.3
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) 2012 All Right Reserved, Beam Ltd, http://www.beam.ltd.uk
5  *******************************************************************************
6  */
7 #ifndef BENTRY_H
8 #define BENTRY_H
9 
10 #include <BList.h>
11 #include <BString.h>
12 
14 class BEntry {
15 public:
16  BEntry();
17  BEntry(BString name, BString value);
19  BString getName();
20  BString getValue();
21  void setLine(BString line);
22  void setName(BString name);
23  void setValue(BString value);
24  BString line();
25  void print();
26 private:
27  BString oname;
28  BString ovalue;
29 };
30 
31 
33 class BEntryList : public BList<BEntry> {
34 public:
35  BEntryList();
36  int isSet(BString name);
37  BEntry* find(BString name);
38  BString findValue(BString name);
39  int setValue(BString name, BString value);
40  int setValueRaw(BString name, BString value);
41  void deleteEntry(BString name);
42 
43  void print();
44  BString getString();
45 
46  // Override these functions as we cache olastPos
47  void insert(BIter& i, const BEntry& item);
48  void del(BIter& i);
49  void clear();
50  BEntryList& operator=(const BEntryList& l);
51 
52 private:
53  BIter olastPos; // Last position speed up
54 };
55 
57 class BEntryFile : public BEntryList {
58 public:
59  BEntryFile();
61  ~BEntryFile();
62 
63  int open(BString filename);
64  int read();
65  int write();
66  int writeList(BEntryList& l);
67  void clear();
68  BString filename();
69 private:
70  BString ofilename;
71  BString ocomments;
72 };
73 #endif
BEntryList & operator=(const BEntryList &l)
Definition: BEntry.cpp:194
void clear()
Clears current list.
Definition: BEntry.cpp:217
Iterator for BList.
Definition: BList.h:18
void insert(BIter &i, const BEntry &item)
Insert item before item.
Definition: BEntry.cpp:184
Definition: BString.h:18
File of Entries.
Definition: BEntry.h:57
void clear()
Clear the list.
Definition: BEntry.cpp:179
BString getValue()
Get the value.
Definition: BEntry.cpp:29
Template based list class.
Definition: BList.h:30
BString getString()
Return list as string. Each Entry padded and on a new line.
Definition: BEntry.cpp:169
int setValueRaw(BString name, BString value)
Raw setting of value without looking up existing entry.
Definition: BEntry.cpp:131
int isSet(BString name)
1 if name is in list and value is set
Definition: BEntry.cpp:149
int writeList(BEntryList &l)
Writes specified list to file.
Definition: BEntry.cpp:264
BEntryFile()
Definition: BEntry.cpp:202
BString findValue(BString name)
Returns value of name. Returns "" if name not found.
Definition: BEntry.cpp:110
void print()
Print name and value.
Definition: BEntry.cpp:60
int open(BString filename)
Opens entryfile.
Definition: BEntry.cpp:209
BString getName()
Get the name.
Definition: BEntry.cpp:26
void setLine(BString line)
Set name and value from white space deliminated string.
Definition: BEntry.cpp:33
void del(BIter &i)
Delete specified item.
Definition: BEntry.cpp:189
void deleteEntry(BString name)
Deletes the entry.
Definition: BEntry.cpp:136
BEntry()
Definition: BEntry.cpp:14
void setName(BString name)
Set the name.
Definition: BEntry.cpp:52
void setValue(BString value)
Set the value.
Definition: BEntry.cpp:56
BString line()
Return name and value as padded single string.
Definition: BEntry.cpp:64
int read()
Reads entry file and builds list.
Definition: BEntry.cpp:221
int setValue(BString name, BString value)
Set the value of name. Returns 0 if name not found.
Definition: BEntry.cpp:118
BEntry * find(BString name)
Returns entry if name is found otherwise NULL.
Definition: BEntry.cpp:80
void print()
Print list.
Definition: BEntry.cpp:162
~BEntryFile()
Definition: BEntry.cpp:214
Manipulate a name value pair.
Definition: BEntry.h:14
List of Entries. Where an entry is a name value pair.
Definition: BEntry.h:33
BString filename()
Returns the filename.
Definition: BEntry.cpp:283
BEntryList()
Definition: BEntry.cpp:76
int write()
Writes list to entryfile.
Definition: BEntry.cpp:261