1 /* 2 * Copyright (C) 2025 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 #ifndef APN_ACTIVATE_REPORT_INFO_H 16 #define APN_ACTIVATE_REPORT_INFO_H 17 18 #include "parcel.h" 19 #include "apn_item.h" 20 namespace OHOS { 21 namespace Telephony { 22 struct ApnActivateReportInfoIpc : public Parcelable { 23 uint32_t actTimes; 24 uint32_t averDuration; 25 uint32_t topReason; 26 uint32_t actSuccTimes; 27 ApnActivateReportInfoIpcApnActivateReportInfoIpc28 ApnActivateReportInfoIpc() 29 { 30 actTimes = 0; 31 averDuration = 0; 32 topReason = 0; 33 actSuccTimes = 0; 34 } 35 ApnActivateReportInfoIpcApnActivateReportInfoIpc36 ApnActivateReportInfoIpc(const ApnActivateReportInfo& obj) 37 { 38 actTimes = obj.actTimes; 39 averDuration = obj.averDuration; 40 topReason = obj.topReason; 41 actSuccTimes = obj.actSuccTimes; 42 } 43 44 static void transferToReportInfo(ApnActivateReportInfoIpc infoIpc, ApnActivateReportInfo &info); 45 46 bool Marshalling(Parcel &parcel) const override; 47 static ApnActivateReportInfoIpc* Unmarshalling(Parcel &parcel); 48 }; 49 } 50 } 51 #endif //APN_ACTIVATE_REPORT_INFO_H 52