Merge branch 'ckm' into tizen
[platform/core/test/security-tests.git] / src / common / label_generator.cpp
1 /*
2  * Copyright (c) 2017-2019 Samsung Electronics Co., Ltd All Rights Reserved
3  *
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
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 #include <label_generator.h>
18
19 // Common implementation details
20 std::string generateProcessLabel(const std::string &appId, const std::string &pkgId, bool isHybrid)
21 {
22     std::string label = "User::Pkg::" + pkgId;
23     if (isHybrid) {
24         label += "::App::" + appId;
25     }
26     return label;
27 }
28
29 std::string generatePathRWLabel(const std::string &pkgId)
30 {
31     return "User::Pkg::" + pkgId;
32 }
33
34 std::string generatePathROLabel(const std::string &pkgId)
35 {
36     return generatePathRWLabel(pkgId) + "::RO";
37 }
38
39 std::string generatePathTrustedLabel(int64_t authorId)
40 {
41     return "User::Author::" + std::to_string(authorId);
42 }
43
44 std::string getPublicPathLabel()
45 {
46     return "User::Home";
47 }
48
49 std::string getSharedROPathLabel()
50 {
51     return "User::App::Shared";
52 }