Changeset 2770 for trunk/synergy/lib/platform/CPMClipboard.h
- Timestamp:
- Aug 20, 2006, 8:15:41 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/synergy/lib/platform/CPMClipboard.h
r2752 r2770 3 3 * Copyright (C) 2002 Chris Schoeneman 4 4 * Copyright (C) 2006 Knut St. Osmundsen 5 * 5 * 6 6 * This package is free software; you can redistribute it and/or 7 7 * modify it under the terms of the GNU General Public License 8 8 * found in the file COPYING that should have accompanied this file. 9 * 9 * 10 10 * This package is distributed in the hope that it will be useful, 11 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of … … 29 29 class CPMClipboard : public IClipboard { 30 30 public: 31 32 31 CPMClipboard(HWND window); 32 virtual ~CPMClipboard(); 33 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 boolemptyUnowned();34 //! Empty clipboard without ownership 35 /*! 36 Take ownership of the clipboard and clear all data from it. 37 This must be called between a successful open() and close(). 38 Return false if the clipboard ownership could not be taken; 39 the clipboard should not be emptied in this case. Unlike 40 empty(), isOwnedBySynergy() will return false when emptied 41 this way. This is useful when synergy wants to put data on 42 clipboard but pretend (to itself) that some other app did it. 43 When using empty(), synergy assumes the data came from the 44 server and doesn't need to be sent back. emptyUnowned() 45 makes synergy send the data to the server. 46 */ 47 bool emptyUnowned(); 48 48 49 50 static boolisOwnedBySynergy();49 //! Test if clipboard is owned by synergy 50 static bool isOwnedBySynergy(); 51 51 52 53 virtual boolempty();54 virtual voidadd(EFormat, const CString& data);55 virtual boolopen(Time) const;56 virtual voidclose() const;57 virtual TimegetTime() const;58 virtual boolhas(EFormat) const;59 virtual CStringget(EFormat) const;52 // IClipboard overrides 53 virtual bool empty(); 54 virtual void add(EFormat, const CString& data); 55 virtual bool open(Time) const; 56 virtual void close() const; 57 virtual Time getTime() const; 58 virtual bool has(EFormat) const; 59 virtual CString get(EFormat) const; 60 60 61 61 private: 62 voidclearConverters();62 void clearConverters(); 63 63 64 ULONGconvertFormatToPM(EFormat) const;65 ULONGconvertTextToPM(const CString& data) const;66 CStringconvertTextFromPM(ULONG) const;64 ULONG convertFormatToPM(EFormat) const; 65 ULONG convertTextToPM(const CString& data) const; 66 CString convertTextFromPM(ULONG) const; 67 67 68 static ATOMgetOwnershipFormat();68 static ATOM getOwnershipFormat(); 69 69 70 70 private: 71 71 typedef std::vector<IPMClipboardConverter*> ConverterList; 72 72 73 HWNDm_window;74 mutable Timem_time;75 ConverterListm_converters;76 static ATOMs_ownershipFormat;73 HWND m_window; 74 mutable Time m_time; 75 ConverterList m_converters; 76 static ATOM s_ownershipFormat; 77 77 }; 78 78 … … 84 84 class IPMClipboardConverter : public IInterface { 85 85 public: 86 86 // accessors 87 87 88 89 90 88 // return the clipboard format this object converts from/to 89 virtual IClipboard::EFormat 90 getFormat() const = 0; 91 91 92 93 94 virtual ULONGgetPMFormat() const = 0;92 // return the atom representing the PM clipboard format that 93 // this object converts from/to 94 virtual ULONG getPMFormat() const = 0; 95 95 96 // return the format info flags for the PM clipboard format 97 98 virtual ULONGgetPMFormatInfo() const = 0;96 // return the format info flags for the PM clipboard format 97 // this object converts from/to 98 virtual ULONG getPMFormatInfo() const = 0; 99 99 100 101 102 103 104 virtual ULONGfromIClipboard(const CString&) const = 0;100 // convert from the IClipboard format to the PM clipboard format. 101 // the input data must be in the IClipboard format returned by 102 // getFormat(). the return data will be in the PM clipboard 103 // format returned by getPMFormat(). 104 virtual ULONG fromIClipboard(const CString&) const = 0; 105 105 106 107 virtual voidfreePMData(ULONG) const = 0;106 // free PM clipboard data (failure case). 107 virtual void freePMData(ULONG) const = 0; 108 108 109 110 111 virtual CStringtoIClipboard(ULONG data) const = 0;109 // convert from the win32 clipboard format to the IClipboard format 110 // (i.e., the reverse of fromIClipboard()). 111 virtual CString toIClipboard(ULONG data) const = 0; 112 112 }; 113 113
Note:
See TracChangeset
for help on using the changeset viewer.