1e5d0e473Sopenharmony_ci/* 2e5d0e473Sopenharmony_ci * Copyright (C) 2023 Huawei Device Co., Ltd. 3e5d0e473Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e5d0e473Sopenharmony_ci * you may not use this file except in compliance with the License. 5e5d0e473Sopenharmony_ci * You may obtain a copy of the License at 6e5d0e473Sopenharmony_ci * 7e5d0e473Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e5d0e473Sopenharmony_ci * 9e5d0e473Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e5d0e473Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e5d0e473Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e5d0e473Sopenharmony_ci * See the License for the specific language governing permissions and 13e5d0e473Sopenharmony_ci * limitations under the License. 14e5d0e473Sopenharmony_ci */ 15e5d0e473Sopenharmony_ci 16e5d0e473Sopenharmony_ci#ifndef ACCESS_MMS_TOKEN_H 17e5d0e473Sopenharmony_ci#define ACCESS_MMS_TOKEN_H 18e5d0e473Sopenharmony_ci 19e5d0e473Sopenharmony_ci#include "accesstoken_kit.h" 20e5d0e473Sopenharmony_ci#include "token_setproc.h" 21e5d0e473Sopenharmony_ci 22e5d0e473Sopenharmony_cinamespace OHOS { 23e5d0e473Sopenharmony_cinamespace Telephony { 24e5d0e473Sopenharmony_ciusing namespace Security::AccessToken; 25e5d0e473Sopenharmony_ciusing Security::AccessToken::AccessTokenID; 26e5d0e473Sopenharmony_ci 27e5d0e473Sopenharmony_ciclass AccessMmsToken { 28e5d0e473Sopenharmony_ci HapInfoParams testMmsInfoParams = { 29e5d0e473Sopenharmony_ci .userID = 1, 30e5d0e473Sopenharmony_ci .bundleName = "tel_sms_mms_test", 31e5d0e473Sopenharmony_ci .instIndex = 0, 32e5d0e473Sopenharmony_ci .appIDDesc = "test", 33e5d0e473Sopenharmony_ci .isSystemApp = true, 34e5d0e473Sopenharmony_ci }; 35e5d0e473Sopenharmony_ci PermissionDef testPermReceiveSmsDef = { 36e5d0e473Sopenharmony_ci .permissionName = "ohos.permission.RECEIVE_SMS", 37e5d0e473Sopenharmony_ci .bundleName = "tel_sms_mms_test", 38e5d0e473Sopenharmony_ci .grantMode = 1, // SYSTEM_GRANT 39e5d0e473Sopenharmony_ci .availableLevel = APL_SYSTEM_BASIC, 40e5d0e473Sopenharmony_ci .label = "label", 41e5d0e473Sopenharmony_ci .labelId = 1, 42e5d0e473Sopenharmony_ci .description = "Test sms manager", 43e5d0e473Sopenharmony_ci .descriptionId = 1, 44e5d0e473Sopenharmony_ci }; 45e5d0e473Sopenharmony_ci PermissionStateFull testReceiveSmsState = { 46e5d0e473Sopenharmony_ci .permissionName = "ohos.permission.RECEIVE_SMS", 47e5d0e473Sopenharmony_ci .isGeneral = true, 48e5d0e473Sopenharmony_ci .resDeviceID = { "local" }, 49e5d0e473Sopenharmony_ci .grantStatus = { PermissionState::PERMISSION_GRANTED }, 50e5d0e473Sopenharmony_ci .grantFlags = { 2 }, // PERMISSION_USER_SET 51e5d0e473Sopenharmony_ci }; 52e5d0e473Sopenharmony_ci PermissionDef testPermSendSmsDef = { 53e5d0e473Sopenharmony_ci .permissionName = "ohos.permission.SEND_MESSAGES", 54e5d0e473Sopenharmony_ci .bundleName = "tel_sms_mms_test", 55e5d0e473Sopenharmony_ci .grantMode = 1, // SYSTEM_GRANT 56e5d0e473Sopenharmony_ci .availableLevel = APL_SYSTEM_BASIC, 57e5d0e473Sopenharmony_ci .label = "label", 58e5d0e473Sopenharmony_ci .labelId = 1, 59e5d0e473Sopenharmony_ci .description = "Test sms manager", 60e5d0e473Sopenharmony_ci .descriptionId = 1, 61e5d0e473Sopenharmony_ci }; 62e5d0e473Sopenharmony_ci PermissionStateFull testSendSmsState = { 63e5d0e473Sopenharmony_ci .permissionName = "ohos.permission.SEND_MESSAGES", 64e5d0e473Sopenharmony_ci .isGeneral = true, 65e5d0e473Sopenharmony_ci .resDeviceID = { "local" }, 66e5d0e473Sopenharmony_ci .grantStatus = { PermissionState::PERMISSION_GRANTED }, 67e5d0e473Sopenharmony_ci .grantFlags = { 2 }, // PERMISSION_USER_SET 68e5d0e473Sopenharmony_ci }; 69e5d0e473Sopenharmony_ci PermissionDef testPermSetTelephonyDef = { 70e5d0e473Sopenharmony_ci .permissionName = "ohos.permission.SET_TELEPHONY_STATE", 71e5d0e473Sopenharmony_ci .bundleName = "tel_sms_mms_test", 72e5d0e473Sopenharmony_ci .grantMode = 1, // SYSTEM_GRANT 73e5d0e473Sopenharmony_ci .availableLevel = APL_SYSTEM_BASIC, 74e5d0e473Sopenharmony_ci .label = "label", 75e5d0e473Sopenharmony_ci .labelId = 1, 76e5d0e473Sopenharmony_ci .description = "Test sms manager", 77e5d0e473Sopenharmony_ci .descriptionId = 1, 78e5d0e473Sopenharmony_ci }; 79e5d0e473Sopenharmony_ci PermissionStateFull testSetTelephonyState = { 80e5d0e473Sopenharmony_ci .permissionName = "ohos.permission.SET_TELEPHONY_STATE", 81e5d0e473Sopenharmony_ci .isGeneral = true, 82e5d0e473Sopenharmony_ci .resDeviceID = { "local" }, 83e5d0e473Sopenharmony_ci .grantStatus = { PermissionState::PERMISSION_GRANTED }, 84e5d0e473Sopenharmony_ci .grantFlags = { 2 }, // PERMISSION_USER_SET 85e5d0e473Sopenharmony_ci }; 86e5d0e473Sopenharmony_ci 87e5d0e473Sopenharmony_ci PermissionDef testPermGetTelephonyDef = { 88e5d0e473Sopenharmony_ci .permissionName = "ohos.permission.GET_TELEPHONY_STATE", 89e5d0e473Sopenharmony_ci .bundleName = "tel_sms_mms_test", 90e5d0e473Sopenharmony_ci .grantMode = 1, // SYSTEM_GRANT 91e5d0e473Sopenharmony_ci .availableLevel = APL_SYSTEM_BASIC, 92e5d0e473Sopenharmony_ci .label = "label", 93e5d0e473Sopenharmony_ci .labelId = 1, 94e5d0e473Sopenharmony_ci .description = "Test sms manager", 95e5d0e473Sopenharmony_ci .descriptionId = 1, 96e5d0e473Sopenharmony_ci }; 97e5d0e473Sopenharmony_ci PermissionStateFull testGetTelephonyState = { 98e5d0e473Sopenharmony_ci .permissionName = "ohos.permission.GET_TELEPHONY_STATE", 99e5d0e473Sopenharmony_ci .isGeneral = true, 100e5d0e473Sopenharmony_ci .resDeviceID = { "local" }, 101e5d0e473Sopenharmony_ci .grantStatus = { PermissionState::PERMISSION_GRANTED }, 102e5d0e473Sopenharmony_ci .grantFlags = { 2 }, // PERMISSION_USER_SET 103e5d0e473Sopenharmony_ci }; 104e5d0e473Sopenharmony_ci HapPolicyParams testMmsPolicyParams = { 105e5d0e473Sopenharmony_ci .apl = APL_SYSTEM_BASIC, 106e5d0e473Sopenharmony_ci .domain = "test.domain", 107e5d0e473Sopenharmony_ci .permList = { testPermReceiveSmsDef, testPermSendSmsDef, testPermSetTelephonyDef, testPermGetTelephonyDef }, 108e5d0e473Sopenharmony_ci .permStateList = { testReceiveSmsState, testSendSmsState, testSetTelephonyState, testGetTelephonyState }, 109e5d0e473Sopenharmony_ci }; 110e5d0e473Sopenharmony_ci 111e5d0e473Sopenharmony_cipublic: 112e5d0e473Sopenharmony_ci AccessMmsToken() 113e5d0e473Sopenharmony_ci { 114e5d0e473Sopenharmony_ci currentID_ = GetSelfTokenID(); 115e5d0e473Sopenharmony_ci AccessTokenIDEx tokenIdEx = AccessTokenKit::AllocHapToken(testMmsInfoParams, testMmsPolicyParams); 116e5d0e473Sopenharmony_ci accessID_ = tokenIdEx.tokenIdExStruct.tokenID; 117e5d0e473Sopenharmony_ci SetSelfTokenID(tokenIdEx.tokenIDEx); 118e5d0e473Sopenharmony_ci } 119e5d0e473Sopenharmony_ci ~AccessMmsToken() 120e5d0e473Sopenharmony_ci { 121e5d0e473Sopenharmony_ci AccessTokenKit::DeleteToken(accessID_); 122e5d0e473Sopenharmony_ci SetSelfTokenID(currentID_); 123e5d0e473Sopenharmony_ci } 124e5d0e473Sopenharmony_ci 125e5d0e473Sopenharmony_ciprivate: 126e5d0e473Sopenharmony_ci AccessTokenID currentID_ = 0; 127e5d0e473Sopenharmony_ci AccessTokenID accessID_ = 0; 128e5d0e473Sopenharmony_ci}; 129e5d0e473Sopenharmony_ci} // namespace Telephony 130e5d0e473Sopenharmony_ci} // namespace OHOS 131e5d0e473Sopenharmony_ci#endif