1 /*
2 * Copyright (c) 2024-2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "get_display_version_query.h"
17
18 #include "edm_log.h"
19 #include "parameter.h"
20
21 namespace OHOS {
22 namespace EDM {
GetApiType()23 IPlugin::ApiType GetDisplayVersionQuery::GetApiType()
24 {
25 return IPlugin::ApiType::SYSTEM;
26 }
27
GetPolicyName()28 std::string GetDisplayVersionQuery::GetPolicyName()
29 {
30 return PolicyName::POLICY_GET_DISPLAY_VERSION;
31 }
32
GetPermission(IPlugin::PermissionType,const std::string & permissionTag)33 std::string GetDisplayVersionQuery::GetPermission(IPlugin::PermissionType, const std::string &permissionTag)
34 {
35 return EdmPermission::PERMISSION_ENTERPRISE_GET_DEVICE_INFO;
36 }
37
QueryPolicy(std::string & policyData,MessageParcel & data,MessageParcel & reply,int32_t userId)38 ErrCode GetDisplayVersionQuery::QueryPolicy(std::string &policyData, MessageParcel &data, MessageParcel &reply,
39 int32_t userId)
40 {
41 EDMLOGI("GetDisplayVersionQuery QueryPolicy.");
42 const char *versionPtr = GetDisplayVersion();
43 if (versionPtr == nullptr) {
44 EDMLOGE("GetDisplayVersionQuery QueryPolicy Failed. GetDisplayVersion is nullptr.");
45 return EdmReturnErrCode::SYSTEM_ABNORMALLY;
46 }
47 std::string version = versionPtr;
48 reply.WriteInt32(ERR_OK);
49 reply.WriteString(version);
50 return ERR_OK;
51 }
52 } // namespace EDM
53 } // namespace OHOS