mirror of
https://github.com/debauchee/barrier.git
synced 2024-11-30 21:39:19 +03:00
f15c9df85b
clipboard owner support (MS windows done, X windows partial) added key transfer on ms windows mutex fixes in CClient (had race conditions) faster debug output in ms windows changed temporary screen name to "secondary" network fixes on ms windows (poll returned wrong result) fixed transparent cursor on ms windows
46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
#ifndef ICLIPBOARD_H
|
|
#define ICLIPBOARD_H
|
|
|
|
#include "IInterface.h"
|
|
#include "BasicTypes.h"
|
|
|
|
class CString;
|
|
|
|
class IClipboard : public IInterface {
|
|
public:
|
|
enum EFormat { kText, kNumFormats };
|
|
|
|
// manipulators
|
|
|
|
// grab ownership of and clear the clipboard of all data.
|
|
// only add() may be called between an open() and its
|
|
// corresponding close(). if open() returns false then
|
|
// the clipboard could not be opened or grabbed; do not
|
|
// call close() in that case.
|
|
virtual bool open() = 0;
|
|
|
|
// close the clipboard. close() must match a preceding open().
|
|
// this signals that the clipboard has been filled with all the
|
|
// necessary data. it does not mean the clipboard ownership
|
|
// should be released.
|
|
virtual void close() = 0;
|
|
|
|
// add data in the given format to the clipboard. data is
|
|
// passed as a string but the contents are generally not
|
|
// interpreted. may only be called between an open() and
|
|
// a close().
|
|
virtual void add(EFormat, const CString& data) = 0;
|
|
|
|
// accessors
|
|
|
|
// returns true iff the clipboard contains data in the given
|
|
// format.
|
|
virtual bool has(EFormat) const = 0;
|
|
|
|
// returns data in the given format. rturns the empty string
|
|
// if there is no data in that format.
|
|
virtual CString get(EFormat) const = 0;
|
|
};
|
|
|
|
#endif
|