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 #include "batch_remove_box.h"
17
18 namespace OHOS {
19 namespace Notification {
20
BatchRemoveNotificationBox()21 BatchRemoveNotificationBox::BatchRemoveNotificationBox()
22 {
23 if (box_ == nullptr) {
24 return;
25 }
26 box_->SetMessageType(REMOVE_ALL_NOTIFICATIONS);
27 }
28
~BatchRemoveNotificationBox()29 BatchRemoveNotificationBox::~BatchRemoveNotificationBox()
30 {}
31
BatchRemoveNotificationBox(std::shared_ptr<TlvBox> box)32 BatchRemoveNotificationBox::BatchRemoveNotificationBox(std::shared_ptr<TlvBox> box) : BoxBase(box)
33 {}
34
SetNotificationHashCodes(const std::string & hashCodes)35 bool BatchRemoveNotificationBox::SetNotificationHashCodes(const std::string& hashCodes)
36 {
37 if (box_ == nullptr) {
38 return false;
39 }
40 return box_->PutValue(std::make_shared<TlvItem>(NOTIFICATION_HASHCODE, hashCodes));
41 }
42
SetNotificationSlotTypes(const std::string & slotTypes)43 bool BatchRemoveNotificationBox::SetNotificationSlotTypes(const std::string &slotTypes)
44 {
45 if (box_ == nullptr) {
46 return false;
47 }
48 return box_->PutValue(std::make_shared<TlvItem>(BATCH_REMOVE_SLOT_TYPE, slotTypes));
49 }
50
SetLocalDeviceId(const std::string & deviceId)51 bool BatchRemoveNotificationBox::SetLocalDeviceId(const std::string &deviceId)
52 {
53 if (box_ == nullptr) {
54 return false;
55 }
56 return box_->PutValue(std::make_shared<TlvItem>(LOCAL_DEVICE_ID, deviceId));
57 }
58
GetNotificationHashCodes(std::string & hashCodes) const59 bool BatchRemoveNotificationBox::GetNotificationHashCodes(std::string& hashCodes) const
60 {
61 if (box_ == nullptr) {
62 return false;
63 }
64 return box_->GetStringValue(NOTIFICATION_HASHCODE, hashCodes);
65 }
66
GetNotificationSlotTypes(std::string & slotTypes) const67 bool BatchRemoveNotificationBox::GetNotificationSlotTypes(std::string& slotTypes) const
68 {
69 if (box_ == nullptr) {
70 return false;
71 }
72 return box_->GetStringValue(BATCH_REMOVE_SLOT_TYPE, slotTypes);
73 }
74
GetLocalDeviceId(std::string & deviceId) const75 bool BatchRemoveNotificationBox::GetLocalDeviceId(std::string& deviceId) const
76 {
77 if (box_ == nullptr) {
78 return false;
79 }
80 return box_->GetStringValue(LOCAL_DEVICE_ID, deviceId);
81 }
82 }
83 }
84