diff --git a/libs/pbd/SConscript b/libs/pbd/SConscript index bb1f56e6c7..55c8018c4b 100644 --- a/libs/pbd/SConscript +++ b/libs/pbd/SConscript @@ -28,6 +28,7 @@ enumwriter.cc dmalloc.cc error.cc filesystem.cc +filesystem_paths.cc file_utils.cc fpu.cc id.cc diff --git a/libs/pbd/filesystem_paths.cc b/libs/pbd/filesystem_paths.cc new file mode 100644 index 0000000000..6846cb5aa5 --- /dev/null +++ b/libs/pbd/filesystem_paths.cc @@ -0,0 +1,61 @@ +/* + Copyright (C) 2007 Tim Mayberry + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include + +#include + +namespace PBD { + +vector +system_data_directories () +{ + vector tmp; + const char * const * dirs; + + dirs = g_get_system_data_dirs (); + + if (dirs == NULL) return tmp; + + for (int i = 0; dirs[i] != NULL; ++i) + { + tmp.push_back(dirs[i]); + } + + return tmp; +} + +vector +system_config_directories () +{ + vector tmp; + const char * const * dirs; + + dirs = g_get_system_config_dirs (); + + if (dirs == NULL) return tmp; + + for (int i = 0; dirs[i] != NULL; ++i) + { + tmp.push_back(dirs[i]); + } + + return tmp; +} + +} // namespace PBD diff --git a/libs/pbd/pbd/filesystem_paths.h b/libs/pbd/pbd/filesystem_paths.h new file mode 100644 index 0000000000..4e09c6ec4b --- /dev/null +++ b/libs/pbd/pbd/filesystem_paths.h @@ -0,0 +1,36 @@ +/* + Copyright (C) 2007 Tim Mayberry + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef PBD_FILESYSTEM_PATHS_INCLUDED +#define PBD_FILESYSTEM_PATHS_INCLUDED + +#include + +#include + +namespace PBD { + + using std::vector; + + vector system_data_directories (); + + vector system_config_directories (); + +} // namespace PBD + +#endif