50 : name (), comment (), read_by (rb), dirty (false) {}
53 : name (n), comment (), read_by (0), dirty (true) {}
57 const char*
getName()
const {
return name.c_str(); }
58 const char*
getComment()
const {
return comment.c_str(); }
62 virtual void clean() { dirty =
false; }
65 void setName(
const string&c) { dirty =
true; name = c; }
67 void setComment(
const string&c) { dirty =
true; comment = c; }
69 void setReadBy(
int r) { dirty =
true; read_by = r; }
74 void initName(
const string&c) {
if (!dirty) name = c; }
78 void initReadBy(
const int r) {
if (!dirty) read_by = r; }
81 void init(
const string &n,
const string&c,
int rb)
107 if (v.
isNull () || !v->isString ())
109 y2error (
"Missing in Write (.all): %s", k.c_str ());
112 s = v->asString ()->value ();
119 if (v.
isNull () || !v->isInteger ())
121 y2error (
"Missing in Write (.all): %s", k.c_str ());
124 i = v->asInteger ()->value ();
153 const char*
getValue()
const {
return val.c_str(); }
163 void init(
const string &n,
const string &c,
int rb,
const string &v)
184 if (!
getMapString (in,
"kind", kind) || kind !=
"value")
186 y2error (
"Kind should be 'value'");
308 int getSectionProp (
const YCPPath&p,
YCPValue&out,
int what,
int depth = 0);
341 int dirHelper (
const YCPPath&p,
YCPList&out,
int sections,
int depth = 0);
352 int setMyValue (
const YCPPath &p,
const YCPValue&in,
int what,
int depth);
361 int setValue (
const YCPPath&p,
const YCPValue&in,
int what,
int depth = 0);
370 int setSectionProp (
const YCPPath&p,
const YCPValue&in,
int what,
int depth);
392 int delValue (
const YCPPath&p,
int depth);
399 int delSection (
const YCPPath&p,
int depth);
405 void delMyValue (
const string &k);
432 int delValueFlat (
const YCPPath&p);
445 end_comment (), is_private(false), rewrite_by(-1),
446 container (), ivalues (), isections ()
456 end_comment (s.end_comment), is_private(s.is_private), rewrite_by (s.rewrite_by),
457 container (s.container)
466 IniBase::operator = (s);
486 end_comment (), is_private(false), rewrite_by(0),
487 container(), ivalues (), isections ()
497 void initValue (
const string&key,
const string&val,
const string&
comment,
int rb);
507 IniSection& initSection (
const string&
name,
const string&comment,
int rb,
int wb=-2);
521 int getSubSectionRewriteBy (
const char*name);
532 void setEndComment (
const char*c);
537 virtual void clean();
563 int findEndFromUp(
const vector<string>&path,
int wanted,
int found = -1,
int from = 0);
652 #endif//__IniFile_h__ IniSection & s()
Definition: IniFile.h:626
const char * getEndComment() const
Definition: IniFile.h:533
bool getMapInteger(const YCPMap &in, const string &k, int &i)
helper for setAllDoIt
Definition: IniFile.h:117
IniSection(const char *u)
Definition: IniFile.h:440
IniEntryIndex ivalues
Definition: IniFile.h:267
list< IniContainerElement > IniContainer
Definition: IniFile.h:203
IniSection(const IniSection &s)
Definition: IniFile.h:453
const char * getValue() const
Definition: IniFile.h:153
This is a Modules Agent TODO file $Id path
Definition: agent-modules/doc/TODO.txt:9
bool dirty
Definition: IniFile.h:46
Definition: IniFile.h:202
void setComment(const string &c)
Definition: IniFile.h:67
multimap< string, IniIterator > IniEntryIndex
Definition: IniFile.h:209
const IniParser * ip
Definition: IniFile.h:236
void add(const YCPValue &key, const YCPValue &value)
Definition: YCPMap.h:199
int rewrite_by
Definition: IniFile.h:255
IniType
Definition: IniFile.h:202
bool is_private
Definition: IniFile.h:249
string val
Definition: IniFile.h:146
const char * getComment() const
Definition: IniFile.h:58
void setValue(const string &c)
Definition: IniFile.h:155
YCPValue value(const YCPValue &key) const
Definition: YCPMap.h:205
IniContainer container
Definition: IniFile.h:262
Definition: IniFile.h:227
Wrapper for YCPIntegerRep This class realizes an automatic memory management via YCPElement. Access the functionality of YCPIntegerRep with the arrow operator. See YCPIntegerRep.
Definition: YCPInteger.h:92
int setAllDoIt(const YCPMap &in)
Definition: IniFile.h:179
const char * getName() const
Definition: IniFile.h:57
IniSection(const IniParser *p)
Definition: IniFile.h:442
void setDirty()
Definition: IniFile.h:71
IniEntry & e()
Definition: IniFile.h:624
virtual ~IniSection()
Definition: IniFile.h:476
const IniSection & s() const
Definition: IniFile.h:625
void init(const string &n, const string &c, int rb)
Definition: IniFile.h:81
IniContainer::iterator IniIterator
Definition: IniFile.h:206
void initComment(const string &c)
Definition: IniFile.h:76
multimap< string, IniIterator > IniSectionIndex
Definition: IniFile.h:210
virtual ~IniBase()
Definition: IniFile.h:55
IniSectionIndex::iterator IniSectionIdxIterator
Definition: IniFile.h:220
int read_by
Definition: IniFile.h:44
IniSectionIndex isections
Definition: IniFile.h:271
void initReadBy()
Definition: IniFile.h:512
IniContainerElement(const IniEntry &e)
construct from a value
Definition: IniFile.h:629
void initReadBy(const int r)
Definition: IniFile.h:78
Wrapper for YCPMapRep This class realizes an automatic memory management via YCPElement. Access the functionality of YCPMapRep with the arrow operator. See YCPMapRep.
Definition: YCPMap.h:184
virtual void clean()
Definition: IniFile.h:62
virtual YCPMap getAllDoIt()
Definition: IniFile.h:95
bool getMapString(const YCPMap &in, const string &k, string &s)
helper for setAllDoIt
Definition: IniFile.h:105
void initValue(const string &c)
Definition: IniFile.h:158
bool isNull() const
Definition: YCPElement.h:347
string comment
Definition: IniFile.h:42
IniContainerElement(const IniContainerElement &c)
Definition: IniFile.h:644
IniContainerElement(const IniSection &s)
construct from a section
Definition: IniFile.h:637
YCPMap getAllDoIt()
Definition: IniFile.h:172
IniType t() const
accessors
Definition: IniFile.h:622
string end_comment
Definition: IniFile.h:242
Wrapper for YCPStringRep This class realizes an automatic memory management via YCPElement. Access the functionality of YCPStringRep with the arrow operator. See YCPStringRep.
Definition: YCPString.h:133
IniEntryIndex::iterator IniEntryIdxIterator
Definition: IniFile.h:219
IniBase(const string &n)
Definition: IniFile.h:52
IniType _t
Definition: IniFile.h:616
Definition: IniFile.h:142
#define y2error(format, args...)
Definition: liby2util-r/src/include/y2util/y2log.h:112
void setName(const string &c)
Definition: IniFile.h:65
Definition: IniFile.h:202
IniSection _s
Definition: IniFile.h:618
Wrapper for YCPListRep This class realizes an automatic memory management via YCPElement. Access the functionality of YCPListRep with the arrow operator. See YCPListRep.
Definition: YCPList.h:236
void init(const string &n, const string &c, int rb, const string &v)
Definition: IniFile.h:163
IniSection(const IniParser *p, string n)
Definition: IniFile.h:483
int getRewriteBy()
Definition: IniFile.h:516
void initReadBy(const int r)
Definition: IniFile.h:160
IniEntry(const char *u)
Definition: IniFile.h:151
const IniEntry & e() const
Definition: IniFile.h:623
void setPrivate(bool p)
Definition: IniFile.h:523
Wrapper for YCPValueRep This class realizes an automatic memory management via YCPElement. Access the functionality of YCPValueRep with the arrow operator. See YCPValueRep.
Definition: YCPValue.h:275
virtual int setAllDoIt(const YCPMap &in)
Definition: IniFile.h:128
Wrapper for YCPPathRep This class realizes an automatic memory management via YCPElement. Access the functionality of YCPPathRep with the arrow operator. See YCPPathRep.
Definition: YCPPath.h:175
IniEntry()
Definition: IniFile.h:148
void initName(const string &c)
Definition: IniFile.h:74
cmd num Write(.buffer_size_err, num)`Write(.stdin
string name
Definition: IniFile.h:40
void setRewriteBy(int c)
Definition: IniFile.h:515
IniEntry _e
Definition: IniFile.h:617
bool isPrivate() const
Definition: IniFile.h:524
IniBase(int rb)
Definition: IniFile.h:49
Definition: IniFile.h:614
void setReadBy(int r)
Definition: IniFile.h:69
int getReadBy() const
Definition: IniFile.h:59
Definition: IniParser.h:256