From d9387dbed7b0093daf53620642ceb48cddc7f692 Mon Sep 17 00:00:00 2001 From: crs Date: Sat, 15 May 2004 19:41:46 +0000 Subject: [PATCH] Added bertrand landry hetu's mac OS X port to date. --- Makefile.am | 87 +- configure.in | 29 +- lib/common/common.h | 50 + lib/platform/COSXClipboard.cpp | 169 +- lib/platform/COSXClipboard.h | 58 + .../COSXClipboardAnyTextConverter.cpp | 85 + lib/platform/COSXClipboardAnyTextConverter.h | 52 + lib/platform/COSXClipboardTextConverter.cpp | 48 + lib/platform/COSXClipboardTextConverter.h | 37 + lib/platform/COSXClipboardUTF16Converter.cpp | 50 + lib/platform/COSXClipboardUTF16Converter.h | 36 + lib/platform/COSXEventQueueBuffer.cpp | 84 +- lib/platform/COSXEventQueueBuffer.h | 5 +- lib/platform/COSXScreen.cpp | 188 +- lib/platform/COSXScreen.h | 10 +- lib/platform/Makefile.am | 6 + synergy.xcode/project.pbxproj | 4486 +++++++++++++++++ 17 files changed, 5370 insertions(+), 110 deletions(-) create mode 100644 lib/platform/COSXClipboardAnyTextConverter.cpp create mode 100644 lib/platform/COSXClipboardAnyTextConverter.h create mode 100644 lib/platform/COSXClipboardTextConverter.cpp create mode 100644 lib/platform/COSXClipboardTextConverter.h create mode 100644 lib/platform/COSXClipboardUTF16Converter.cpp create mode 100644 lib/platform/COSXClipboardUTF16Converter.h create mode 100644 synergy.xcode/project.pbxproj diff --git a/Makefile.am b/Makefile.am index d3e210ac..dff8861f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,56 +13,57 @@ ## Process this file with automake to produce Makefile.in NULL = -SUBDIRS = \ - lib \ - cmd \ - dist \ +SUBDIRS = \ + lib \ + cmd \ + dist \ $(NULL) -EXTRA_DIST = \ - BUGS \ - FAQ \ - HISTORY \ - PORTING \ - TODO \ - all.dsp \ - synergy.dsw \ - doc/doxygen.cfg.in \ - examples/synergy.conf \ +EXTRA_DIST = \ + BUGS \ + FAQ \ + HISTORY \ + PORTING \ + TODO \ + all.dsp \ + synergy.dsw \ + synergy.xcode/project.pbxproj \ + doc/doxygen.cfg.in \ + examples/synergy.conf \ $(NULL) -MAINTAINERCLEANFILES = \ - Makefile.in \ - aclocal.m4 \ - config.h \ - config.h.in \ - config.log \ - config.status \ - configure \ - stamp-h.in \ - stamp-h1 \ - doc/doxygen.cfg \ - doc/doxygen/html/* \ +MAINTAINERCLEANFILES = \ + Makefile.in \ + aclocal.m4 \ + config.h \ + config.h.in \ + config.log \ + config.status \ + configure \ + stamp-h.in \ + stamp-h1 \ + doc/doxygen.cfg \ + doc/doxygen/html/* \ $(NULL) -PKG_FILES = \ - AUTHORS \ - BUGS \ - COPYING \ - ChangeLog \ - FAQ \ - HISTORY \ - INSTALL \ - NEWS \ - README \ - TODO \ - cmd/synergyc/synergyc \ - cmd/synergys/synergys \ - examples/synergy.conf \ +PKG_FILES = \ + AUTHORS \ + BUGS \ + COPYING \ + ChangeLog \ + FAQ \ + HISTORY \ + INSTALL \ + NEWS \ + README \ + TODO \ + cmd/synergyc/synergyc \ + cmd/synergys/synergys \ + examples/synergy.conf \ $(NULL) -PKG_PROG_FILES = \ - synergyc \ - synergys \ +PKG_PROG_FILES = \ + synergyc \ + synergys \ $(NULL) # build doxygen documentation diff --git a/configure.in b/configure.in index 4a30b12e..dc451ded 100644 --- a/configure.in +++ b/configure.in @@ -38,8 +38,7 @@ case $host in ;; *-*-darwin*) acx_host_arch="UNIX" - acx_host_winapi="XWINDOWS" -# acx_host_winapi="CARBON" + acx_host_winapi="CARBON" ;; *) acx_host_arch="UNIX" @@ -65,8 +64,7 @@ dnl our files end in .cpp not .C so tests should also end in .cpp ac_ext=cpp dnl enable debugging or disable asserts -AC_ARG_ENABLE([debug], - AC_HELP_STRING([--enable-debug], [enable debugging])) +AC_ARG_ENABLE([debug], [ --enable-debug enable debugging]) if test "x$enable_debug" != xno; then CXXFLAGS="$CXXFLAGS -g" else @@ -111,22 +109,29 @@ if test x"$acx_host_winapi" = xXWINDOWS; then CPPFLAGS="$X_CFLAGS $CPPFLAGS" AC_CHECK_LIB(Xtst, XTestQueryExtension, - AC_CHECK_HEADERS([X11/extensions/XTest.h], - [X_LIBS="$X_LIBS -lXtst"], - AC_MSG_ERROR(Your must have the XTest headers to compile synergy)), + [X_LIBS="$X_LIBS -lXtst"], AC_MSG_ERROR(You must have the XTest library to build synergy), [$X_LIBS -lXext -lX11 $X_EXTRA_LIBS]) + AC_CHECK_HEADERS([X11/extensions/XTest.h],, + AC_MSG_ERROR(You must have the XTest headers to compile synergy)) AC_CHECK_LIB(Xinerama, XineramaQueryExtension, - AC_CHECK_HEADERS([X11/extensions/Xinerama.h], - [X_LIBS="$X_LIBS -lXinerama"]), - , + [X_LIBS="$X_LIBS -lXinerama"], + [acx_xinerama_lib_ok=no], [$X_LIBS -lXext -lX11 $X_EXTRA_LIBS]) + if test x"$acx_xinerama_lib_ok" != xno; then + AC_CHECK_HEADERS([X11/extensions/Xinerama.h],,, + [#include ]) + fi AC_CHECK_LIB(Xext, DPMSQueryExtension, - AC_CHECK_HEADERS([X11/extensions/dpms.h]), - , + [acx_dpms_lib_ok=yes], + [acx_dpms_lib_ok=no], [$X_LIBS -lX11 $X_EXTRA_LIBS]) + if test x"$acx_dpms_lib_ok" = xyes; then + AC_CHECK_HEADERS([X11/extensions/dpms.h],,, + [#include ]) + fi CPPFLAGS="$save_CPPFLAGS" ARCH_LIBS="$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $ARCH_LIBS" ARCH_CFLAGS="$ARCH_CFLAGS $X_CFLAGS" diff --git a/lib/common/common.h b/lib/common/common.h index 96910efc..c2c910e8 100644 --- a/lib/common/common.h +++ b/lib/common/common.h @@ -25,6 +25,56 @@ # define SYSAPI_WIN32 1 # define WINAPI_MSWINDOWS 1 # endif + + // we may not have run configure on OS X +# if defined(__APPLE__) +# define SYSAPI_UNIX 1 +# define WINAPI_CARBON 1 + +# define HAVE_ALLOCA_H 1 +# define HAVE_CXX_BOOL 1 +# define HAVE_CXX_CASTS 1 +# define HAVE_CXX_EXCEPTIONS 1 +# define HAVE_CXX_MUTABLE 1 +# define HAVE_CXX_STDLIB 1 +# define HAVE_GETPWUID_R 1 +# define HAVE_GMTIME_R 1 +# define HAVE_INET_ATON 1 +# define HAVE_INTTYPES_H 1 +# define HAVE_ISTREAM 1 +# define HAVE_MEMORY_H 1 +# define HAVE_NANOSLEEP 1 +# define HAVE_OSTREAM 1 +# define HAVE_POLL 1 +# define HAVE_POSIX_SIGWAIT 1 +# define HAVE_PTHREAD 1 +# define HAVE_PTHREAD_SIGNAL 1 +# define HAVE_SOCKLEN_T 1 +# define HAVE_SSTREAM 1 +# define HAVE_STDINT_H 1 +# define HAVE_STDLIB_H 1 +# define HAVE_STRINGS_H 1 +# define HAVE_STRING_H 1 +# define HAVE_SYS_SELECT_H 1 +# define HAVE_SYS_STAT_H 1 +# define HAVE_SYS_TIME_H 1 +# define HAVE_SYS_TYPES_H 1 +# define HAVE_UNISTD_H 1 +# define HAVE_VSNPRINTF 1 +# define HAVE_WCHAR_H 1 +# define HAVE_SYS_SOCKET_H 1 + +# define SELECT_TYPE_ARG1 int +# define SELECT_TYPE_ARG234 (fd_set *) +# define SELECT_TYPE_ARG5 (struct timeval *) +# define SIZEOF_CHAR 1 +# define SIZEOF_INT 4 +# define SIZEOF_LONG 4 +# define SIZEOF_SHORT 2 +# define STDC_HEADERS 1 +# define TIME_WITH_SYS_TIME 1 +# define X_DISPLAY_MISSING 1 +# endif #endif // VC++ specific diff --git a/lib/platform/COSXClipboard.cpp b/lib/platform/COSXClipboard.cpp index 8c0071f6..6a244587 100644 --- a/lib/platform/COSXClipboard.cpp +++ b/lib/platform/COSXClipboard.cpp @@ -13,58 +13,205 @@ */ #include "COSXClipboard.h" -#include - -// FIXME -- implement this +#include "COSXClipboardUTF16Converter.h" +#include "COSXClipboardTextConverter.h" +#include "CLog.h" +#include "XArch.h" // // COSXClipboard // -COSXClipboard::COSXClipboard() +COSXClipboard::COSXClipboard() : + m_time(0), + m_scrap(NULL) { + m_converters.push_back(new COSXClipboardUTF16Converter); + m_converters.push_back(new COSXClipboardTextConverter); } COSXClipboard::~COSXClipboard() { + clearConverters(); } bool COSXClipboard::empty() { + LOG((CLOG_DEBUG "empty clipboard")); + assert(m_scrap != NULL); + + OSStatus err = ClearScrap(&m_scrap); + // XXX -- check err? + + err = PutScrapFlavor( + m_scrap, + getOwnershipFlavor(), + kScrapFlavorMaskNone, + 0, + 0); + + if (err != noErr) { + LOG((CLOG_DEBUG "failed to grab clipboard")); + return false; + } + return true; } void -COSXClipboard::add(EFormat, const CString&) +COSXClipboard::add(EFormat format, const CString & data) { + LOG((CLOG_DEBUG "add %d bytes to clipboard format: %d", data.size(), format)); + + for (ConverterList::const_iterator index = m_converters.begin(); + index != m_converters.end(); ++index) { + + IOSXClipboardConverter* converter = *index; + + // skip converters for other formats + if (converter->getFormat() == format) { + CString osXData = converter->fromIClipboard(data); + ScrapFlavorType flavorType = converter->getOSXFormat(); + + PutScrapFlavor( + m_scrap, + flavorType, + kScrapFlavorMaskNone, + osXData.size(), + osXData.data()); + } + } } bool -COSXClipboard::open(Time) const +COSXClipboard::open(Time time) const { - return false; + LOG((CLOG_DEBUG "open clipboard")); + m_time = time; + OSStatus err = GetCurrentScrap(&m_scrap); + return (err == noErr); } void COSXClipboard::close() const { + LOG((CLOG_DEBUG "close clipboard")); + m_scrap = NULL; } IClipboard::Time COSXClipboard::getTime() const { - return 0; + return m_time; } bool -COSXClipboard::has(EFormat) const +COSXClipboard::has(EFormat format) const { + assert(m_scrap != NULL); + + for (ConverterList::const_iterator index = m_converters.begin(); + index != m_converters.end(); ++index) { + IOSXClipboardConverter* converter = *index; + if (converter->getFormat() == format) { + ScrapFlavorFlags flags; + ScrapFlavorType type = converter->getOSXFormat(); + + if (GetScrapFlavorFlags(m_scrap, type, &flags) == noErr) { + return true; + } + } + } + return false; } CString -COSXClipboard::get(EFormat) const +COSXClipboard::get(EFormat format) const { - return ""; + CString result; + + // find the converter for the first clipboard format we can handle + IOSXClipboardConverter* converter = NULL; + for (ConverterList::const_iterator index = m_converters.begin(); + index != m_converters.end(); ++index) { + converter = *index; + + ScrapFlavorFlags flags; + ScrapFlavorType type = converter->getOSXFormat(); + + if (converter->getFormat() == format && + GetScrapFlavorFlags(m_scrap, type, &flags) == noErr) { + break; + } + converter = NULL; + } + + // if no converter then we don't recognize any formats + if (converter == NULL) { + return result; + } + + // get the clipboard data. + char* buffer = NULL; + try { + Size flavorSize; + OSStatus err = GetScrapFlavorSize(m_scrap, + converter->getOSXFormat(), &flavorSize); + if (err != noErr) { + throw err; + } + + buffer = new char[flavorSize]; + if (buffer == NULL) { + throw memFullErr; + } + + err = GetScrapFlavorData(m_scrap, + converter->getOSXFormat(), &flavorSize, buffer); + if (err != noErr) { + throw err; + } + + result = CString(buffer, flavorSize); + } + catch (OSStatus err) { + LOG((CLOG_DEBUG "exception thrown in COSXClipboard::get MacError (%d)", err)); + } + catch (...) { + LOG((CLOG_DEBUG "unknown exception in COSXClipboard::get")); + RETHROW_XTHREAD + } + delete[] buffer; + + return converter->toIClipboard(result); +} + +void +COSXClipboard::clearConverters() +{ + for (ConverterList::iterator index = m_converters.begin(); + index != m_converters.end(); ++index) { + delete *index; + } + m_converters.clear(); +} + +bool +COSXClipboard::isOwnedBySynergy() +{ + ScrapFlavorFlags flags; + ScrapRef scrap; + OSStatus err = GetCurrentScrap(&scrap); + if (err == noErr) { + err = GetScrapFlavorFlags(scrap, getOwnershipFlavor() , &flags); + } + return (err == noErr); +} + +ScrapFlavorType +COSXClipboard::getOwnershipFlavor() +{ + return 'Syne'; } diff --git a/lib/platform/COSXClipboard.h b/lib/platform/COSXClipboard.h index 8b6382d8..19f95ec7 100644 --- a/lib/platform/COSXClipboard.h +++ b/lib/platform/COSXClipboard.h @@ -16,6 +16,10 @@ #define COSXCLIPBOARD_H #include "IClipboard.h" +#include +#include + +class IOSXClipboardConverter; //! OS X clipboard implementation class COSXClipboard : public IClipboard { @@ -23,6 +27,9 @@ public: COSXClipboard(); virtual ~COSXClipboard(); + //! Test if clipboard is owned by synergy + static bool isOwnedBySynergy(); + // IClipboard overrides virtual bool empty(); virtual void add(EFormat, const CString& data); @@ -31,6 +38,57 @@ public: virtual Time getTime() const; virtual bool has(EFormat) const; virtual CString get(EFormat) const; + +private: + void clearConverters(); + static ScrapFlavorType + getOwnershipFlavor(); + +private: + typedef std::vector ConverterList; + + mutable Time m_time; + ConverterList m_converters; + mutable ScrapRef m_scrap; +}; + +//! Clipboard format converter interface +/*! +This interface defines the methods common to all Scrap book format +*/ +class IOSXClipboardConverter : public IInterface { +public: + //! @name accessors + //@{ + + //! Get clipboard format + /*! + Return the clipboard format this object converts from/to. + */ + virtual IClipboard::EFormat + getFormat() const = 0; + + //! returns the scrap flavor type that this object converts from/to + virtual ScrapFlavorType + getOSXFormat() const = 0; + + //! Convert from IClipboard format + /*! + Convert from the IClipboard format to the Carbon scrap format. + The input data must be in the IClipboard format returned by + getFormat(). The return data will be in the scrap + format returned by getOSXFormat(). + */ + virtual CString fromIClipboard(const CString&) const = 0; + + //! Convert to IClipboard format + /*! + Convert from the carbon scrap format to the IClipboard format + (i.e., the reverse of fromIClipboard()). + */ + virtual CString toIClipboard(const CString&) const = 0; + + //@} }; #endif diff --git a/lib/platform/COSXClipboardAnyTextConverter.cpp b/lib/platform/COSXClipboardAnyTextConverter.cpp new file mode 100644 index 00000000..67fc3029 --- /dev/null +++ b/lib/platform/COSXClipboardAnyTextConverter.cpp @@ -0,0 +1,85 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2004 Chris Schoeneman + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "COSXClipboardAnyTextConverter.h" +#include + +// +// COSXClipboardAnyTextConverter +// + +COSXClipboardAnyTextConverter::COSXClipboardAnyTextConverter() +{ + // do nothing +} + +COSXClipboardAnyTextConverter::~COSXClipboardAnyTextConverter() +{ + // do nothing +} + +IClipboard::EFormat +COSXClipboardAnyTextConverter::getFormat() const +{ + return IClipboard::kText; +} + +CString +COSXClipboardAnyTextConverter::fromIClipboard(const CString& data) const +{ + // convert linefeeds and then convert to desired encoding + return doFromIClipboard(convertLinefeedToMacOS(data)); +} + +CString +COSXClipboardAnyTextConverter::toIClipboard(const CString& data) const +{ + // convert text then newlines + return convertLinefeedToUnix(doToIClipboard(data)); +} + +static +bool +isLF(char ch) +{ + return (ch == '\n'); +} + +static +bool +isCR(char ch) +{ + return (ch == '\r'); +} + +CString +COSXClipboardAnyTextConverter::convertLinefeedToMacOS(const CString& src) +{ + // note -- we assume src is a valid UTF-8 string + CString copy = src; + + std::replace_if(copy.begin(), copy.end(), isLF, '\r'); + + return copy; +} + +CString +COSXClipboardAnyTextConverter::convertLinefeedToUnix(const CString& src) +{ + CString copy = src; + + std::replace_if(copy.begin(), copy.end(), isCR, '\n'); + + return copy; +} diff --git a/lib/platform/COSXClipboardAnyTextConverter.h b/lib/platform/COSXClipboardAnyTextConverter.h new file mode 100644 index 00000000..5d0b79f3 --- /dev/null +++ b/lib/platform/COSXClipboardAnyTextConverter.h @@ -0,0 +1,52 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2004 Chris Schoeneman + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef COSXCLIPBOARDANYTEXTCONVERTER_H +#define COSXCLIPBOARDANYTEXTCONVERTER_H + +#include "COSXClipboard.h" + +//! Convert to/from some text encoding +class COSXClipboardAnyTextConverter : public IOSXClipboardConverter { +public: + COSXClipboardAnyTextConverter(); + virtual ~COSXClipboardAnyTextConverter(); + + // IOSXClipboardConverter overrides + virtual IClipboard::EFormat + getFormat() const; + virtual ScrapFlavorType + getOSXFormat() const = 0; + virtual CString fromIClipboard(const CString &) const; + virtual CString toIClipboard(const CString &) const; + +protected: + //! Convert from IClipboard format + /*! + Do UTF-8 conversion and linefeed conversion. + */ + virtual CString doFromIClipboard(const CString&) const = 0; + + //! Convert to IClipboard format + /*! + Do UTF-8 conversion and Linefeed conversion. + */ + virtual CString doToIClipboard(const CString&) const = 0; + +private: + static CString convertLinefeedToMacOS(const CString&); + static CString convertLinefeedToUnix(const CString&); +}; + +#endif diff --git a/lib/platform/COSXClipboardTextConverter.cpp b/lib/platform/COSXClipboardTextConverter.cpp new file mode 100644 index 00000000..0b92dee1 --- /dev/null +++ b/lib/platform/COSXClipboardTextConverter.cpp @@ -0,0 +1,48 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2004 Chris Schoeneman + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "COSXClipboardTextConverter.h" +#include "CUnicode.h" + +// +// COSXClipboardTextConverter +// + +COSXClipboardTextConverter::COSXClipboardTextConverter() +{ + // do nothing +} + +COSXClipboardTextConverter::~COSXClipboardTextConverter() +{ + // do nothing +} + +ScrapFlavorType +COSXClipboardTextConverter::getOSXFormat() const +{ + return kScrapFlavorTypeText; +} + +CString +COSXClipboardTextConverter::doFromIClipboard(const CString& data) const +{ + return CUnicode::UTF8ToText(data); +} + +CString +COSXClipboardTextConverter::doToIClipboard(const CString& data) const +{ + return CUnicode::textToUTF8(data); +} diff --git a/lib/platform/COSXClipboardTextConverter.h b/lib/platform/COSXClipboardTextConverter.h new file mode 100644 index 00000000..dc2649d5 --- /dev/null +++ b/lib/platform/COSXClipboardTextConverter.h @@ -0,0 +1,37 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2004 Chris Schoeneman + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef COSXCLIPBOARDTEXTCONVERTER_H +#define COSXCLIPBOARDTEXTCONVERTER_H + +#include "COSXClipboardAnyTextConverter.h" + +//! Convert to/from locale text encoding +class COSXClipboardTextConverter : public COSXClipboardAnyTextConverter { +public: + COSXClipboardTextConverter(); + virtual ~COSXClipboardTextConverter(); + + // IOSXClipboardAnyTextConverter overrides + virtual ScrapFlavorType + getOSXFormat() const; + +protected: + // COSXClipboardAnyTextConverter overrides + virtual CString doFromIClipboard(const CString&) const; + virtual CString doToIClipboard(const CString&) const; + +}; + +#endif diff --git a/lib/platform/COSXClipboardUTF16Converter.cpp b/lib/platform/COSXClipboardUTF16Converter.cpp new file mode 100644 index 00000000..10693c83 --- /dev/null +++ b/lib/platform/COSXClipboardUTF16Converter.cpp @@ -0,0 +1,50 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2004 Chris Schoeneman + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "COSXClipboardUTF16Converter.h" +#include "CUnicode.h" + +// +// COSXClipboardUTF16Converter +// + +COSXClipboardUTF16Converter::COSXClipboardUTF16Converter() +{ + // do nothing +} + +COSXClipboardUTF16Converter::~COSXClipboardUTF16Converter() +{ + // do nothing +} + +ScrapFlavorType +COSXClipboardUTF16Converter::getOSXFormat() const +{ + return kScrapFlavorTypeUnicode; +} + +CString +COSXClipboardUTF16Converter::doFromIClipboard(const CString& data) const +{ + // convert and add nul terminator + return CUnicode::UTF8ToUTF16(data); +} + +CString +COSXClipboardUTF16Converter::doToIClipboard(const CString& data) const +{ + // convert and strip nul terminator + return CUnicode::UTF16ToUTF8(data); +} diff --git a/lib/platform/COSXClipboardUTF16Converter.h b/lib/platform/COSXClipboardUTF16Converter.h new file mode 100644 index 00000000..1499a7ed --- /dev/null +++ b/lib/platform/COSXClipboardUTF16Converter.h @@ -0,0 +1,36 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2004 Chris Schoeneman + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef COSXCLIPBOARDUTF16CONVERTER_H +#define COSXCLIPBOARDUTF16CONVERTER_H + +#include "COSXClipboardAnyTextConverter.h" + +//! Convert to/from UTF-16 encoding +class COSXClipboardUTF16Converter : public COSXClipboardAnyTextConverter { +public: + COSXClipboardUTF16Converter(); + virtual ~COSXClipboardUTF16Converter(); + + // IOSXClipboardAnyTextConverter overrides + virtual ScrapFlavorType + getOSXFormat() const; + +protected: + // COSXClipboardAnyTextConverter overrides + virtual CString doFromIClipboard(const CString&) const; + virtual CString doToIClipboard(const CString&) const; +}; + +#endif diff --git a/lib/platform/COSXEventQueueBuffer.cpp b/lib/platform/COSXEventQueueBuffer.cpp index b373f63a..22dadc9d 100644 --- a/lib/platform/COSXEventQueueBuffer.cpp +++ b/lib/platform/COSXEventQueueBuffer.cpp @@ -13,19 +13,28 @@ */ #include "COSXEventQueueBuffer.h" +#include "CEvent.h" +#include "IEventQueue.h" + +// +// CEventQueueTimer +// + +class CEventQueueTimer { }; // // COSXEventQueueBuffer // -COSXEventQueueBuffer::COSXEventQueueBuffer() +COSXEventQueueBuffer::COSXEventQueueBuffer() : + m_event(NULL) { - // FIXME + // do nothing } COSXEventQueueBuffer::~COSXEventQueueBuffer() { - // FIXME + setOSXEvent(NULL); } void @@ -38,18 +47,51 @@ COSXEventQueueBuffer::waitForEvent(double timeout) IEventQueueBuffer::Type COSXEventQueueBuffer::getEvent(CEvent& event, UInt32& dataID) { - // FIXME - (void)event; - (void)dataID; - return kNone; + EventRef carbonEvent = NULL; + OSStatus error = ReceiveNextEvent(0, NULL, 0.0, true, &carbonEvent); + setOSXEvent(carbonEvent); + + if (error == eventLoopQuitErr) { + event = CEvent(CEvent::kQuit); + return kSystem; + } + else if (error != noErr) { + return kNone; + } + else { + UInt32 eventClass = GetEventClass(m_event); + switch (eventClass) { + case 'Syne': + dataID = GetEventKind(m_event); + return kUser; + + default: + event = CEvent(CEvent::kSystem, + IEventQueue::getSystemTarget(), &m_event); + return kNone; + } + } } bool COSXEventQueueBuffer::addEvent(UInt32 dataID) { - // FIXME - (void)dataID; - return false; + EventRef event; + OSStatus error = CreateEvent( + kCFAllocatorDefault, + 'Syne', + dataID, + 0, + kEventAttributeNone, + &event); + + if (error == noErr) { + error = PostEventToQueue(GetMainEventQueue(), event, + kEventPriorityStandard); + ReleaseEvent(event); + } + + return (error == noErr); } bool @@ -57,20 +99,26 @@ COSXEventQueueBuffer::isEmpty() const { EventRef event; OSStatus status = ReceiveNextEvent(0, NULL, 0.0, false, &event); - return (status != eventLoopTimedOutErr); + return (status == eventLoopTimedOutErr); } CEventQueueTimer* -COSXEventQueueBuffer::newTimer(double duration, bool oneShot) const +COSXEventQueueBuffer::newTimer(double, bool) const { - // FIXME - (void)duration; - (void)oneShot; - return NULL; + return new CEventQueueTimer; } void -COSXEventQueueBuffer::deleteTimer(CEventQueueTimer*) const +COSXEventQueueBuffer::deleteTimer(CEventQueueTimer* timer) const { - // FIXME + delete timer; +} + +void +COSXEventQueueBuffer::setOSXEvent(EventRef event) +{ + if (m_event != NULL) { + ReleaseEvent(m_event); + } + m_event = RetainEvent(event); } diff --git a/lib/platform/COSXEventQueueBuffer.h b/lib/platform/COSXEventQueueBuffer.h index 215b018c..b4910026 100644 --- a/lib/platform/COSXEventQueueBuffer.h +++ b/lib/platform/COSXEventQueueBuffer.h @@ -33,8 +33,11 @@ public: newTimer(double duration, bool oneShot) const; virtual void deleteTimer(CEventQueueTimer*) const; +protected: + void setOSXEvent(EventRef event); + private: - // FIXME + EventRef m_event; }; #endif diff --git a/lib/platform/COSXScreen.cpp b/lib/platform/COSXScreen.cpp index 54fb4b47..80fb0677 100644 --- a/lib/platform/COSXScreen.cpp +++ b/lib/platform/COSXScreen.cpp @@ -34,7 +34,8 @@ COSXScreen::COSXScreen(bool isPrimary) : m_keyState(NULL), m_sequenceNumber(0), m_screensaver(NULL), - m_screensaverNotify(false) + m_screensaverNotify(false), + m_ownClipboard(false) { try { m_displayID = CGMainDisplayID(); @@ -145,6 +146,30 @@ COSXScreen::getCursorCenter(SInt32& x, SInt32& y) const y = m_yCenter; } +void +COSXScreen::postMouseEvent(const CGPoint & pos) const +{ + // synthesize event. CGPostMouseEvent is a particularly good + // example of a bad API. we have to shadow the mouse state to + // use this API and if we want to support more buttons we have + // to recompile. + // + // the order of buttons on the mac is: + // 1 - Left + // 2 - Right + // 3 - Middle + // Whatever the USB device defined. + // It is a bit weird that the behaviour of buttons over 3 are dependent + // on currently plugged in USB devices. + CGPostMouseEvent(pos, true, sizeof(m_buttons) / sizeof(m_buttons[0]), + m_buttons[0], + m_buttons[2], + m_buttons[1], + m_buttons[3], + m_buttons[4]); +} + + void COSXScreen::fakeMouseButton(ButtonID id, bool press) const { @@ -157,10 +182,6 @@ COSXScreen::fakeMouseButton(ButtonID id, bool press) const // update state m_buttons[index] = press; - // synthesize event. CGPostMouseEvent is a particularly good - // example of a bad API. we have to shadow the mouse state to - // use this API and if we want to support more buttons we have - // to recompile. CGPoint pos; if (!m_cursorPosValid) { SInt32 x, y; @@ -168,12 +189,7 @@ COSXScreen::fakeMouseButton(ButtonID id, bool press) const } pos.x = m_xCursor; pos.y = m_yCursor; - CGPostMouseEvent(pos, false, sizeof(m_buttons) / sizeof(m_buttons[0]), - m_buttons[0], - m_buttons[1], - m_buttons[2], - m_buttons[3], - m_buttons[4]); + postMouseEvent(pos); } void @@ -183,8 +199,7 @@ COSXScreen::fakeMouseMove(SInt32 x, SInt32 y) const CGPoint pos; pos.x = x; pos.y = y; - // FIXME -- is it okay to pass no buttons here? - CGPostMouseEvent(pos, true, 0, m_buttons[0]); + postMouseEvent(pos); // save new cursor position m_xCursor = x; @@ -208,8 +223,7 @@ COSXScreen::fakeMouseRelativeMove(SInt32 dx, SInt32 dy) const CGPoint pos; pos.x = oldPos.h + dx; pos.y = oldPos.v + dy; - // FIXME -- is it okay to pass no buttons here? - CGPostMouseEvent(pos, true, 0, m_buttons[0]); + postMouseEvent(pos); // we now assume we don't know the current cursor position m_cursorPosValid = false; @@ -218,7 +232,32 @@ COSXScreen::fakeMouseRelativeMove(SInt32 dx, SInt32 dy) const void COSXScreen::fakeMouseWheel(SInt32 delta) const { - CGPostScrollWheelEvent(1, delta / 120); + CFPropertyListRef pref = ::CFPreferencesCopyValue( + CFSTR("com.apple.scrollwheel.scaling"), + kCFPreferencesAnyApplication, + kCFPreferencesCurrentUser, + kCFPreferencesAnyHost); + + int32_t wheelIncr = 10; + + if (pref != NULL) { + CFTypeID id = CFGetTypeID(pref); + if (id == CFNumberGetTypeID()) { + CFNumberRef value = static_cast(pref); + + double scaling; + if (CFNumberGetValue(value, kCFNumberDoubleType, &scaling)) { + wheelIncr = (int32_t)(8 * scaling); + } + } + CFRelease(pref); + } + + if (delta < 0) { + wheelIncr = -wheelIncr; + } + + CGPostScrollWheelEvent(1, wheelIncr); } void @@ -332,6 +371,7 @@ bool COSXScreen::setClipboard(ClipboardID, const IClipboard* src) { COSXClipboard dst; + m_ownClipboard = true; if (src != NULL) { // save clipboard data return CClipboard::copy(&dst, src); @@ -350,7 +390,18 @@ COSXScreen::setClipboard(ClipboardID, const IClipboard* src) void COSXScreen::checkClipboards() { - // FIXME -- do nothing if we're always up to date + if (m_ownClipboard && !COSXClipboard::isOwnedBySynergy()) { + static ScrapRef sScrapbook = NULL; + ScrapRef currentScrap; + GetCurrentScrap(¤tScrap); + + if (sScrapbook != currentScrap) { + m_ownClipboard = false; + sendClipboardEvent(getClipboardGrabbedEvent(), kClipboardClipboard); + sendClipboardEvent(getClipboardGrabbedEvent(), kClipboardSelection); + sScrapbook = currentScrap; + } + } } void @@ -406,9 +457,64 @@ COSXScreen::isPrimary() const } void -COSXScreen::handleSystemEvent(const CEvent&, void*) +COSXScreen::sendEvent(CEvent::Type type, void* data) { - // FIXME + EVENTQUEUE->addEvent(CEvent(type, getEventTarget(), data)); +} + +void +COSXScreen::sendClipboardEvent(CEvent::Type type, ClipboardID id) +{ + CClipboardInfo* info = (CClipboardInfo*)malloc(sizeof(CClipboardInfo)); + info->m_id = id; + info->m_sequenceNumber = m_sequenceNumber; + sendEvent(type, info); +} + + +void +COSXScreen::handleSystemEvent(const CEvent& event, void*) +{ +/* + EventRef * carbonEvent = reinterpret_cast(event.getData()); + assert(carbonEvent != NULL); + + UInt32 eventClass = GetEventClass( *carbonEvent ); + + switch( eventClass ) + { + case kEventClassMouse: + { + UInt32 eventKind = GetEventKind( *carbonEvent ); + switch( eventKind ) + { + case kEventMouseMoved: + { + HIPoint point; + GetEventParameter( *carbonEvent, + kEventParamMouseDelta, + typeHIPoint, + NULL, + sizeof(point), + NULL, + &point); + + } break; + } + }break; + + case kEventClassKeyboard: + { + + } + + default: + { + + } break; + + } +*/ } void @@ -426,15 +532,49 @@ COSXScreen::getKeyState() const void COSXScreen::updateScreenShape() { - // FIXME -- handle multiple monitors + // get info for each display + CGDisplayCount displayCount = 0; + + if (CGGetActiveDisplayList(0, NULL, &displayCount) != CGDisplayNoErr) { + return; + } + + if (displayCount == 0) { + return; + } + + CGDirectDisplayID* displays = + (CGDirectDisplayID*)malloc(displayCount * sizeof(CGDirectDisplayID)); + + if (displays == NULL) { + return; + } + + if (CGGetActiveDisplayList(displayCount, + displays, &displayCount) != CGDisplayNoErr) { + free(displays); + return; + } + + // get smallest rect enclosing all display rects + CGRect totalBounds = CGRectZero; + for (CGDisplayCount i = 0; i < displayCount; ++i) { + CGRect bounds = CGDisplayBounds(displays[i]); + totalBounds = CGRectUnion(totalBounds, bounds); + } // get shape of default screen - m_x = 0; - m_y = 0; - m_w = CGDisplayPixelsWide(m_displayID); - m_h = CGDisplayPixelsHigh(m_displayID); + m_x = (SInt32)totalBounds.origin.x; + m_y = (SInt32)totalBounds.origin.y; + m_w = (SInt32)totalBounds.size.width; + m_h = (SInt32)totalBounds.size.height; // get center of default screen + // XXX -- this should compute the center of displays[0] m_xCenter = m_x + (m_w >> 1); m_yCenter = m_y + (m_h >> 1); + + LOG((CLOG_DEBUG "screen shape: %d,%d %dx%d on %u %s", m_x, m_y, m_w, m_h, displayCount, (displayCount == 1) ? "display" : "displays")); + + free(displays); } diff --git a/lib/platform/COSXScreen.h b/lib/platform/COSXScreen.h index 0bb2d310..12aca416 100644 --- a/lib/platform/COSXScreen.h +++ b/lib/platform/COSXScreen.h @@ -76,7 +76,12 @@ protected: private: void updateScreenShape(); - + void postMouseEvent(const CGPoint &) const; + + // convenience function to send events + void sendEvent(CEvent::Type type, void* = NULL); + void sendClipboardEvent(CEvent::Type type, ClipboardID id); + private: // true if screen is being used as a primary screen, false otherwise bool m_isPrimary; @@ -107,6 +112,9 @@ private: // screen saver stuff COSXScreenSaver* m_screensaver; bool m_screensaverNotify; + + // clipboard stuff + bool m_ownClipboard; }; #endif diff --git a/lib/platform/Makefile.am b/lib/platform/Makefile.am index 5b5bd13d..116d6566 100644 --- a/lib/platform/Makefile.am +++ b/lib/platform/Makefile.am @@ -71,11 +71,17 @@ MSWINDOWS_HOOK_SOURCE_FILES = \ $(NULL) CARBON_SOURCE_FILES = \ COSXClipboard.cpp \ + COSXClipboardAnyTextConverter.cpp \ + COSXClipboardTextConverter.cpp \ + COSXClipboardUTF16Converter.cpp \ COSXEventQueueBuffer.cpp \ COSXKeyState.cpp \ COSXScreen.cpp \ COSXScreenSaver.cpp \ COSXClipboard.h \ + COSXClipboardAnyTextConverter.h \ + COSXClipboardTextConverter.h \ + COSXClipboardUTF16Converter.h \ COSXEventQueueBuffer.h \ COSXKeyState.h \ COSXScreen.h \ diff --git a/synergy.xcode/project.pbxproj b/synergy.xcode/project.pbxproj new file mode 100644 index 00000000..37e1c34e --- /dev/null +++ b/synergy.xcode/project.pbxproj @@ -0,0 +1,4486 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 39; + objects = { + 014CEA460018CE2711CA2923 = { + buildRules = ( + ); + buildSettings = { + COPY_PHASE_STRIP = NO; + DEBUGGING_SYMBOLS = YES; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + ZERO_LINK = NO; + }; + isa = PBXBuildStyle; + name = Development; + }; + 014CEA470018CE2711CA2923 = { + buildRules = ( + ); + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + ZERO_LINK = NO; + }; + isa = PBXBuildStyle; + name = Deployment; + }; +//010 +//011 +//012 +//013 +//014 +//020 +//021 +//022 +//023 +//024 + 0249A662FF388D9811CA2CEA = { + children = ( + 4CDF3892063E561B007B20A1, + 4CDF3893063E561B007B20A1, + 4CDF3894063E561B007B20A1, + 4CDF3895063E561B007B20A1, + 4CDF3896063E561B007B20A1, + 4CDF3897063E561B007B20A1, + 4CDF3898063E561B007B20A1, + 4CDF3899063E561B007B20A1, + 4CB43923063E4B1300969041, + ); + isa = PBXGroup; + name = "External Frameworks and Libraries"; + refType = 4; + sourceTree = ""; + }; +//020 +//021 +//022 +//023 +//024 +//080 +//081 +//082 +//083 +//084 + 08FB7793FE84155DC02AAC07 = { + buildSettings = { + }; + buildStyles = ( + 014CEA460018CE2711CA2923, + 014CEA470018CE2711CA2923, + ); + hasScannedForEncodings = 1; + isa = PBXProject; + mainGroup = 08FB7794FE84155DC02AAC07; + projectDirPath = ""; + targets = ( + 4CD033E80650965F00525ED1, + 4CB437B4063E443800969041, + 4C5E868C0648C2ED003C637B, + 4CB437D0063E44C200969041, + 4CB43800063E45F200969041, + 4CB43823063E46AB00969041, + 4CB43847063E475800969041, + 4CB4386D063E47F800969041, + 4CB438B0063E488600969041, + 4CB43777063E406A00969041, + 4C537F30064E29F800D3815C, + 4CB43913063E497700969041, + 4C537F0C064E286700D3815C, + ); + }; + 08FB7794FE84155DC02AAC07 = { + children = ( + 08FB7795FE84155DC02AAC07, + 0249A662FF388D9811CA2CEA, + 1AB674ADFE9D54B511CA2CBB, + ); + isa = PBXGroup; + name = synergy; + refType = 4; + sourceTree = ""; + }; + 08FB7795FE84155DC02AAC07 = { + children = ( + 4CB4378B063E432C00969041, + 4CB437D2063E44E400969041, + 4CB43779063E40B600969041, + 4C5E86CA0648C6FB003C637B, + 4CB4381E063E469300969041, + 4CB437FB063E45D700969041, + 4CB43849063E478900969041, + 4CB438AD063E487200969041, + 4C537F2B064E29C900D3815C, + 4CB43866063E47C800969041, + 4CB43916063E4A1A00969041, + 4C537F07064E283300D3815C, + ); + isa = PBXGroup; + name = Source; + refType = 4; + sourceTree = ""; + }; +//080 +//081 +//082 +//083 +//084 +//1A0 +//1A1 +//1A2 +//1A3 +//1A4 + 1AB674ADFE9D54B511CA2CBB = { + children = ( + 4CB43778063E406A00969041, + 4C5E868D0648C2ED003C637B, + 4CB437B5063E443800969041, + 4CB437D1063E44C200969041, + 4CB43801063E45F200969041, + 4CB43824063E46AB00969041, + 4CB43848063E475800969041, + 4C537F31064E29F800D3815C, + 4CB4386E063E47F800969041, + 4CB438B1063E488600969041, + 4CB43914063E497700969041, + 4C537F0D064E286700D3815C, + ); + isa = PBXGroup; + name = Products; + refType = 4; + sourceTree = ""; + }; +//1A0 +//1A1 +//1A2 +//1A3 +//1A4 +//4C0 +//4C1 +//4C2 +//4C3 +//4C4 + 4C537F07064E283300D3815C = { + children = ( + 4C537F0F064E293000D3815C, + 4C537F10064E293000D3815C, + 4C537F11064E293000D3815C, + 4C537F12064E293000D3815C, + 4C537F13064E293000D3815C, + ); + isa = PBXGroup; + name = SynergyS; + path = ""; + refType = 4; + sourceTree = ""; + }; + 4C537F0A064E286700D3815C = { + buildActionMask = 2147483647; + files = ( + 4C537F15064E293000D3815C, + 4C537F17064E293000D3815C, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4C537F0B064E286700D3815C = { + buildActionMask = 2147483647; + files = ( + 4C537F14064E293000D3815C, + 4C537F16064E293000D3815C, + 4C537F18064E293000D3815C, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4C537F0C064E286700D3815C = { + buildPhases = ( + 4C537F0A064E286700D3815C, + 4C537F0B064E286700D3815C, + 4C537F5A064E2B0700D3815C, + ); + buildRules = ( + ); + buildSettings = { + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base ./lib/mt ./lib/io ./lib/net ./lib/synergy ./lib/platform ./lib/client"; + INSTALL_PATH = /usr/local/bin; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = synergys; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + 4C537F1A064E298800D3815C, + 4C537F1C064E298800D3815C, + 4C537F1E064E298800D3815C, + 4C537F20064E298800D3815C, + 4C537F22064E298800D3815C, + 4C537F24064E298800D3815C, + 4C537F26064E298800D3815C, + 4C537F28064E298800D3815C, + 4C537F57064E2AA300D3815C, + ); + isa = PBXNativeTarget; + name = synergys; + productName = synergys; + productReference = 4C537F0D064E286700D3815C; + productType = "com.apple.product-type.tool"; + }; + 4C537F0D064E286700D3815C = { + explicitFileType = "compiled.mach-o.executable"; + includeInIndex = 0; + isa = PBXFileReference; + path = synergys; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4C537F0F064E293000D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXServerTaskBarReceiver.cpp; + path = cmd/synergys/COSXServerTaskBarReceiver.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F10064E293000D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXServerTaskBarReceiver.h; + path = cmd/synergys/COSXServerTaskBarReceiver.h; + refType = 4; + sourceTree = ""; + }; + 4C537F11064E293000D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CServerTaskBarReceiver.cpp; + path = cmd/synergys/CServerTaskBarReceiver.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F12064E293000D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CServerTaskBarReceiver.h; + path = cmd/synergys/CServerTaskBarReceiver.h; + refType = 4; + sourceTree = ""; + }; + 4C537F13064E293000D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = synergys.cpp; + path = cmd/synergys/synergys.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F14064E293000D3815C = { + fileRef = 4C537F0F064E293000D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F15064E293000D3815C = { + fileRef = 4C537F10064E293000D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F16064E293000D3815C = { + fileRef = 4C537F11064E293000D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F17064E293000D3815C = { + fileRef = 4C537F12064E293000D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F18064E293000D3815C = { + fileRef = 4C537F13064E293000D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F19064E298800D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB437B4063E443800969041; + remoteInfo = arch; + }; + 4C537F1A064E298800D3815C = { + isa = PBXTargetDependency; + target = 4CB437B4063E443800969041; + targetProxy = 4C537F19064E298800D3815C; + }; + 4C537F1B064E298800D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4C5E868C0648C2ED003C637B; + remoteInfo = common; + }; + 4C537F1C064E298800D3815C = { + isa = PBXTargetDependency; + target = 4C5E868C0648C2ED003C637B; + targetProxy = 4C537F1B064E298800D3815C; + }; + 4C537F1D064E298800D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB437D0063E44C200969041; + remoteInfo = base; + }; + 4C537F1E064E298800D3815C = { + isa = PBXTargetDependency; + target = 4CB437D0063E44C200969041; + targetProxy = 4C537F1D064E298800D3815C; + }; + 4C537F1F064E298800D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB43800063E45F200969041; + remoteInfo = mt; + }; + 4C537F20064E298800D3815C = { + isa = PBXTargetDependency; + target = 4CB43800063E45F200969041; + targetProxy = 4C537F1F064E298800D3815C; + }; + 4C537F21064E298800D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB43823063E46AB00969041; + remoteInfo = io; + }; + 4C537F22064E298800D3815C = { + isa = PBXTargetDependency; + target = 4CB43823063E46AB00969041; + targetProxy = 4C537F21064E298800D3815C; + }; + 4C537F23064E298800D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB43847063E475800969041; + remoteInfo = net; + }; + 4C537F24064E298800D3815C = { + isa = PBXTargetDependency; + target = 4CB43847063E475800969041; + targetProxy = 4C537F23064E298800D3815C; + }; + 4C537F25064E298800D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB4386D063E47F800969041; + remoteInfo = synergy; + }; + 4C537F26064E298800D3815C = { + isa = PBXTargetDependency; + target = 4CB4386D063E47F800969041; + targetProxy = 4C537F25064E298800D3815C; + }; + 4C537F27064E298800D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB438B0063E488600969041; + remoteInfo = platform; + }; + 4C537F28064E298800D3815C = { + isa = PBXTargetDependency; + target = 4CB438B0063E488600969041; + targetProxy = 4C537F27064E298800D3815C; + }; + 4C537F2B064E29C900D3815C = { + children = ( + 4C537F32064E2A0F00D3815C, + 4C537F33064E2A0F00D3815C, + 4C537F34064E2A0F00D3815C, + 4C537F35064E2A0F00D3815C, + 4C537F36064E2A0F00D3815C, + 4C537F37064E2A0F00D3815C, + 4C537F38064E2A0F00D3815C, + 4C537F39064E2A0F00D3815C, + 4C537F3A064E2A0F00D3815C, + 4C537F3B064E2A0F00D3815C, + 4C537F3C064E2A0F00D3815C, + 4C537F3D064E2A0F00D3815C, + 4C537F3E064E2A0F00D3815C, + 4C537F3F064E2A0F00D3815C, + 4C537F40064E2A0F00D3815C, + 4C537F41064E2A0F00D3815C, + 4C537F42064E2A0F00D3815C, + 4C537F43064E2A0F00D3815C, + ); + isa = PBXGroup; + name = Server; + refType = 4; + sourceTree = ""; + }; + 4C537F2E064E29F800D3815C = { + buildActionMask = 2147483647; + files = ( + 4C537F45064E2A0F00D3815C, + 4C537F47064E2A0F00D3815C, + 4C537F49064E2A0F00D3815C, + 4C537F4B064E2A0F00D3815C, + 4C537F4D064E2A0F00D3815C, + 4C537F4F064E2A0F00D3815C, + 4C537F51064E2A0F00D3815C, + 4C537F53064E2A0F00D3815C, + 4C537F55064E2A0F00D3815C, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4C537F2F064E29F800D3815C = { + buildActionMask = 2147483647; + files = ( + 4C537F44064E2A0F00D3815C, + 4C537F46064E2A0F00D3815C, + 4C537F48064E2A0F00D3815C, + 4C537F4A064E2A0F00D3815C, + 4C537F4C064E2A0F00D3815C, + 4C537F4E064E2A0F00D3815C, + 4C537F50064E2A0F00D3815C, + 4C537F52064E2A0F00D3815C, + 4C537F54064E2A0F00D3815C, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4C537F30064E29F800D3815C = { + buildPhases = ( + 4C537F2E064E29F800D3815C, + 4C537F2F064E29F800D3815C, + ); + buildRules = ( + ); + buildSettings = { + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base ./lib/mt ./lib/io ./lib/net ./lib/synergy ./lib/platform"; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = server; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = server; + productName = server; + productReference = 4C537F31064E29F800D3815C; + productType = "com.apple.product-type.library.static"; + }; + 4C537F31064E29F800D3815C = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libserver.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4C537F32064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClientListener.cpp; + path = lib/server/CClientListener.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F33064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClientListener.h; + path = lib/server/CClientListener.h; + refType = 4; + sourceTree = ""; + }; + 4C537F34064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClientProxy.cpp; + path = lib/server/CClientProxy.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F35064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClientProxy.h; + path = lib/server/CClientProxy.h; + refType = 4; + sourceTree = ""; + }; + 4C537F36064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClientProxy1_0.cpp; + path = lib/server/CClientProxy1_0.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F37064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClientProxy1_0.h; + path = lib/server/CClientProxy1_0.h; + refType = 4; + sourceTree = ""; + }; + 4C537F38064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClientProxy1_1.cpp; + path = lib/server/CClientProxy1_1.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F39064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClientProxy1_1.h; + path = lib/server/CClientProxy1_1.h; + refType = 4; + sourceTree = ""; + }; + 4C537F3A064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClientProxy1_2.cpp; + path = lib/server/CClientProxy1_2.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F3B064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClientProxy1_2.h; + path = lib/server/CClientProxy1_2.h; + refType = 4; + sourceTree = ""; + }; + 4C537F3C064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClientProxyUnknown.cpp; + path = lib/server/CClientProxyUnknown.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F3D064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClientProxyUnknown.h; + path = lib/server/CClientProxyUnknown.h; + refType = 4; + sourceTree = ""; + }; + 4C537F3E064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CConfig.cpp; + path = lib/server/CConfig.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F3F064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CConfig.h; + path = lib/server/CConfig.h; + refType = 4; + sourceTree = ""; + }; + 4C537F40064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CPrimaryClient.cpp; + path = lib/server/CPrimaryClient.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F41064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CPrimaryClient.h; + path = lib/server/CPrimaryClient.h; + refType = 4; + sourceTree = ""; + }; + 4C537F42064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CServer.cpp; + path = lib/server/CServer.cpp; + refType = 4; + sourceTree = ""; + }; + 4C537F43064E2A0F00D3815C = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CServer.h; + path = lib/server/CServer.h; + refType = 4; + sourceTree = ""; + }; + 4C537F44064E2A0F00D3815C = { + fileRef = 4C537F32064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F45064E2A0F00D3815C = { + fileRef = 4C537F33064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F46064E2A0F00D3815C = { + fileRef = 4C537F34064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F47064E2A0F00D3815C = { + fileRef = 4C537F35064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F48064E2A0F00D3815C = { + fileRef = 4C537F36064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F49064E2A0F00D3815C = { + fileRef = 4C537F37064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F4A064E2A0F00D3815C = { + fileRef = 4C537F38064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F4B064E2A0F00D3815C = { + fileRef = 4C537F39064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F4C064E2A0F00D3815C = { + fileRef = 4C537F3A064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F4D064E2A0F00D3815C = { + fileRef = 4C537F3B064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F4E064E2A0F00D3815C = { + fileRef = 4C537F3C064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F4F064E2A0F00D3815C = { + fileRef = 4C537F3D064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F50064E2A0F00D3815C = { + fileRef = 4C537F3E064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F51064E2A0F00D3815C = { + fileRef = 4C537F3F064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F52064E2A0F00D3815C = { + fileRef = 4C537F40064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F53064E2A0F00D3815C = { + fileRef = 4C537F41064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F54064E2A0F00D3815C = { + fileRef = 4C537F42064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F55064E2A0F00D3815C = { + fileRef = 4C537F43064E2A0F00D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F56064E2AA300D3815C = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4C537F30064E29F800D3815C; + remoteInfo = server; + }; + 4C537F57064E2AA300D3815C = { + isa = PBXTargetDependency; + target = 4C537F30064E29F800D3815C; + targetProxy = 4C537F56064E2AA300D3815C; + }; + 4C537F5A064E2B0700D3815C = { + buildActionMask = 2147483647; + files = ( + 4C537F64064E2B4B00D3815C, + 4C537F5B064E2B4200D3815C, + 4C537F5C064E2B4200D3815C, + 4C537F5D064E2B4200D3815C, + 4C537F5E064E2B4200D3815C, + 4C537F5F064E2B4200D3815C, + 4C537F60064E2B4200D3815C, + 4C537F61064E2B4200D3815C, + 4C537F62064E2B4200D3815C, + 4C537F63064E2B4200D3815C, + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4C537F5B064E2B4200D3815C = { + fileRef = 4C5E868D0648C2ED003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F5C064E2B4200D3815C = { + fileRef = 4CB437B5063E443800969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F5D064E2B4200D3815C = { + fileRef = 4CB437D1063E44C200969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F5E064E2B4200D3815C = { + fileRef = 4CB43801063E45F200969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F5F064E2B4200D3815C = { + fileRef = 4CB43824063E46AB00969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F60064E2B4200D3815C = { + fileRef = 4CB43848063E475800969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F61064E2B4200D3815C = { + fileRef = 4C537F31064E29F800D3815C; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F62064E2B4200D3815C = { + fileRef = 4CB4386E063E47F800969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F63064E2B4200D3815C = { + fileRef = 4CB438B1063E488600969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4C537F64064E2B4B00D3815C = { + fileRef = 4CB43923063E4B1300969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E868A0648C2ED003C637B = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4C5E868B0648C2ED003C637B = { + buildActionMask = 2147483647; + files = ( + 4C5E86CC0648C726003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4C5E868C0648C2ED003C637B = { + buildPhases = ( + 4C5E868A0648C2ED003C637B, + 4C5E868B0648C2ED003C637B, + ); + buildRules = ( + ); + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRECOMP_DESTINATION_DIR = ""; + PRODUCT_NAME = common; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = common; + productName = common; + productReference = 4C5E868D0648C2ED003C637B; + productType = "com.apple.product-type.library.static"; + }; + 4C5E868D0648C2ED003C637B = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libcommon.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4C5E868F0648C32E003C637B = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4C5E868C0648C2ED003C637B; + remoteInfo = common; + }; + 4C5E86900648C32E003C637B = { + isa = PBXTargetDependency; + target = 4C5E868C0648C2ED003C637B; + targetProxy = 4C5E868F0648C32E003C637B; + }; + 4C5E86920648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArch.cpp; + path = lib/arch/CArch.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86930648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArch.h; + path = lib/arch/CArch.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86940648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchConsoleUnix.cpp; + path = lib/arch/CArchConsoleUnix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86950648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchConsoleUnix.h; + path = lib/arch/CArchConsoleUnix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86960648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchDaemonUnix.cpp; + path = lib/arch/CArchDaemonUnix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86970648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchDaemonUnix.h; + path = lib/arch/CArchDaemonUnix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86980648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchFileUnix.cpp; + path = lib/arch/CArchFileUnix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86990648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchFileUnix.h; + path = lib/arch/CArchFileUnix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E869A0648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchLogUnix.cpp; + path = lib/arch/CArchLogUnix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E869B0648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchLogUnix.h; + path = lib/arch/CArchLogUnix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E869C0648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchMultithreadPosix.cpp; + path = lib/arch/CArchMultithreadPosix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E869D0648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchMultithreadPosix.h; + path = lib/arch/CArchMultithreadPosix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E869E0648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchNetworkBSD.cpp; + path = lib/arch/CArchNetworkBSD.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E869F0648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchNetworkBSD.h; + path = lib/arch/CArchNetworkBSD.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86A00648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchSleepUnix.cpp; + path = lib/arch/CArchSleepUnix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86A10648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchSleepUnix.h; + path = lib/arch/CArchSleepUnix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86A20648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchStringUnix.cpp; + path = lib/arch/CArchStringUnix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86A30648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchStringUnix.h; + path = lib/arch/CArchStringUnix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86A40648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchTimeUnix.cpp; + path = lib/arch/CArchTimeUnix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86A50648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchTimeUnix.h; + path = lib/arch/CArchTimeUnix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86A70648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = XArchUnix.cpp; + path = lib/arch/XArchUnix.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86A80648C412003C637B = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = XArchUnix.h; + path = lib/arch/XArchUnix.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86A90648C412003C637B = { + fileRef = 4C5E86920648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86AA0648C412003C637B = { + fileRef = 4C5E86930648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86AB0648C412003C637B = { + fileRef = 4C5E86940648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86AC0648C412003C637B = { + fileRef = 4C5E86950648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86AD0648C412003C637B = { + fileRef = 4C5E86960648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86AE0648C412003C637B = { + fileRef = 4C5E86970648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86AF0648C412003C637B = { + fileRef = 4C5E86980648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B00648C412003C637B = { + fileRef = 4C5E86990648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B10648C412003C637B = { + fileRef = 4C5E869A0648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B20648C412003C637B = { + fileRef = 4C5E869B0648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B30648C412003C637B = { + fileRef = 4C5E869C0648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B40648C412003C637B = { + fileRef = 4C5E869D0648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B50648C412003C637B = { + fileRef = 4C5E869E0648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B60648C412003C637B = { + fileRef = 4C5E869F0648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B70648C412003C637B = { + fileRef = 4C5E86A00648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B80648C412003C637B = { + fileRef = 4C5E86A10648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86B90648C412003C637B = { + fileRef = 4C5E86A20648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86BA0648C412003C637B = { + fileRef = 4C5E86A30648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86BB0648C412003C637B = { + fileRef = 4C5E86A40648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86BC0648C412003C637B = { + fileRef = 4C5E86A50648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86BE0648C412003C637B = { + fileRef = 4C5E86A70648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86BF0648C412003C637B = { + fileRef = 4C5E86A80648C412003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86C00648C653003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchDaemonNone.cpp; + path = lib/arch/CArchDaemonNone.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86C10648C653003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchDaemonNone.h; + path = lib/arch/CArchDaemonNone.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86C20648C653003C637B = { + fileRef = 4C5E86C00648C653003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86C30648C653003C637B = { + fileRef = 4C5E86C10648C653003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86C40648C6B7003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CArchTaskBarXWindows.cpp; + path = lib/arch/CArchTaskBarXWindows.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86C50648C6B7003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CArchTaskBarXWindows.h; + path = lib/arch/CArchTaskBarXWindows.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86C60648C6B7003C637B = { + fileRef = 4C5E86C40648C6B7003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86C70648C6B7003C637B = { + fileRef = 4C5E86C50648C6B7003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86CA0648C6FB003C637B = { + children = ( + 4C5E86CB0648C725003C637B, + ); + isa = PBXGroup; + name = Common; + refType = 4; + sourceTree = ""; + }; + 4C5E86CB0648C725003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = Version.cpp; + path = lib/common/Version.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86CC0648C726003C637B = { + fileRef = 4C5E86CB0648C725003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86CD0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CEvent.cpp; + path = lib/base/CEvent.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86CE0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CEvent.h; + path = lib/base/CEvent.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86CF0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CEventQueue.cpp; + path = lib/base/CEventQueue.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86D00648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CEventQueue.h; + path = lib/base/CEventQueue.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86D10648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CFunctionEventJob.cpp; + path = lib/base/CFunctionEventJob.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86D20648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CFunctionEventJob.h; + path = lib/base/CFunctionEventJob.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86D30648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CFunctionJob.cpp; + path = lib/base/CFunctionJob.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86D40648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CFunctionJob.h; + path = lib/base/CFunctionJob.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86D50648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CLog.cpp; + path = lib/base/CLog.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86D60648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CLog.h; + path = lib/base/CLog.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86D70648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CPriorityQueue.h; + path = lib/base/CPriorityQueue.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86D80648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CSimpleEventQueueBuffer.cpp; + path = lib/base/CSimpleEventQueueBuffer.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86D90648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CSimpleEventQueueBuffer.h; + path = lib/base/CSimpleEventQueueBuffer.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86DA0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CStopwatch.cpp; + path = lib/base/CStopwatch.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86DB0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CStopwatch.h; + path = lib/base/CStopwatch.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86DC0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CString.h; + path = lib/base/CString.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86DD0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CStringUtil.cpp; + path = lib/base/CStringUtil.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86DE0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CStringUtil.h; + path = lib/base/CStringUtil.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86DF0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CUnicode.cpp; + path = lib/base/CUnicode.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86E00648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CUnicode.h; + path = lib/base/CUnicode.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86E10648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IEventJob.h; + path = lib/base/IEventJob.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86E20648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = IEventQueue.cpp; + path = lib/base/IEventQueue.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86E30648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IEventQueue.h; + path = lib/base/IEventQueue.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86E40648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IEventQueueBuffer.h; + path = lib/base/IEventQueueBuffer.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86E50648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IJob.h; + path = lib/base/IJob.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86E60648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = ILogOutputter.h; + path = lib/base/ILogOutputter.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86E70648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = LogOutputters.cpp; + path = lib/base/LogOutputters.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86E80648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = LogOutputters.h; + path = lib/base/LogOutputters.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86E90648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = TMethodEventJob.h; + path = lib/base/TMethodEventJob.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86EA0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = TMethodJob.h; + path = lib/base/TMethodJob.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86EB0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = XBase.cpp; + path = lib/base/XBase.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E86EC0648C7B9003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = XBase.h; + path = lib/base/XBase.h; + refType = 4; + sourceTree = ""; + }; + 4C5E86ED0648C7B9003C637B = { + fileRef = 4C5E86CD0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86EE0648C7B9003C637B = { + fileRef = 4C5E86CE0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86EF0648C7B9003C637B = { + fileRef = 4C5E86CF0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F00648C7B9003C637B = { + fileRef = 4C5E86D00648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F10648C7B9003C637B = { + fileRef = 4C5E86D10648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F20648C7B9003C637B = { + fileRef = 4C5E86D20648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F30648C7B9003C637B = { + fileRef = 4C5E86D30648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F40648C7B9003C637B = { + fileRef = 4C5E86D40648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F50648C7B9003C637B = { + fileRef = 4C5E86D50648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F60648C7B9003C637B = { + fileRef = 4C5E86D60648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F70648C7B9003C637B = { + fileRef = 4C5E86D70648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F80648C7B9003C637B = { + fileRef = 4C5E86D80648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86F90648C7B9003C637B = { + fileRef = 4C5E86D90648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86FA0648C7B9003C637B = { + fileRef = 4C5E86DA0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86FB0648C7B9003C637B = { + fileRef = 4C5E86DB0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86FC0648C7B9003C637B = { + fileRef = 4C5E86DC0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86FD0648C7B9003C637B = { + fileRef = 4C5E86DD0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86FE0648C7B9003C637B = { + fileRef = 4C5E86DE0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E86FF0648C7B9003C637B = { + fileRef = 4C5E86DF0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87000648C7B9003C637B = { + fileRef = 4C5E86E00648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87010648C7B9003C637B = { + fileRef = 4C5E86E10648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87020648C7B9003C637B = { + fileRef = 4C5E86E20648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87030648C7B9003C637B = { + fileRef = 4C5E86E30648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87040648C7B9003C637B = { + fileRef = 4C5E86E40648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87050648C7B9003C637B = { + fileRef = 4C5E86E50648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87060648C7B9003C637B = { + fileRef = 4C5E86E60648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87070648C7B9003C637B = { + fileRef = 4C5E86E70648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87080648C7B9003C637B = { + fileRef = 4C5E86E80648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87090648C7B9003C637B = { + fileRef = 4C5E86E90648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E870A0648C7B9003C637B = { + fileRef = 4C5E86EA0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E870B0648C7B9003C637B = { + fileRef = 4C5E86EB0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E870C0648C7B9003C637B = { + fileRef = 4C5E86EC0648C7B9003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E870D0648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CCondVar.cpp; + path = lib/mt/CCondVar.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E870E0648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CCondVar.h; + path = lib/mt/CCondVar.h; + refType = 4; + sourceTree = ""; + }; + 4C5E870F0648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CLock.cpp; + path = lib/mt/CLock.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87100648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CLock.h; + path = lib/mt/CLock.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87110648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CMutex.cpp; + path = lib/mt/CMutex.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87120648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CMutex.h; + path = lib/mt/CMutex.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87130648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CThread.cpp; + path = lib/mt/CThread.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87140648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CThread.h; + path = lib/mt/CThread.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87150648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = XMT.cpp; + path = lib/mt/XMT.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87160648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = XMT.h; + path = lib/mt/XMT.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87170648C809003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = XThread.h; + path = lib/mt/XThread.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87180648C809003C637B = { + fileRef = 4C5E870D0648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87190648C809003C637B = { + fileRef = 4C5E870E0648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E871A0648C809003C637B = { + fileRef = 4C5E870F0648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E871B0648C809003C637B = { + fileRef = 4C5E87100648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E871C0648C809003C637B = { + fileRef = 4C5E87110648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E871D0648C809003C637B = { + fileRef = 4C5E87120648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E871E0648C809003C637B = { + fileRef = 4C5E87130648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E871F0648C809003C637B = { + fileRef = 4C5E87140648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87200648C809003C637B = { + fileRef = 4C5E87150648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87210648C809003C637B = { + fileRef = 4C5E87160648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87220648C809003C637B = { + fileRef = 4C5E87170648C809003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87230648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CStreamBuffer.cpp; + path = lib/io/CStreamBuffer.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87240648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CStreamBuffer.h; + path = lib/io/CStreamBuffer.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87250648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CStreamFilter.cpp; + path = lib/io/CStreamFilter.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87260648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CStreamFilter.h; + path = lib/io/CStreamFilter.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87270648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = IStream.cpp; + path = lib/io/IStream.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87280648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IStream.h; + path = lib/io/IStream.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87290648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IStreamFilterFactory.h; + path = lib/io/IStreamFilterFactory.h; + refType = 4; + sourceTree = ""; + }; + 4C5E872A0648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = XIO.cpp; + path = lib/io/XIO.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E872B0648C83C003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = XIO.h; + path = lib/io/XIO.h; + refType = 4; + sourceTree = ""; + }; + 4C5E872C0648C83C003C637B = { + fileRef = 4C5E87230648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E872D0648C83C003C637B = { + fileRef = 4C5E87240648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E872E0648C83C003C637B = { + fileRef = 4C5E87250648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E872F0648C83C003C637B = { + fileRef = 4C5E87260648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87300648C83C003C637B = { + fileRef = 4C5E87270648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87310648C83C003C637B = { + fileRef = 4C5E87280648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87320648C83C003C637B = { + fileRef = 4C5E87290648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87330648C83C003C637B = { + fileRef = 4C5E872A0648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87340648C83C003C637B = { + fileRef = 4C5E872B0648C83C003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87350648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CNetworkAddress.cpp; + path = lib/net/CNetworkAddress.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87360648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CNetworkAddress.h; + path = lib/net/CNetworkAddress.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87370648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CSocketMultiplexer.cpp; + path = lib/net/CSocketMultiplexer.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87380648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CSocketMultiplexer.h; + path = lib/net/CSocketMultiplexer.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87390648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CTCPListenSocket.cpp; + path = lib/net/CTCPListenSocket.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E873A0648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CTCPListenSocket.h; + path = lib/net/CTCPListenSocket.h; + refType = 4; + sourceTree = ""; + }; + 4C5E873B0648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CTCPSocket.cpp; + path = lib/net/CTCPSocket.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E873C0648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CTCPSocket.h; + path = lib/net/CTCPSocket.h; + refType = 4; + sourceTree = ""; + }; + 4C5E873D0648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CTCPSocketFactory.cpp; + path = lib/net/CTCPSocketFactory.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E873E0648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CTCPSocketFactory.h; + path = lib/net/CTCPSocketFactory.h; + refType = 4; + sourceTree = ""; + }; + 4C5E873F0648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = IDataSocket.cpp; + path = lib/net/IDataSocket.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87400648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IDataSocket.h; + path = lib/net/IDataSocket.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87410648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = IListenSocket.cpp; + path = lib/net/IListenSocket.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87420648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IListenSocket.h; + path = lib/net/IListenSocket.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87430648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = ISocket.cpp; + path = lib/net/ISocket.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87440648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = ISocket.h; + path = lib/net/ISocket.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87450648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = ISocketFactory.h; + path = lib/net/ISocketFactory.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87460648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = ISocketMultiplexerJob.h; + path = lib/net/ISocketMultiplexerJob.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87470648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = TSocketMultiplexerMethodJob.h; + path = lib/net/TSocketMultiplexerMethodJob.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87480648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = XSocket.cpp; + path = lib/net/XSocket.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87490648C870003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = XSocket.h; + path = lib/net/XSocket.h; + refType = 4; + sourceTree = ""; + }; + 4C5E874A0648C870003C637B = { + fileRef = 4C5E87350648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E874B0648C870003C637B = { + fileRef = 4C5E87360648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E874C0648C870003C637B = { + fileRef = 4C5E87370648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E874D0648C870003C637B = { + fileRef = 4C5E87380648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E874E0648C870003C637B = { + fileRef = 4C5E87390648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E874F0648C870003C637B = { + fileRef = 4C5E873A0648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87500648C870003C637B = { + fileRef = 4C5E873B0648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87510648C870003C637B = { + fileRef = 4C5E873C0648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87520648C870003C637B = { + fileRef = 4C5E873D0648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87530648C870003C637B = { + fileRef = 4C5E873E0648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87540648C870003C637B = { + fileRef = 4C5E873F0648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87550648C870003C637B = { + fileRef = 4C5E87400648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87560648C870003C637B = { + fileRef = 4C5E87410648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87570648C870003C637B = { + fileRef = 4C5E87420648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87580648C870003C637B = { + fileRef = 4C5E87430648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87590648C870003C637B = { + fileRef = 4C5E87440648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E875A0648C870003C637B = { + fileRef = 4C5E87450648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E875B0648C870003C637B = { + fileRef = 4C5E87460648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E875C0648C870003C637B = { + fileRef = 4C5E87470648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E875D0648C870003C637B = { + fileRef = 4C5E87480648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E875E0648C870003C637B = { + fileRef = 4C5E87490648C870003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E875F0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClipboard.cpp; + path = lib/synergy/CClipboard.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87600648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClipboard.h; + path = lib/synergy/CClipboard.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87610648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CKeyState.cpp; + path = lib/synergy/CKeyState.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87620648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CKeyState.h; + path = lib/synergy/CKeyState.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87630648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = ClipboardTypes.h; + path = lib/synergy/ClipboardTypes.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87640648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CPacketStreamFilter.cpp; + path = lib/synergy/CPacketStreamFilter.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87650648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CPacketStreamFilter.h; + path = lib/synergy/CPacketStreamFilter.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87660648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CPlatformScreen.cpp; + path = lib/synergy/CPlatformScreen.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87670648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CPlatformScreen.h; + path = lib/synergy/CPlatformScreen.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87680648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CProtocolUtil.cpp; + path = lib/synergy/CProtocolUtil.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87690648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CProtocolUtil.h; + path = lib/synergy/CProtocolUtil.h; + refType = 4; + sourceTree = ""; + }; + 4C5E876A0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CScreen.cpp; + path = lib/synergy/CScreen.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E876B0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CScreen.h; + path = lib/synergy/CScreen.h; + refType = 4; + sourceTree = ""; + }; + 4C5E876C0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IClient.h; + path = lib/synergy/IClient.h; + refType = 4; + sourceTree = ""; + }; + 4C5E876D0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = IClipboard.cpp; + path = lib/synergy/IClipboard.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E876E0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IClipboard.h; + path = lib/synergy/IClipboard.h; + refType = 4; + sourceTree = ""; + }; + 4C5E876F0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = IKeyState.cpp; + path = lib/synergy/IKeyState.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87700648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IKeyState.h; + path = lib/synergy/IKeyState.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87710648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IPlatformScreen.h; + path = lib/synergy/IPlatformScreen.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87720648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = IPrimaryScreen.cpp; + path = lib/synergy/IPrimaryScreen.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87730648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IPrimaryScreen.h; + path = lib/synergy/IPrimaryScreen.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87740648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = IScreen.cpp; + path = lib/synergy/IScreen.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87750648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IScreen.h; + path = lib/synergy/IScreen.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87760648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = IScreenSaver.h; + path = lib/synergy/IScreenSaver.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87770648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = ISecondaryScreen.h; + path = lib/synergy/ISecondaryScreen.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87780648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = KeyTypes.h; + path = lib/synergy/KeyTypes.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87790648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = MouseTypes.h; + path = lib/synergy/MouseTypes.h; + refType = 4; + sourceTree = ""; + }; + 4C5E877A0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = OptionTypes.h; + path = lib/synergy/OptionTypes.h; + refType = 4; + sourceTree = ""; + }; + 4C5E877B0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = ProtocolTypes.h; + path = lib/synergy/ProtocolTypes.h; + refType = 4; + sourceTree = ""; + }; + 4C5E877C0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = XScreen.cpp; + path = lib/synergy/XScreen.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E877D0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = XScreen.h; + path = lib/synergy/XScreen.h; + refType = 4; + sourceTree = ""; + }; + 4C5E877E0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = XSynergy.cpp; + path = lib/synergy/XSynergy.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E877F0648C8BD003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = XSynergy.h; + path = lib/synergy/XSynergy.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87800648C8BD003C637B = { + fileRef = 4C5E875F0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87810648C8BD003C637B = { + fileRef = 4C5E87600648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87820648C8BD003C637B = { + fileRef = 4C5E87610648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87830648C8BD003C637B = { + fileRef = 4C5E87620648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87840648C8BD003C637B = { + fileRef = 4C5E87630648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87850648C8BD003C637B = { + fileRef = 4C5E87640648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87860648C8BD003C637B = { + fileRef = 4C5E87650648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87870648C8BD003C637B = { + fileRef = 4C5E87660648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87880648C8BD003C637B = { + fileRef = 4C5E87670648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87890648C8BD003C637B = { + fileRef = 4C5E87680648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E878A0648C8BD003C637B = { + fileRef = 4C5E87690648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E878B0648C8BD003C637B = { + fileRef = 4C5E876A0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E878C0648C8BD003C637B = { + fileRef = 4C5E876B0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E878D0648C8BD003C637B = { + fileRef = 4C5E876C0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E878E0648C8BD003C637B = { + fileRef = 4C5E876D0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E878F0648C8BD003C637B = { + fileRef = 4C5E876E0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87900648C8BD003C637B = { + fileRef = 4C5E876F0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87910648C8BD003C637B = { + fileRef = 4C5E87700648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87920648C8BD003C637B = { + fileRef = 4C5E87710648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87930648C8BD003C637B = { + fileRef = 4C5E87720648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87940648C8BD003C637B = { + fileRef = 4C5E87730648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87950648C8BD003C637B = { + fileRef = 4C5E87740648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87960648C8BD003C637B = { + fileRef = 4C5E87750648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87970648C8BD003C637B = { + fileRef = 4C5E87760648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87980648C8BD003C637B = { + fileRef = 4C5E87770648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87990648C8BD003C637B = { + fileRef = 4C5E87780648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E879A0648C8BD003C637B = { + fileRef = 4C5E87790648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E879B0648C8BD003C637B = { + fileRef = 4C5E877A0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E879C0648C8BD003C637B = { + fileRef = 4C5E877B0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E879D0648C8BD003C637B = { + fileRef = 4C5E877C0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E879E0648C8BD003C637B = { + fileRef = 4C5E877D0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E879F0648C8BD003C637B = { + fileRef = 4C5E877E0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87A00648C8BD003C637B = { + fileRef = 4C5E877F0648C8BD003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87A10648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXClipboard.cpp; + path = lib/platform/COSXClipboard.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87A20648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXClipboard.h; + path = lib/platform/COSXClipboard.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87A30648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXEventQueueBuffer.cpp; + path = lib/platform/COSXEventQueueBuffer.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87A40648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXEventQueueBuffer.h; + path = lib/platform/COSXEventQueueBuffer.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87A50648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXKeyState.cpp; + path = lib/platform/COSXKeyState.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87A60648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXKeyState.h; + path = lib/platform/COSXKeyState.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87A70648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXScreen.cpp; + path = lib/platform/COSXScreen.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87A80648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXScreen.h; + path = lib/platform/COSXScreen.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87A90648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXScreenSaver.cpp; + path = lib/platform/COSXScreenSaver.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87AA0648C913003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXScreenSaver.h; + path = lib/platform/COSXScreenSaver.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87AD0648C913003C637B = { + fileRef = 4C5E87A10648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87AE0648C913003C637B = { + fileRef = 4C5E87A20648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87AF0648C913003C637B = { + fileRef = 4C5E87A30648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87B00648C913003C637B = { + fileRef = 4C5E87A40648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87B10648C913003C637B = { + fileRef = 4C5E87A50648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87B20648C913003C637B = { + fileRef = 4C5E87A60648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87B30648C913003C637B = { + fileRef = 4C5E87A70648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87B40648C913003C637B = { + fileRef = 4C5E87A80648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87B50648C913003C637B = { + fileRef = 4C5E87A90648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87B60648C913003C637B = { + fileRef = 4C5E87AA0648C913003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87B90648C969003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClient.cpp; + path = lib/client/CClient.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87BA0648C969003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClient.h; + path = lib/client/CClient.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87BB0648C969003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CServerProxy.cpp; + path = lib/client/CServerProxy.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87BC0648C969003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CServerProxy.h; + path = lib/client/CServerProxy.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87BD0648C969003C637B = { + fileRef = 4C5E87B90648C969003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87BE0648C969003C637B = { + fileRef = 4C5E87BA0648C969003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87BF0648C969003C637B = { + fileRef = 4C5E87BB0648C969003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87C00648C969003C637B = { + fileRef = 4C5E87BC0648C969003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87C10648C9D2003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = CClientTaskBarReceiver.cpp; + path = cmd/synergyc/CClientTaskBarReceiver.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87C20648C9D2003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = CClientTaskBarReceiver.h; + path = cmd/synergyc/CClientTaskBarReceiver.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87C30648C9D2003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXClientTaskBarReceiver.cpp; + path = cmd/synergyc/COSXClientTaskBarReceiver.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87C40648C9D2003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXClientTaskBarReceiver.h; + path = cmd/synergyc/COSXClientTaskBarReceiver.h; + refType = 4; + sourceTree = ""; + }; + 4C5E87C50648C9D2003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = synergyc.cpp; + path = cmd/synergyc/synergyc.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87C60648C9D2003C637B = { + fileRef = 4C5E87C10648C9D2003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87C70648C9D2003C637B = { + fileRef = 4C5E87C20648C9D2003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87C80648C9D2003C637B = { + fileRef = 4C5E87C30648C9D2003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87C90648C9D2003C637B = { + fileRef = 4C5E87C40648C9D2003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87CA0648C9D2003C637B = { + fileRef = 4C5E87C50648C9D2003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87CF0648CA4B003C637B = { + fileRef = 4C5E868D0648C2ED003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4C5E87D00648CA75003C637B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = XArch.cpp; + path = lib/arch/XArch.cpp; + refType = 4; + sourceTree = ""; + }; + 4C5E87D10648CA75003C637B = { + fileRef = 4C5E87D00648CA75003C637B; + isa = PBXBuildFile; + settings = { + }; + }; + 4CB43775063E406A00969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87BE0648C969003C637B, + 4C5E87C00648C969003C637B, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43776063E406A00969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87BD0648C969003C637B, + 4C5E87BF0648C969003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43777063E406A00969041 = { + buildPhases = ( + 4CB43775063E406A00969041, + 4CB43776063E406A00969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base ./lib/mt ./lib/io ./lib/net ./lib/synergy ./lib/platform"; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = client; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = client; + productName = client; + productReference = 4CB43778063E406A00969041; + productType = "com.apple.product-type.library.static"; + }; + 4CB43778063E406A00969041 = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libclient.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB43779063E40B600969041 = { + children = ( + 4C5E87B90648C969003C637B, + 4C5E87BA0648C969003C637B, + 4C5E87BB0648C969003C637B, + 4C5E87BC0648C969003C637B, + ); + isa = PBXGroup; + name = Client; + refType = 4; + sourceTree = ""; + }; + 4CB4378B063E432C00969041 = { + children = ( + 4C5E86920648C412003C637B, + 4C5E86930648C412003C637B, + 4C5E86C00648C653003C637B, + 4C5E86C10648C653003C637B, + 4C5E86940648C412003C637B, + 4C5E86950648C412003C637B, + 4C5E86960648C412003C637B, + 4C5E86970648C412003C637B, + 4C5E86980648C412003C637B, + 4C5E86990648C412003C637B, + 4C5E869A0648C412003C637B, + 4C5E869B0648C412003C637B, + 4C5E869C0648C412003C637B, + 4C5E869D0648C412003C637B, + 4C5E869E0648C412003C637B, + 4C5E869F0648C412003C637B, + 4C5E86A00648C412003C637B, + 4C5E86A10648C412003C637B, + 4C5E86A20648C412003C637B, + 4C5E86A30648C412003C637B, + 4C5E86C40648C6B7003C637B, + 4C5E86C50648C6B7003C637B, + 4C5E86A40648C412003C637B, + 4C5E86A50648C412003C637B, + 4C5E87D00648CA75003C637B, + 4C5E86A70648C412003C637B, + 4C5E86A80648C412003C637B, + ); + isa = PBXGroup; + name = Arch; + refType = 4; + sourceTree = ""; + }; + 4CB437B2063E443800969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E86AA0648C412003C637B, + 4C5E86AC0648C412003C637B, + 4C5E86AE0648C412003C637B, + 4C5E86B00648C412003C637B, + 4C5E86B20648C412003C637B, + 4C5E86B40648C412003C637B, + 4C5E86B60648C412003C637B, + 4C5E86B80648C412003C637B, + 4C5E86BA0648C412003C637B, + 4C5E86BC0648C412003C637B, + 4C5E86BF0648C412003C637B, + 4C5E86C30648C653003C637B, + 4C5E86C70648C6B7003C637B, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB437B3063E443800969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E86A90648C412003C637B, + 4C5E86AB0648C412003C637B, + 4C5E86AD0648C412003C637B, + 4C5E86AF0648C412003C637B, + 4C5E86B10648C412003C637B, + 4C5E86B30648C412003C637B, + 4C5E86B50648C412003C637B, + 4C5E86B70648C412003C637B, + 4C5E86B90648C412003C637B, + 4C5E86BB0648C412003C637B, + 4C5E86BE0648C412003C637B, + 4C5E86C20648C653003C637B, + 4C5E86C60648C6B7003C637B, + 4C5E87D10648CA75003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB437B4063E443800969041 = { + buildPhases = ( + 4CB437B2063E443800969041, + 4CB437B3063E443800969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = ./lib/common; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRECOMP_DESTINATION_DIR = lib/common/; + PRODUCT_NAME = arch; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = arch; + productName = arch; + productReference = 4CB437B5063E443800969041; + productType = "com.apple.product-type.library.static"; + }; + 4CB437B5063E443800969041 = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libarch.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB437CE063E44C200969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E86EE0648C7B9003C637B, + 4C5E86F00648C7B9003C637B, + 4C5E86F20648C7B9003C637B, + 4C5E86F40648C7B9003C637B, + 4C5E86F60648C7B9003C637B, + 4C5E86F70648C7B9003C637B, + 4C5E86F90648C7B9003C637B, + 4C5E86FB0648C7B9003C637B, + 4C5E86FC0648C7B9003C637B, + 4C5E86FE0648C7B9003C637B, + 4C5E87000648C7B9003C637B, + 4C5E87010648C7B9003C637B, + 4C5E87030648C7B9003C637B, + 4C5E87040648C7B9003C637B, + 4C5E87050648C7B9003C637B, + 4C5E87060648C7B9003C637B, + 4C5E87080648C7B9003C637B, + 4C5E87090648C7B9003C637B, + 4C5E870A0648C7B9003C637B, + 4C5E870C0648C7B9003C637B, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB437CF063E44C200969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E86ED0648C7B9003C637B, + 4C5E86EF0648C7B9003C637B, + 4C5E86F10648C7B9003C637B, + 4C5E86F30648C7B9003C637B, + 4C5E86F50648C7B9003C637B, + 4C5E86F80648C7B9003C637B, + 4C5E86FA0648C7B9003C637B, + 4C5E86FD0648C7B9003C637B, + 4C5E86FF0648C7B9003C637B, + 4C5E87020648C7B9003C637B, + 4C5E87070648C7B9003C637B, + 4C5E870B0648C7B9003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB437D0063E44C200969041 = { + buildPhases = ( + 4CB437CE063E44C200969041, + 4CB437CF063E44C200969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch"; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = base; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = base; + productName = base; + productReference = 4CB437D1063E44C200969041; + productType = "com.apple.product-type.library.static"; + }; + 4CB437D1063E44C200969041 = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libbase.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB437D2063E44E400969041 = { + children = ( + 4C5E86CD0648C7B9003C637B, + 4C5E86CE0648C7B9003C637B, + 4C5E86CF0648C7B9003C637B, + 4C5E86D00648C7B9003C637B, + 4C5E86D10648C7B9003C637B, + 4C5E86D20648C7B9003C637B, + 4C5E86D30648C7B9003C637B, + 4C5E86D40648C7B9003C637B, + 4C5E86D50648C7B9003C637B, + 4C5E86D60648C7B9003C637B, + 4C5E86D70648C7B9003C637B, + 4C5E86D80648C7B9003C637B, + 4C5E86D90648C7B9003C637B, + 4C5E86DA0648C7B9003C637B, + 4C5E86DB0648C7B9003C637B, + 4C5E86DC0648C7B9003C637B, + 4C5E86DD0648C7B9003C637B, + 4C5E86DE0648C7B9003C637B, + 4C5E86DF0648C7B9003C637B, + 4C5E86E00648C7B9003C637B, + 4C5E86E10648C7B9003C637B, + 4C5E86E20648C7B9003C637B, + 4C5E86E30648C7B9003C637B, + 4C5E86E40648C7B9003C637B, + 4C5E86E50648C7B9003C637B, + 4C5E86E60648C7B9003C637B, + 4C5E86E70648C7B9003C637B, + 4C5E86E80648C7B9003C637B, + 4C5E86E90648C7B9003C637B, + 4C5E86EA0648C7B9003C637B, + 4C5E86EB0648C7B9003C637B, + 4C5E86EC0648C7B9003C637B, + ); + isa = PBXGroup; + name = Base; + refType = 4; + sourceTree = ""; + }; + 4CB437FB063E45D700969041 = { + children = ( + 4C5E870D0648C809003C637B, + 4C5E870E0648C809003C637B, + 4C5E870F0648C809003C637B, + 4C5E87100648C809003C637B, + 4C5E87110648C809003C637B, + 4C5E87120648C809003C637B, + 4C5E87130648C809003C637B, + 4C5E87140648C809003C637B, + 4C5E87150648C809003C637B, + 4C5E87160648C809003C637B, + 4C5E87170648C809003C637B, + ); + isa = PBXGroup; + name = MT; + refType = 4; + sourceTree = ""; + }; + 4CB437FE063E45F200969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87190648C809003C637B, + 4C5E871B0648C809003C637B, + 4C5E871D0648C809003C637B, + 4C5E871F0648C809003C637B, + 4C5E87210648C809003C637B, + 4C5E87220648C809003C637B, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB437FF063E45F200969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87180648C809003C637B, + 4C5E871A0648C809003C637B, + 4C5E871C0648C809003C637B, + 4C5E871E0648C809003C637B, + 4C5E87200648C809003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43800063E45F200969041 = { + buildPhases = ( + 4CB437FE063E45F200969041, + 4CB437FF063E45F200969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base"; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = mt; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = mt; + productName = mt; + productReference = 4CB43801063E45F200969041; + productType = "com.apple.product-type.library.static"; + }; + 4CB43801063E45F200969041 = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libmt.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB4381E063E469300969041 = { + children = ( + 4C5E87230648C83C003C637B, + 4C5E87240648C83C003C637B, + 4C5E87250648C83C003C637B, + 4C5E87260648C83C003C637B, + 4C5E87270648C83C003C637B, + 4C5E87280648C83C003C637B, + 4C5E87290648C83C003C637B, + 4C5E872A0648C83C003C637B, + 4C5E872B0648C83C003C637B, + ); + isa = PBXGroup; + name = IO; + refType = 4; + sourceTree = ""; + }; + 4CB43821063E46AB00969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E872D0648C83C003C637B, + 4C5E872F0648C83C003C637B, + 4C5E87310648C83C003C637B, + 4C5E87320648C83C003C637B, + 4C5E87340648C83C003C637B, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43822063E46AB00969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E872C0648C83C003C637B, + 4C5E872E0648C83C003C637B, + 4C5E87300648C83C003C637B, + 4C5E87330648C83C003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43823063E46AB00969041 = { + buildPhases = ( + 4CB43821063E46AB00969041, + 4CB43822063E46AB00969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base ./lib/mt"; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = io; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = io; + productName = io; + productReference = 4CB43824063E46AB00969041; + productType = "com.apple.product-type.library.static"; + }; + 4CB43824063E46AB00969041 = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libio.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB43845063E475800969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E874B0648C870003C637B, + 4C5E874D0648C870003C637B, + 4C5E874F0648C870003C637B, + 4C5E87510648C870003C637B, + 4C5E87530648C870003C637B, + 4C5E87550648C870003C637B, + 4C5E87570648C870003C637B, + 4C5E87590648C870003C637B, + 4C5E875A0648C870003C637B, + 4C5E875B0648C870003C637B, + 4C5E875C0648C870003C637B, + 4C5E875E0648C870003C637B, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43846063E475800969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E874A0648C870003C637B, + 4C5E874C0648C870003C637B, + 4C5E874E0648C870003C637B, + 4C5E87500648C870003C637B, + 4C5E87520648C870003C637B, + 4C5E87540648C870003C637B, + 4C5E87560648C870003C637B, + 4C5E87580648C870003C637B, + 4C5E875D0648C870003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43847063E475800969041 = { + buildPhases = ( + 4CB43845063E475800969041, + 4CB43846063E475800969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base ./lib/mt ./lib/io"; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = net; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = net; + productName = net; + productReference = 4CB43848063E475800969041; + productType = "com.apple.product-type.library.static"; + }; + 4CB43848063E475800969041 = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libnet.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB43849063E478900969041 = { + children = ( + 4C5E87350648C870003C637B, + 4C5E87360648C870003C637B, + 4C5E87370648C870003C637B, + 4C5E87380648C870003C637B, + 4C5E87390648C870003C637B, + 4C5E873A0648C870003C637B, + 4C5E873B0648C870003C637B, + 4C5E873C0648C870003C637B, + 4C5E873D0648C870003C637B, + 4C5E873E0648C870003C637B, + 4C5E873F0648C870003C637B, + 4C5E87400648C870003C637B, + 4C5E87410648C870003C637B, + 4C5E87420648C870003C637B, + 4C5E87430648C870003C637B, + 4C5E87440648C870003C637B, + 4C5E87450648C870003C637B, + 4C5E87460648C870003C637B, + 4C5E87470648C870003C637B, + 4C5E87480648C870003C637B, + 4C5E87490648C870003C637B, + ); + isa = PBXGroup; + name = Net; + refType = 4; + sourceTree = ""; + }; + 4CB43866063E47C800969041 = { + children = ( + 4C5E875F0648C8BD003C637B, + 4C5E87600648C8BD003C637B, + 4C5E87610648C8BD003C637B, + 4C5E87620648C8BD003C637B, + 4C5E87630648C8BD003C637B, + 4C5E87640648C8BD003C637B, + 4C5E87650648C8BD003C637B, + 4C5E87660648C8BD003C637B, + 4C5E87670648C8BD003C637B, + 4C5E87680648C8BD003C637B, + 4C5E87690648C8BD003C637B, + 4C5E876A0648C8BD003C637B, + 4C5E876B0648C8BD003C637B, + 4C5E876C0648C8BD003C637B, + 4C5E876D0648C8BD003C637B, + 4C5E876E0648C8BD003C637B, + 4C5E876F0648C8BD003C637B, + 4C5E87700648C8BD003C637B, + 4C5E87710648C8BD003C637B, + 4C5E87720648C8BD003C637B, + 4C5E87730648C8BD003C637B, + 4C5E87740648C8BD003C637B, + 4C5E87750648C8BD003C637B, + 4C5E87760648C8BD003C637B, + 4C5E87770648C8BD003C637B, + 4C5E87780648C8BD003C637B, + 4C5E87790648C8BD003C637B, + 4C5E877A0648C8BD003C637B, + 4C5E877B0648C8BD003C637B, + 4C5E877C0648C8BD003C637B, + 4C5E877D0648C8BD003C637B, + 4C5E877E0648C8BD003C637B, + 4C5E877F0648C8BD003C637B, + ); + isa = PBXGroup; + name = Synergy; + refType = 4; + sourceTree = ""; + }; + 4CB4386B063E47F800969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87810648C8BD003C637B, + 4C5E87830648C8BD003C637B, + 4C5E87840648C8BD003C637B, + 4C5E87860648C8BD003C637B, + 4C5E87880648C8BD003C637B, + 4C5E878A0648C8BD003C637B, + 4C5E878C0648C8BD003C637B, + 4C5E878D0648C8BD003C637B, + 4C5E878F0648C8BD003C637B, + 4C5E87910648C8BD003C637B, + 4C5E87920648C8BD003C637B, + 4C5E87940648C8BD003C637B, + 4C5E87960648C8BD003C637B, + 4C5E87970648C8BD003C637B, + 4C5E87980648C8BD003C637B, + 4C5E87990648C8BD003C637B, + 4C5E879A0648C8BD003C637B, + 4C5E879B0648C8BD003C637B, + 4C5E879C0648C8BD003C637B, + 4C5E879E0648C8BD003C637B, + 4C5E87A00648C8BD003C637B, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB4386C063E47F800969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87800648C8BD003C637B, + 4C5E87820648C8BD003C637B, + 4C5E87850648C8BD003C637B, + 4C5E87870648C8BD003C637B, + 4C5E87890648C8BD003C637B, + 4C5E878B0648C8BD003C637B, + 4C5E878E0648C8BD003C637B, + 4C5E87900648C8BD003C637B, + 4C5E87930648C8BD003C637B, + 4C5E87950648C8BD003C637B, + 4C5E879D0648C8BD003C637B, + 4C5E879F0648C8BD003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB4386D063E47F800969041 = { + buildPhases = ( + 4CB4386B063E47F800969041, + 4CB4386C063E47F800969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base ./lib/mt ./lib/io ./lib/net"; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = synergy; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = synergy; + productName = synergy; + productReference = 4CB4386E063E47F800969041; + productType = "com.apple.product-type.library.static"; + }; + 4CB4386E063E47F800969041 = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libsynergy.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB438AD063E487200969041 = { + children = ( + 4C5E87A10648C913003C637B, + 4C5E87A20648C913003C637B, + 4CD0348F0650B6F100525ED1, + 4CD034900650B6F100525ED1, + 4CD034910650B6F100525ED1, + 4CD034920650B6F100525ED1, + 4CD034930650B6F100525ED1, + 4CD034940650B6F100525ED1, + 4C5E87A30648C913003C637B, + 4C5E87A40648C913003C637B, + 4C5E87A50648C913003C637B, + 4C5E87A60648C913003C637B, + 4C5E87A70648C913003C637B, + 4C5E87A80648C913003C637B, + 4C5E87A90648C913003C637B, + 4C5E87AA0648C913003C637B, + ); + isa = PBXGroup; + name = Platform; + refType = 4; + sourceTree = ""; + }; + 4CB438AE063E488600969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87AE0648C913003C637B, + 4C5E87B00648C913003C637B, + 4C5E87B20648C913003C637B, + 4C5E87B40648C913003C637B, + 4C5E87B60648C913003C637B, + 4CD034960650B6F100525ED1, + 4CD034980650B6F100525ED1, + 4CD0349A0650B6F100525ED1, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB438AF063E488600969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87AD0648C913003C637B, + 4C5E87AF0648C913003C637B, + 4C5E87B10648C913003C637B, + 4C5E87B30648C913003C637B, + 4C5E87B50648C913003C637B, + 4CD034950650B6F100525ED1, + 4CD034970650B6F100525ED1, + 4CD034990650B6F100525ED1, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB438B0063E488600969041 = { + buildPhases = ( + 4CB438AE063E488600969041, + 4CB438AF063E488600969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base ./lib/mt ./lib/io /lib/synergy"; + INSTALL_PATH = /usr/local/lib; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = platform; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + ); + isa = PBXNativeTarget; + name = platform; + productName = platform; + productReference = 4CB438B1063E488600969041; + productType = "com.apple.product-type.library.static"; + }; + 4CB438B1063E488600969041 = { + explicitFileType = archive.ar; + includeInIndex = 0; + isa = PBXFileReference; + path = libplatform.a; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB43911063E497700969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87C70648C9D2003C637B, + 4C5E87C90648C9D2003C637B, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43912063E497700969041 = { + buildActionMask = 2147483647; + files = ( + 4C5E87C60648C9D2003C637B, + 4C5E87C80648C9D2003C637B, + 4C5E87CA0648C9D2003C637B, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43913063E497700969041 = { + buildPhases = ( + 4CB43911063E497700969041, + 4CB43912063E497700969041, + 4CB43930063E4B4300969041, + ); + buildRules = ( + ); + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = lib/common/MacOSXPrecomp.h; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "./lib/common ./lib/arch ./lib/base ./lib/mt ./lib/io ./lib/net ./lib/synergy ./lib/platform ./lib/client"; + INSTALL_PATH = /usr/local/bin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = synergyc; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + dependencies = ( + 4CB43948063E4E1600969041, + 4C5E86900648C32E003C637B, + 4CB4394A063E4E1600969041, + 4CB4394C063E4E1600969041, + 4CB4394E063E4E1600969041, + 4CB43950063E4E1600969041, + 4CB43952063E4E1600969041, + 4CB43954063E4E1600969041, + 4CB43946063E4E1600969041, + ); + isa = PBXNativeTarget; + name = synergyc; + productName = synergyc; + productReference = 4CB43914063E497700969041; + productType = "com.apple.product-type.tool"; + }; + 4CB43914063E497700969041 = { + explicitFileType = "compiled.mach-o.executable"; + includeInIndex = 0; + isa = PBXFileReference; + path = synergyc; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 4CB43916063E4A1A00969041 = { + children = ( + 4C5E87C10648C9D2003C637B, + 4C5E87C20648C9D2003C637B, + 4C5E87C30648C9D2003C637B, + 4C5E87C40648C9D2003C637B, + 4C5E87C50648C9D2003C637B, + ); + isa = PBXGroup; + name = SynergyC; + refType = 4; + sourceTree = ""; + }; + 4CB43923063E4B1300969041 = { + isa = PBXFileReference; + lastKnownFileType = wrapper.framework; + name = Carbon.framework; + path = ../../../../../System/Library/Frameworks/Carbon.framework; + refType = 4; + sourceTree = ""; + }; + 4CB43930063E4B4300969041 = { + buildActionMask = 2147483647; + files = ( + 4CB43934063E4B4A00969041, + 4CDF389A063E561B007B20A1, + 4C5E87CF0648CA4B003C637B, + 4CDF389B063E561B007B20A1, + 4CDF389C063E561B007B20A1, + 4CDF389D063E561B007B20A1, + 4CDF389E063E561B007B20A1, + 4CDF389F063E561B007B20A1, + 4CDF38A0063E561B007B20A1, + 4CDF38A1063E561B007B20A1, + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 4CB43934063E4B4A00969041 = { + fileRef = 4CB43923063E4B1300969041; + isa = PBXBuildFile; + settings = { + }; + }; + 4CB43945063E4E1600969041 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB43777063E406A00969041; + remoteInfo = client; + }; + 4CB43946063E4E1600969041 = { + isa = PBXTargetDependency; + target = 4CB43777063E406A00969041; + targetProxy = 4CB43945063E4E1600969041; + }; + 4CB43947063E4E1600969041 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB437B4063E443800969041; + remoteInfo = arch; + }; + 4CB43948063E4E1600969041 = { + isa = PBXTargetDependency; + target = 4CB437B4063E443800969041; + targetProxy = 4CB43947063E4E1600969041; + }; + 4CB43949063E4E1600969041 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB437D0063E44C200969041; + remoteInfo = base; + }; + 4CB4394A063E4E1600969041 = { + isa = PBXTargetDependency; + target = 4CB437D0063E44C200969041; + targetProxy = 4CB43949063E4E1600969041; + }; + 4CB4394B063E4E1600969041 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB43800063E45F200969041; + remoteInfo = mt; + }; + 4CB4394C063E4E1600969041 = { + isa = PBXTargetDependency; + target = 4CB43800063E45F200969041; + targetProxy = 4CB4394B063E4E1600969041; + }; + 4CB4394D063E4E1600969041 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB43823063E46AB00969041; + remoteInfo = io; + }; + 4CB4394E063E4E1600969041 = { + isa = PBXTargetDependency; + target = 4CB43823063E46AB00969041; + targetProxy = 4CB4394D063E4E1600969041; + }; + 4CB4394F063E4E1600969041 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB43847063E475800969041; + remoteInfo = net; + }; + 4CB43950063E4E1600969041 = { + isa = PBXTargetDependency; + target = 4CB43847063E475800969041; + targetProxy = 4CB4394F063E4E1600969041; + }; + 4CB43951063E4E1600969041 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB4386D063E47F800969041; + remoteInfo = synergy; + }; + 4CB43952063E4E1600969041 = { + isa = PBXTargetDependency; + target = 4CB4386D063E47F800969041; + targetProxy = 4CB43951063E4E1600969041; + }; + 4CB43953063E4E1600969041 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB438B0063E488600969041; + remoteInfo = platform; + }; + 4CB43954063E4E1600969041 = { + isa = PBXTargetDependency; + target = 4CB438B0063E488600969041; + targetProxy = 4CB43953063E4E1600969041; + }; + 4CD033E80650965F00525ED1 = { + buildPhases = ( + ); + buildSettings = { + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = ALL; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + 4CD033EA0650968500525ED1, + 4CD033EC0650968500525ED1, + ); + isa = PBXAggregateTarget; + name = ALL; + productName = ALL; + }; + 4CD033E90650968500525ED1 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4CB43913063E497700969041; + remoteInfo = synergyc; + }; + 4CD033EA0650968500525ED1 = { + isa = PBXTargetDependency; + target = 4CB43913063E497700969041; + targetProxy = 4CD033E90650968500525ED1; + }; + 4CD033EB0650968500525ED1 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4C537F0C064E286700D3815C; + remoteInfo = synergys; + }; + 4CD033EC0650968500525ED1 = { + isa = PBXTargetDependency; + target = 4C537F0C064E286700D3815C; + targetProxy = 4CD033EB0650968500525ED1; + }; + 4CD0348F0650B6F100525ED1 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXClipboardAnyTextConverter.cpp; + path = lib/platform/COSXClipboardAnyTextConverter.cpp; + refType = 4; + sourceTree = ""; + }; + 4CD034900650B6F100525ED1 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXClipboardAnyTextConverter.h; + path = lib/platform/COSXClipboardAnyTextConverter.h; + refType = 4; + sourceTree = ""; + }; + 4CD034910650B6F100525ED1 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXClipboardTextConverter.cpp; + path = lib/platform/COSXClipboardTextConverter.cpp; + refType = 4; + sourceTree = ""; + }; + 4CD034920650B6F100525ED1 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXClipboardTextConverter.h; + path = lib/platform/COSXClipboardTextConverter.h; + refType = 4; + sourceTree = ""; + }; + 4CD034930650B6F100525ED1 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = COSXClipboardUTF16Converter.cpp; + path = lib/platform/COSXClipboardUTF16Converter.cpp; + refType = 4; + sourceTree = ""; + }; + 4CD034940650B6F100525ED1 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = COSXClipboardUTF16Converter.h; + path = lib/platform/COSXClipboardUTF16Converter.h; + refType = 4; + sourceTree = ""; + }; + 4CD034950650B6F100525ED1 = { + fileRef = 4CD0348F0650B6F100525ED1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CD034960650B6F100525ED1 = { + fileRef = 4CD034900650B6F100525ED1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CD034970650B6F100525ED1 = { + fileRef = 4CD034910650B6F100525ED1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CD034980650B6F100525ED1 = { + fileRef = 4CD034920650B6F100525ED1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CD034990650B6F100525ED1 = { + fileRef = 4CD034930650B6F100525ED1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CD0349A0650B6F100525ED1 = { + fileRef = 4CD034940650B6F100525ED1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CDF3892063E561B007B20A1 = { + isa = PBXFileReference; + lastKnownFileType = archive.ar; + name = libarch.a; + path = build/libarch.a; + refType = 4; + sourceTree = ""; + }; + 4CDF3893063E561B007B20A1 = { + isa = PBXFileReference; + lastKnownFileType = archive.ar; + name = libbase.a; + path = build/libbase.a; + refType = 4; + sourceTree = ""; + }; + 4CDF3894063E561B007B20A1 = { + isa = PBXFileReference; + lastKnownFileType = archive.ar; + name = libclient.a; + path = build/libclient.a; + refType = 4; + sourceTree = ""; + }; + 4CDF3895063E561B007B20A1 = { + isa = PBXFileReference; + lastKnownFileType = archive.ar; + name = libio.a; + path = build/libio.a; + refType = 4; + sourceTree = ""; + }; + 4CDF3896063E561B007B20A1 = { + isa = PBXFileReference; + lastKnownFileType = archive.ar; + name = libmt.a; + path = build/libmt.a; + refType = 4; + sourceTree = ""; + }; + 4CDF3897063E561B007B20A1 = { + isa = PBXFileReference; + lastKnownFileType = archive.ar; + name = libnet.a; + path = build/libnet.a; + refType = 4; + sourceTree = ""; + }; + 4CDF3898063E561B007B20A1 = { + isa = PBXFileReference; + lastKnownFileType = archive.ar; + name = libplatform.a; + path = build/libplatform.a; + refType = 4; + sourceTree = ""; + }; + 4CDF3899063E561B007B20A1 = { + isa = PBXFileReference; + lastKnownFileType = archive.ar; + name = libsynergy.a; + path = build/libsynergy.a; + refType = 4; + sourceTree = ""; + }; + 4CDF389A063E561B007B20A1 = { + fileRef = 4CDF3892063E561B007B20A1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CDF389B063E561B007B20A1 = { + fileRef = 4CDF3893063E561B007B20A1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CDF389C063E561B007B20A1 = { + fileRef = 4CDF3894063E561B007B20A1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CDF389D063E561B007B20A1 = { + fileRef = 4CDF3895063E561B007B20A1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CDF389E063E561B007B20A1 = { + fileRef = 4CDF3896063E561B007B20A1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CDF389F063E561B007B20A1 = { + fileRef = 4CDF3897063E561B007B20A1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CDF38A0063E561B007B20A1 = { + fileRef = 4CDF3898063E561B007B20A1; + isa = PBXBuildFile; + settings = { + }; + }; + 4CDF38A1063E561B007B20A1 = { + fileRef = 4CDF3899063E561B007B20A1; + isa = PBXBuildFile; + settings = { + }; + }; + }; + rootObject = 08FB7793FE84155DC02AAC07; +}