55 *
66 */
77#include " waylandclipboard.h"
8+ #include < unistd.h>
9+ #include < cstdint>
10+ #include < memory>
11+ #include < string>
12+ #include < string_view>
813#include < unordered_set>
14+ #include < utility>
15+ #include < vector>
16+ #include < wayland-client-core.h>
17+ #include < wayland-client-protocol.h>
918#include " fcitx-utils/event.h"
19+ #include " fcitx-utils/eventloopinterface.h"
20+ #include " fcitx-utils/fs.h"
21+ #include " fcitx-utils/log.h"
22+ #include " fcitx-utils/misc_p.h"
1023#include " fcitx-utils/trackableobject.h"
24+ #include " fcitx-utils/unixfd.h"
1125#include " clipboard.h"
26+ #include " display.h"
1227#include " wl_seat.h"
1328#include " zwlr_data_control_manager_v1.h"
1429#include " zwlr_data_control_offer_v1.h"
@@ -127,12 +142,13 @@ void DataOffer::receiveData(DataReaderThread &thread,
127142
128143 auto callbackWrapper =
129144 [this , callback = std::move (callback)](const std::vector<char > &data) {
130- return callback (data, isPassword_);
145+ callback (data, isPassword_);
146+ return ;
131147 };
132148
133149 thread_ = &thread;
134150 static const std::string passwordHint = PASSWORD_MIME_TYPE;
135- if (mimeTypes_.count (passwordHint)) {
151+ if (mimeTypes_.contains (passwordHint)) {
136152 receiveDataForMime (passwordHint, [this , callbackWrapper](
137153 const std::vector<char > &data) {
138154 if (std::string_view (data.data (), data.size ()) == " secret" &&
@@ -157,9 +173,9 @@ void DataOffer::receiveRealData(DataOfferDataCallback callback) {
157173 static const std::string utf8Mime = " text/plain;charset=utf-8" ;
158174 static const std::string textMime = " text/plain" ;
159175
160- if (mimeTypes_.count (utf8Mime)) {
176+ if (mimeTypes_.contains (utf8Mime)) {
161177 mime = utf8Mime;
162- } else if (mimeTypes_.count (textMime)) {
178+ } else if (mimeTypes_.contains (textMime)) {
163179 mime = textMime;
164180 } else {
165181 return ;
@@ -242,7 +258,7 @@ WaylandClipboard::WaylandClipboard(Clipboard *clipboard, std::string name,
242258 static_cast <wayland::Display *>(wl_display_get_user_data(display))) {
243259 display_->requestGlobals <wayland::ZwlrDataControlManagerV1>();
244260 globalConn_ = display_->globalCreated ().connect (
245- [this ](const std::string &interface, std::shared_ptr<void > ptr) {
261+ [this ](const std::string &interface, const std::shared_ptr<void > & ptr) {
246262 if (interface == wayland::ZwlrDataControlManagerV1::interface) {
247263 if (ptr != manager_) {
248264 deviceMap_.clear ();
@@ -256,7 +272,7 @@ WaylandClipboard::WaylandClipboard(Clipboard *clipboard, std::string name,
256272 }
257273 });
258274 globalRemoveConn_ = display_->globalRemoved ().connect (
259- [this ](const std::string &interface, std::shared_ptr<void > ptr) {
275+ [this ](const std::string &interface, const std::shared_ptr<void > & ptr) {
260276 if (interface == wayland::ZwlrDataControlManagerV1::interface) {
261277 deviceMap_.clear ();
262278 if (manager_ == ptr) {
@@ -281,7 +297,7 @@ void WaylandClipboard::refreshSeat() {
281297
282298 auto seats = display_->getGlobals <wayland::WlSeat>();
283299 for (const auto &seat : seats) {
284- if (deviceMap_.count (seat.get ())) {
300+ if (deviceMap_.contains (seat.get ())) {
285301 continue ;
286302 }
287303
0 commit comments