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 #ifndef TAG_INFO_PARCELABLE_H 16 #define TAG_INFO_PARCELABLE_H 17 #include "pac_map.h" 18 #include "parcel.h" 19 20 namespace OHOS { 21 namespace NFC { 22 namespace KITS { 23 class TagInfoParcelable : public Parcelable { 24 public: 25 TagInfoParcelable(std::vector<int> tagTechList, 26 std::vector<AppExecFwk::PacMap> tagTechExtrasData, 27 std::string &tagUid, 28 int tagRfDiscId, 29 OHOS::sptr<IRemoteObject> tagServiceIface); 30 ~TagInfoParcelable(); 31 32 bool Marshalling(Parcel &parcel) const override; 33 static TagInfoParcelable *Unmarshalling(Parcel &parcel); 34 std::string ToString(); 35 std::string GetUid(); 36 std::vector<int> GetTechList(); 37 int GetDiscId(); 38 std::vector<AppExecFwk::PacMap> GetTechExtrasDataList(); 39 40 private: 41 int tagRfDiscId_; 42 std::string tagUid_; 43 std::vector<int> tagTechList_; 44 std::vector<AppExecFwk::PacMap> tagTechExtrasData_; 45 OHOS::sptr<IRemoteObject> tagServiceIface_; 46 }; 47 } // namespace KITS 48 } // namespace NFC 49 } // namespace OHOS 50 #endif // TAG_INFO_PARCELABLE_H 51