1 /* 2 * Copyright (c) 2023 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 "ability_manager_client_c.h" 17 18 #include "ability_manager_client.h" 19 #include "ability_state.h" 20 #include "exit_reason.h" 21 RecordAppExitReason(int exitReason,const char * exitMsg)22int RecordAppExitReason(int exitReason, const char *exitMsg) 23 { 24 if (exitReason < static_cast<int>(OHOS::AAFwk::Reason::REASON_MIN) || 25 exitReason > static_cast<int>(OHOS::AAFwk::Reason::REASON_MAX)) { 26 return -1; 27 } 28 29 OHOS::AAFwk::Reason reason = static_cast<OHOS::AAFwk::Reason>(exitReason); 30 std::string exitMsgStr(exitMsg); 31 OHOS::AAFwk::ExitReason exitReasonData = { reason, exitMsgStr }; 32 33 auto instance = OHOS::AAFwk::AbilityManagerClient::GetInstance(); 34 return instance->RecordAppExitReason(exitReasonData); 35 } 36