2 * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
4 * Contact: Jan Olszak <j.olszak@samsung.com>
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License
21 * @author Jan Olszak (j.olszak@samsung.com)
22 * @brief Declaration of the class for storing container manager configuration
26 #ifndef SERVER_CONTAINERS_MANAGER_CONFIG_HPP
27 #define SERVER_CONTAINERS_MANAGER_CONFIG_HPP
29 #include "config/fields.hpp"
30 #include "input-monitor-config.hpp"
31 #include "proxy-call-config.hpp"
37 namespace security_containers {
40 const std::string CONTAINERS_MANAGER_CONFIG_PATH = "/etc/security-containers/config/daemon.conf";
42 struct ContainersManagerConfig {
45 * List of containers' configs that we manage.
46 * File paths can be relative to the ContainerManager config file.
48 std::vector<std::string> containerConfigs;
51 * An ID of a currently focused/foreground container.
53 std::string foregroundId;
56 * An ID of default container.
58 std::string defaultId;
61 * A path where the containers mount points reside.
63 std::string containersPath;
66 * A path where the containers image reside. Empty path means that containers image won't be
67 * copied to containersPath when creating new container.
69 std::string containerImagePath;
72 * A path where template configuration files for new containers reside
74 std::string containerTemplatePath;
77 * Prefix added to a path for new container configuration files
79 std::string containerNewConfigPrefix;
82 * Parameters describing input device used to switch between containers
84 InputConfig inputConfig;
87 * Prefix added to a path of "run" tmpfs mount point for each container.
89 std::string runMountPointPrefix;
94 std::vector<ProxyCallRule> proxyCallRules;
103 containerTemplatePath,
104 containerNewConfigPrefix,
112 } // namespace security_containers
115 #endif // SERVER_CONTAINERS_MANAGER_CONFIG_HPP