Lines Matching refs:observer
39 static bool IsSubscriberValid(OH_PasteboardObserver *observer)
41 return observer != nullptr && observer->cid == SUBSCRIBER_STRUCT_ID;
55 OH_PasteboardObserver *observer = new (std::nothrow) OH_PasteboardObserver();
56 if (observer == nullptr) {
60 return observer;
63 int OH_PasteboardObserver_Destroy(OH_PasteboardObserver *observer)
65 if (!IsSubscriberValid(observer)) {
68 if (observer->finalize != nullptr) {
69 (observer->finalize)(observer->context);
72 delete observer;
76 int OH_PasteboardObserver_SetData(OH_PasteboardObserver *observer, void *context, const Pasteboard_Notify callback,
79 if (observer == nullptr || callback == nullptr) {
82 observer->callback = callback;
87 observer->context = context;
88 observer->finalize = finalize;
118 int OH_Pasteboard_Subscribe(OH_Pasteboard *pasteboard, int type, const OH_PasteboardObserver *observer)
120 if (!IsPasteboardValid(pasteboard) || observer == nullptr || type < NOTIFY_LOCAL_DATA_CHANGE ||
125 auto iter = pasteboard->observers_.find(observer);
127 PASTEBOARD_HILOGI(PASTEBOARD_MODULE_CAPI, "observer exist.");
134 observerBox->SetInnerObserver(observer);
136 pasteboard->observers_[observer] = observerBox;
141 int OH_Pasteboard_Unsubscribe(OH_Pasteboard *pasteboard, int type, const OH_PasteboardObserver *observer)
143 if (!IsPasteboardValid(pasteboard) || observer == nullptr || type < NOTIFY_LOCAL_DATA_CHANGE ||
148 auto iter = pasteboard->observers_.find(observer);
150 PASTEBOARD_HILOGI(PASTEBOARD_MODULE_CAPI, "couldn't find this observer");