diff options
author | Pavel Labath <pavelo@centrum.sk> | 2011-06-03 11:40:56 (GMT) |
---|---|---|
committer | Pavel Labath <pavelo@centrum.sk> | 2011-11-01 09:52:46 (GMT) |
commit | e3fabc4cd47ac5479bca421a4d7b79c0c2d9e120 (patch) | |
tree | 21dde4695cfdcfeb8eb65d9200ddcda0dab643fc /src/FbTk/Resource.cc | |
parent | f7c7b7ae7281a0f0742a2958d272c2260bcf2b76 (diff) | |
download | fluxbox_paul-e3fabc4cd47ac5479bca421a4d7b79c0c2d9e120.zip fluxbox_paul-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.cc | 29 |
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 | ||
230 | void 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 |