aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/Resource.cc
diff options
context:
space:
mode:
authorPavel Labath <pavelo@centrum.sk>2011-06-03 11:40:56 (GMT)
committerPavel Labath <pavelo@centrum.sk>2011-11-01 09:52:46 (GMT)
commite3fabc4cd47ac5479bca421a4d7b79c0c2d9e120 (patch)
tree21dde4695cfdcfeb8eb65d9200ddcda0dab643fc /src/FbTk/Resource.cc
parentf7c7b7ae7281a0f0742a2958d272c2260bcf2b76 (diff)
downloadfluxbox_pavel-e3fabc4cd47ac5479bca421a4d7b79c0c2d9e120.zip
fluxbox_pavel-e3fabc4cd47ac5479bca421a4d7b79c0c2d9e120.tar.bz2
convert ResourceManager::{add,remove}Resource from template to a regular function
Diffstat (limited to 'src/FbTk/Resource.cc')
-rw-r--r--src/FbTk/Resource.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/FbTk/Resource.cc b/src/FbTk/Resource.cc
index 4be85de..85e78da 100644
--- a/src/FbTk/Resource.cc
+++ b/src/FbTk/Resource.cc
@@ -226,4 +226,33 @@ void ResourceManager::unlock() {
226 } 226 }
227} 227}
228 228
229// add the resource and load its value
230void ResourceManager::addResource(Resource_base &r) {
231 m_resourcelist.push_back(&r);
232 m_resourcelist.unique();
233
234 // lock ensures that the database is loaded.
235 lock();
236
237 if (m_database == 0) {
238 unlock();
239 return;
240 }
241
242 XrmValue value;
243 char *value_type;
244
245 // now, load the value for this resource
246 if (XrmGetResource(**m_database, r.name().c_str(),
247 r.altName().c_str(), &value_type, &value)) {
248 r.setFromString(value.addr);
249 } else {
250 std::cerr<<"Failed to read: "<<r.name()<<std::endl;
251 std::cerr<<"Setting default value"<<std::endl;
252 r.setDefaultValue();
253 }
254
255 unlock();
256}
257
229} // end namespace FbTk 258} // end namespace FbTk