00001 /* 00002 * synergy -- mouse and keyboard sharing utility 00003 * Copyright (C) 2012 Bolton Software Ltd. 00004 * Copyright (C) 2004 Chris Schoeneman 00005 * 00006 * This package is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU General Public License 00008 * found in the file COPYING that should have accompanied this file. 00009 * 00010 * This package is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 */ 00018 00019 #ifndef COSXCLIPBOARDANYTEXTCONVERTER_H 00020 #define COSXCLIPBOARDANYTEXTCONVERTER_H 00021 00022 #include "COSXClipboard.h" 00023 00025 class COSXClipboardAnyTextConverter : public IOSXClipboardConverter { 00026 public: 00027 COSXClipboardAnyTextConverter(); 00028 virtual ~COSXClipboardAnyTextConverter(); 00029 00030 // IOSXClipboardConverter overrides 00031 virtual IClipboard::EFormat 00032 getFormat() const; 00033 virtual CFStringRef 00034 getOSXFormat() const = 0; 00035 virtual CString fromIClipboard(const CString &) const; 00036 virtual CString toIClipboard(const CString &) const; 00037 00038 protected: 00040 00043 virtual CString doFromIClipboard(const CString&) const = 0; 00044 00046 00049 virtual CString doToIClipboard(const CString&) const = 0; 00050 00051 private: 00052 static CString convertLinefeedToMacOS(const CString&); 00053 static CString convertLinefeedToUnix(const CString&); 00054 }; 00055 00056 #endif
1.7.1