1 /* 2 * Copyright (c) 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 #ifndef OHOS_ABILITY_RUNTIME_WANT_UTILS_H 17 #define OHOS_ABILITY_RUNTIME_WANT_UTILS_H 18 19 #include "want.h" 20 21 #ifdef APP_DOMAIN_VERIFY_ENABLED 22 #include "ag_convert_callback_impl.h" 23 #include "app_domain_verify_mgr_client.h" 24 #endif 25 26 namespace OHOS { 27 namespace AAFwk { 28 /** 29 * @class WantUtils 30 * provides want utilities. 31 */ 32 class WantUtils final { 33 public: 34 /** 35 * ConvertToExplicitWant, convert implicit want and targetType to explicit. 36 * 37 * @param want The implicit want will be updated by AG. 38 * @param targetType The targetType will be updated to specific type by AG. 39 * @return Error code of calling the function. 40 */ 41 static int32_t ConvertToExplicitWant(Want &want, uint32_t &targetType); 42 43 /** 44 * GetCallerBundleName, get caller bundle name. 45 * 46 * @param callerBundleName The caller bundle name. 47 * @return Error code of calling the function. 48 */ 49 static int32_t GetCallerBundleName(std::string &callerBundleName); 50 51 /** 52 * IsShortUrl, check if the want url is short url. 53 * 54 * @param want The implicit want. 55 * @return Flag if the want url is short url. 56 */ 57 static bool IsShortUrl(const Want &want); 58 59 /** 60 * IsAtomicService, check if the targetType is AtomicService. 61 * 62 * @param targetType targetType to be judged. 63 * @return Flag if the targetType is AtomicService. 64 */ 65 static bool IsAtomicService(uint32_t targetType); 66 67 /** 68 * IsNormalApp, check if the targetType is App. 69 * 70 * @param targetType targetType to be judged. 71 * @return Flag if the targetType is App. 72 */ 73 static bool IsNormalApp(uint32_t targetType); 74 }; 75 } // namespace AAFwk 76 } // namespace OHOS 77 #endif // OHOS_ABILITY_RUNTIME_WANT_UTILS_H 78