diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-10-09 16:32:50 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-10-09 22:33:20 (GMT) |
commit | dc951ebf7e4ab6fce39f16687be1e93f8140b71f (patch) | |
tree | 4eee56d72b8773049522fbaff8d9fb1ee0a5c978 /SwifTools/Application/ApplicationPathProvider.h | |
parent | 64ab77e910579bce3fe99b107a82753a7f32d77c (diff) | |
download | swift-contrib-dc951ebf7e4ab6fce39f16687be1e93f8140b71f.zip swift-contrib-dc951ebf7e4ab6fce39f16687be1e93f8140b71f.tar.bz2 |
Moved Application from Swiften into SwifTools.
Diffstat (limited to 'SwifTools/Application/ApplicationPathProvider.h')
-rw-r--r-- | SwifTools/Application/ApplicationPathProvider.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/SwifTools/Application/ApplicationPathProvider.h b/SwifTools/Application/ApplicationPathProvider.h new file mode 100644 index 0000000..7bd2630 --- /dev/null +++ b/SwifTools/Application/ApplicationPathProvider.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <boost/filesystem.hpp> +#include <vector> + +#include "Swiften/Base/String.h" + +namespace Swift { + class ApplicationPathProvider { + public: + ApplicationPathProvider(const String& applicationName); + virtual ~ApplicationPathProvider(); + + boost::filesystem::path getAvatarDir() const; + virtual boost::filesystem::path getHomeDir() const = 0; + virtual boost::filesystem::path getDataDir() const = 0; + virtual boost::filesystem::path getExecutableDir() const = 0; + boost::filesystem::path getProfileDir(const String& profile) const; + boost::filesystem::path getResourcePath(const String& resource) const; + + protected: + virtual std::vector<boost::filesystem::path> getResourceDirs() const = 0; + const String& getApplicationName() const { + return applicationName; + } + + private: + String applicationName; + }; +} |