@@ -52,7 +52,7 @@ class Collection {
5252 virtual void del (const std::string& key) = 0;
5353
5454 virtual std::unique_ptr<std::string> resolveFirst (
55- const std::string& var) = 0;
55+ const std::string& var) = 0;
5656
5757 virtual void resolveSingleMatch (const std::string& var,
5858 std::vector<const Variable *> *l) = 0;
@@ -62,52 +62,129 @@ class Collection {
6262 std::vector<const Variable *> *l) = 0;
6363
6464
65+ /* store */
6566 virtual void store (std::string key, std::string compartment,
6667 std::string value) {
6768 std::string nkey = compartment + " ::" + key;
6869 store (nkey, value);
6970 }
7071
72+
73+ virtual void store (std::string key, std::string compartment,
74+ std::string compartment2, std::string value) {
75+ std::string nkey = compartment + " ::" + compartment2 + " ::" + key;
76+ store (nkey, value);
77+ }
78+
79+
80+ /* storeOrUpdateFirst */
7181 virtual bool storeOrUpdateFirst (const std::string &key,
7282 std::string compartment, const std::string &value) {
7383 std::string nkey = compartment + " ::" + key;
7484 return storeOrUpdateFirst (nkey, value);
7585 }
7686
87+
88+ virtual bool storeOrUpdateFirst (const std::string &key,
89+ std::string compartment, std::string compartment2,
90+ const std::string &value) {
91+ std::string nkey = compartment + " ::" + compartment2 + " ::" + key;
92+ return storeOrUpdateFirst (nkey, value);
93+ }
94+
95+
96+ /* updateFirst */
7797 virtual bool updateFirst (const std::string &key, std::string compartment,
7898 const std::string &value) {
7999 std::string nkey = compartment + " ::" + key;
80100 return updateFirst (nkey, value);
81101 }
82102
103+
104+ virtual bool updateFirst (const std::string &key, std::string compartment,
105+ std::string compartment2, const std::string &value) {
106+ std::string nkey = compartment + " ::" + compartment2 + " ::" + key;
107+ return updateFirst (nkey, value);
108+ }
109+
110+
111+ /* del */
83112 virtual void del (const std::string& key, std::string compartment) {
84113 std::string nkey = compartment + " ::" + key;
85114 del (nkey);
86115 }
87116
117+
118+ virtual void del (const std::string& key, std::string compartment,
119+ std::string compartment2) {
120+ std::string nkey = compartment + " ::" + compartment2 + " ::" + key;
121+ del (nkey);
122+ }
123+
124+
125+ /* resolveFirst */
88126 virtual std::unique_ptr<std::string> resolveFirst (const std::string& var,
89127 std::string compartment) {
90128 std::string nkey = compartment + " ::" + var;
91129 return resolveFirst (nkey);
92130 }
93131
132+
133+ virtual std::unique_ptr<std::string> resolveFirst (const std::string& var,
134+ std::string compartment, std::string compartment2) {
135+ std::string nkey = compartment + " ::" + compartment2 + " ::" + var;
136+ return resolveFirst (nkey);
137+ }
138+
139+
140+ /* resolveSingleMatch */
94141 virtual void resolveSingleMatch (const std::string& var,
95142 std::string compartment, std::vector<const Variable *> *l) {
96143 std::string nkey = compartment + " ::" + var;
97144 resolveSingleMatch (nkey, l);
98145 }
99146
147+
148+ virtual void resolveSingleMatch (const std::string& var,
149+ std::string compartment, std::string compartment2,
150+ std::vector<const Variable *> *l) {
151+ std::string nkey = compartment + " ::" + compartment2 + " ::" + var;
152+ resolveSingleMatch (nkey, l);
153+ }
154+
155+
156+ /* resolveMultiMatches */
100157 virtual void resolveMultiMatches (const std::string& var,
101158 std::string compartment, std::vector<const Variable *> *l) {
102159 std::string nkey = compartment + " ::" + var;
103160 resolveMultiMatches (nkey, l);
104161 }
105162
163+
164+ virtual void resolveMultiMatches (const std::string& var,
165+ std::string compartment, std::string compartment2,
166+ std::vector<const Variable *> *l) {
167+ std::string nkey = compartment + " ::" + compartment2 + " ::" + var;
168+ resolveMultiMatches (nkey, l);
169+ }
170+
171+
172+ /* resolveRegularExpression */
106173 virtual void resolveRegularExpression (const std::string& var,
107174 std::string compartment, std::vector<const Variable *> *l) {
108175 std::string nkey = compartment + " ::" + var;
109176 resolveRegularExpression (nkey, l);
110177 }
178+
179+
180+ virtual void resolveRegularExpression (const std::string& var,
181+ std::string compartment, std::string compartment2,
182+ std::vector<const Variable *> *l) {
183+ std::string nkey = compartment + " ::" + compartment2 + " ::" + var;
184+ resolveRegularExpression (nkey, l);
185+ }
186+
187+ std::string m_name;
111188};
112189
113190} // namespace collection
0 commit comments