diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2007-06-27 12:12:22 +0000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2007-06-27 12:12:22 +0000 |
commit | fca7e674c15f83d762882e16ef67943e7e692ae3 (patch) | |
tree | 50fe0f03469e4fbaf3c6f99edc46383f11d2e2f1 /libs/pbd | |
parent | b82ecabcbfa9b007db13b63a28a341cfd405655f (diff) |
Add PBD::system_data_directories and PBD::system_config_directories
These two functions are for convenience and wrap the glib functions
g_get_system_data_dirs and g_get_system_config_dirs.
git-svn-id: svn://localhost/ardour2/trunk@2051 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd')
-rw-r--r-- | libs/pbd/SConscript | 1 | ||||
-rw-r--r-- | libs/pbd/filesystem_paths.cc | 61 | ||||
-rw-r--r-- | libs/pbd/pbd/filesystem_paths.h | 36 |
3 files changed, 98 insertions, 0 deletions
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 <glib.h> + +#include <pbd/filesystem_paths.h> + +namespace PBD { + +vector<sys::path> +system_data_directories () +{ + vector<sys::path> 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<sys::path> +system_config_directories () +{ + vector<sys::path> 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 <vector> + +#include <pbd/filesystem.h> + +namespace PBD { + + using std::vector; + + vector<sys::path> system_data_directories (); + + vector<sys::path> system_config_directories (); + +} // namespace PBD + +#endif |