directory.h
1/*
2** ClanLib SDK
3** Copyright (c) 1997-2020 The ClanLib Team
4**
5** This software is provided 'as-is', without any express or implied
6** warranty. In no event will the authors be held liable for any damages
7** arising from the use of this software.
8**
9** Permission is granted to anyone to use this software for any purpose,
10** including commercial applications, and to alter it and redistribute it
11** freely, subject to the following restrictions:
12**
13** 1. The origin of this software must not be misrepresented; you must not
14** claim that you wrote the original software. If you use this software
15** in a product, an acknowledgment in the product documentation would be
16** appreciated but is not required.
17** 2. Altered source versions must be plainly marked as such, and must not be
18** misrepresented as being the original software.
19** 3. This notice may not be removed or altered from any source distribution.
20**
21** Note: Some of the libraries ClanLib may link to may have additional
22** requirements or restrictions.
23**
24** File Author(s):
25**
26** Magnus Norddahl
27*/
28
29#pragma once
30
31namespace clan
32{
35
38 {
39 public:
45 static bool create(const std::string &dir_name, bool recursive = false);
46
53 static bool remove(const std::string &dir_name, bool delete_files = false, bool delete_sub_directories = false);
54
60 static bool rename(const std::string &old_name, const std::string &new_name);
61
66 static bool set_current(const std::string &dir_name);
67
71 static std::string get_current();
72
87 static std::string get_appdata(const std::string &company_name, const std::string &application_name, const std::string &version, bool create_dirs_if_missing = true);
88
103 static std::string get_local_appdata(const std::string &company_name, const std::string &application_name, const std::string &version, bool create_dirs_if_missing = true);
104
124 static std::string get_resourcedata(const std::string &application_name, const std::string &data_dir_name = "Resources");
125 };
126
128}
Directory utility class.
Definition directory.h:38
static std::string get_current()
Get current directory.
static bool create(const std::string &dir_name, bool recursive=false)
Create directory.
static bool remove(const std::string &dir_name, bool delete_files=false, bool delete_sub_directories=false)
Remove directory.
static std::string get_local_appdata(const std::string &company_name, const std::string &application_name, const std::string &version, bool create_dirs_if_missing=true)
Returns the current user's local (nonroaming) application data directory.
static std::string get_appdata(const std::string &company_name, const std::string &application_name, const std::string &version, bool create_dirs_if_missing=true)
Returns the current user's roaming application data directory.
static bool set_current(const std::string &dir_name)
Change current directory.
static std::string get_resourcedata(const std::string &application_name, const std::string &data_dir_name="Resources")
Returns the application resource data directory.
static bool rename(const std::string &old_name, const std::string &new_name)
Rename directory.
Definition clanapp.h:36