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
This commit is contained in:
Tim Mayberry 2007-06-27 12:12:22 +00:00
parent b82ecabcbf
commit fca7e674c1
3 changed files with 98 additions and 0 deletions

View file

@ -28,6 +28,7 @@ enumwriter.cc
dmalloc.cc
error.cc
filesystem.cc
filesystem_paths.cc
file_utils.cc
fpu.cc
id.cc

View file

@ -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

View file

@ -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