summaryrefslogtreecommitdiffstats
path: root/src/World.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-01-21 00:41:34 +0100
committerDavid Robillard <d@drobilla.net>2018-01-21 00:56:50 +0100
commita99b72e4adbc4c28fadc08d29299d99405f72db9 (patch)
treefb21f2cea8f5db1dc187cdbdd01f43e73bbddfff /src/World.cpp
parent329f498d901f9be9c0c820749850f5277a17df5d (diff)
downloadingen-a99b72e4adbc4c28fadc08d29299d99405f72db9.tar.gz
ingen-a99b72e4adbc4c28fadc08d29299d99405f72db9.tar.bz2
ingen-a99b72e4adbc4c28fadc08d29299d99405f72db9.zip
Add FilePath class and remove use of glib path utilities
Diffstat (limited to 'src/World.cpp')
-rw-r--r--src/World.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/World.cpp b/src/World.cpp
index 7834c3df..25e13873 100644
--- a/src/World.cpp
+++ b/src/World.cpp
@@ -17,8 +17,6 @@
#include <map>
#include <string>
-#include <glibmm/fileutils.h>
-#include <glibmm/miscutils.h>
#include <glibmm/module.h>
#include "ingen/Configuration.hpp"
@@ -34,6 +32,7 @@
#include "ingen/URIMap.hpp"
#include "ingen/URIs.hpp"
#include "ingen/World.hpp"
+#include "ingen/filesystem.hpp"
#include "ingen/ingen.h"
#include "ingen/runtime_paths.hpp"
#include "lilv/lilv.h"
@@ -63,14 +62,13 @@ ingen_load_module(Log& log, const string& name)
Glib::Module* module = nullptr;
// Search INGEN_MODULE_PATH first
- bool module_path_found;
- string module_path = Glib::getenv("INGEN_MODULE_PATH", module_path_found);
- if (module_path_found) {
+ const char* const module_path = getenv("INGEN_MODULE_PATH");
+ if (module_path) {
string dir;
std::istringstream iss(module_path);
- while (getline(iss, dir, G_SEARCHPATH_SEPARATOR)) {
- string filename = Ingen::module_path(name, dir);
- if (Glib::file_test(filename, Glib::FILE_TEST_EXISTS)) {
+ while (getline(iss, dir, search_path_separator)) {
+ FilePath filename = Ingen::ingen_module_path(name, FilePath(dir));
+ if (filesystem::exists(filename)) {
module = new Glib::Module(filename);
if (*module) {
return module;
@@ -82,11 +80,11 @@ ingen_load_module(Log& log, const string& name)
}
// Try default directory if not found
- module = new Glib::Module(Ingen::module_path(name));
+ module = new Glib::Module(Ingen::ingen_module_path(name));
if (*module) {
return module;
- } else if (!module_path_found) {
+ } else if (!module_path) {
log.error(fmt("Unable to find %1% (%2%)\n")
% name % Glib::Module::get_last_error());
return nullptr;