2 * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef AUL_APP_INFO_DIRECTORY_INFO_HH
19 #define AUL_APP_INFO_DIRECTORY_INFO_HH
27 static DirectoryInfo* Get(const std::string app_id, uid_t uid);
28 static DirectoryInfo* Get();
30 const std::string& GetRootPath() const;
31 const std::string& GetDataPath() const;
32 const std::string& GetCachePath() const;
33 const std::string& GetResourcePath() const;
34 const std::string& GetTepResourcePath() const;
35 const std::string& GetSharedDataPath() const;
36 const std::string& GetSharedResourcePath() const;
37 const std::string& GetSharedTrustedPath() const;
42 Builder& SetRootPath(std::string root_path);
43 Builder& SetDataPath(std::string data_path);
44 Builder& SetCachePath(std::string cache_path);
45 Builder& SetResourcePath(std::string resource_path);
46 Builder& SetTepResourcePath(std::string tep_resource_path);
47 Builder& SetSharedDataPath(std::string shared_data_path);
48 Builder& SetSharedResourcePath(std::string shared_resource_path);
49 Builder& SetSharedTrustedPath(std::string shared_trusted_path);
51 operator DirectoryInfo*();
54 std::string root_path_;
56 std::string data_path_;
57 std::string cache_path_;
58 std::string resource_path_;
59 std::string tep_resource_path_;
60 std::string shared_data_path_;
61 std::string shared_resource_path_;
62 std::string shared_trusted_path_;
65 DirectoryInfo(std::string root_path,
66 std::string data_path,
67 std::string cache_path,
68 std::string resource_path,
69 std::string tep_resource_path,
70 std::string shared_data_path,
71 std::string shared_resource_path,
72 std::string shared_trusted_path);
75 std::string root_path_;
76 std::string data_path_;
77 std::string cache_path_;
78 std::string resource_path_;
79 std::string tep_resource_path_;
80 std::string shared_data_path_;
81 std::string shared_resource_path_;
82 std::string shared_trusted_path_;
87 #endif // AUL_APP_INFO_DIRECTORY_INFO_HH