2024-05-25 22:43:51 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "../protocols/types/DataDevice.hpp"
|
2025-01-30 12:30:12 +01:00
|
|
|
#include <hyprutils/os/FileDescriptor.hpp>
|
2024-05-25 22:43:51 +02:00
|
|
|
|
|
|
|
|
struct SXSelection;
|
|
|
|
|
|
|
|
|
|
class CXDataSource : public IDataSource {
|
|
|
|
|
public:
|
|
|
|
|
CXDataSource(SXSelection&);
|
|
|
|
|
|
|
|
|
|
virtual std::vector<std::string> mimes();
|
2025-01-30 12:30:12 +01:00
|
|
|
virtual void send(const std::string& mime, Hyprutils::OS::CFileDescriptor fd);
|
2024-05-25 22:43:51 +02:00
|
|
|
virtual void accepted(const std::string& mime);
|
|
|
|
|
virtual void cancelled();
|
|
|
|
|
virtual void error(uint32_t code, const std::string& msg);
|
|
|
|
|
virtual eDataSourceType type();
|
|
|
|
|
|
|
|
|
|
private:
|
2025-05-07 15:21:44 +02:00
|
|
|
SXSelection& m_selection;
|
|
|
|
|
std::vector<std::string> m_mimeTypes; // these two have shared idx
|
|
|
|
|
std::vector<uint32_t> m_mimeAtoms; //
|
2025-01-30 12:30:12 +01:00
|
|
|
};
|