*
**************************************************************************/
-#include "../config.h"
-
-#include <queue>
+#include "config.h"
#ifdef USE_HOTLOADING
#include <sys/inotify.h>
#include <sys/ioctl.h>
#endif
+#include <queue>
+
#include <boost/algorithm/string.hpp>
#include <boost/weak_ptr.hpp>
-
#include <stlplus/portability/file_system.hpp>
#include "hash.hh"
{
std::string extension = stlplus::extension_part(path);
- if (!find(path)) return resource_ptr();
+ if (!find(path))
+ {
+ log_error("trying to load missing resource:", path);
+ return resource_ptr();
+ }
hash<std::string,resource_weakptr,hash_function>::iterator it;
it = resource_table_.find(path);
resource_table_[path] = rsrc;
#ifdef USE_HOTLOADING
- int wd = inotify_add_watch(monitor_fd_,
- path.c_str(), IN_MODIFY);
+ int wd = inotify_add_watch(monitor_fd_, path.c_str(), IN_MODIFY);
rsrc->set_watch_descriptor(wd);
monitor_lookup_[wd] = path;
#endif
unloader_ = resource->unloader_;
#ifdef USE_HOTLOADING
- int wd = inotify_add_watch(monitor_fd_,
- path_.c_str(), IN_MODIFY);
+ int wd = inotify_add_watch(monitor_fd_, path_.c_str(), IN_MODIFY);
set_watch_descriptor(wd);
monitor_lookup_[wd] = path_;
#endif
bool resource::find(const std::string& path)
{
+ std::string file = stlplus::lookup(path, search_paths_, ":");
+ log_info("found file", file, "in", search_paths_);
return !stlplus::lookup(path, search_paths_, ":").empty();
}
+std::string resource::find_file(const std::string& name)
+{
+ log_info("looking for", name, "in", search_paths_);
+ return stlplus::lookup(name, search_paths_, ":");
+}
+
FILE* resource::open_file(const std::string& path, const std::string& mode)
{
std::string file = stlplus::lookup(path, search_paths_, ":");