mirror of
https://github.com/debauchee/barrier.git
synced 2026-05-09 16:02:46 +08:00
added win32 launcher program. also changed VC++ dsp and dsw
files to binary form so \r\n aren't converted. added icons to client and server apps on win32.
This commit is contained in:
@@ -49,6 +49,57 @@ CConfig::addScreen(const CString& name)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
CConfig::renameScreen(const CString& oldName,
|
||||
const CString& newName)
|
||||
{
|
||||
// get canonical name and find cell
|
||||
CString oldCanonical = getCanonicalName(oldName);
|
||||
CCellMap::iterator index = m_map.find(oldCanonical);
|
||||
if (index == m_map.end()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// accept if names are equal but replace with new name to maintain
|
||||
// case. otherwise, the new name must not exist.
|
||||
if (!CStringUtil::CaselessCmp::equal(oldName, newName) &&
|
||||
m_nameToCanonicalName.find(newName) != m_nameToCanonicalName.end()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// update cell
|
||||
CCell tmpCell = index->second;
|
||||
m_map.erase(index);
|
||||
m_map.insert(std::make_pair(newName, tmpCell));
|
||||
|
||||
// update name
|
||||
m_nameToCanonicalName.erase(oldCanonical);
|
||||
m_nameToCanonicalName.insert(std::make_pair(newName, newName));
|
||||
|
||||
// update connections
|
||||
for (index = m_map.begin(); index != m_map.end(); ++index) {
|
||||
for (UInt32 i = 0; i <= kLastDirection - kFirstDirection; ++i) {
|
||||
if (CStringUtil::CaselessCmp::equal(getCanonicalName(
|
||||
index->second.m_neighbor[i]), oldCanonical)) {
|
||||
index->second.m_neighbor[i] = newName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update alias targets
|
||||
if (CStringUtil::CaselessCmp::equal(oldName, oldCanonical)) {
|
||||
for (CNameMap::iterator index = m_nameToCanonicalName.begin();
|
||||
index != m_nameToCanonicalName.end(); ++index) {
|
||||
if (CStringUtil::CaselessCmp::equal(
|
||||
index->second, oldCanonical)) {
|
||||
index->second = newName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
CConfig::removeScreen(const CString& name)
|
||||
{
|
||||
@@ -65,10 +116,11 @@ CConfig::removeScreen(const CString& name)
|
||||
// disconnect
|
||||
for (index = m_map.begin(); index != m_map.end(); ++index) {
|
||||
CCell& cell = index->second;
|
||||
for (SInt32 i = 0; i <= kLastDirection - kFirstDirection; ++i)
|
||||
for (UInt32 i = 0; i <= kLastDirection - kFirstDirection; ++i) {
|
||||
if (getCanonicalName(cell.m_neighbor[i]) == canonical) {
|
||||
cell.m_neighbor[i].erase();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// remove aliases (and canonical name)
|
||||
@@ -99,7 +151,7 @@ CConfig::addAlias(const CString& canonical, const CString& alias)
|
||||
}
|
||||
|
||||
// canonical name must be known
|
||||
if (m_nameToCanonicalName.find(canonical) == m_nameToCanonicalName.end()) {
|
||||
if (m_map.find(canonical) == m_map.end()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -245,6 +297,18 @@ CConfig::end() const
|
||||
return const_iterator(m_map.end());
|
||||
}
|
||||
|
||||
CConfig::all_const_iterator
|
||||
CConfig::beginAll() const
|
||||
{
|
||||
return m_nameToCanonicalName.begin();
|
||||
}
|
||||
|
||||
CConfig::all_const_iterator
|
||||
CConfig::endAll() const
|
||||
{
|
||||
return m_nameToCanonicalName.end();
|
||||
}
|
||||
|
||||
bool
|
||||
CConfig::isScreen(const CString& name) const
|
||||
{
|
||||
@@ -295,6 +359,54 @@ CConfig::getHTTPAddress() const
|
||||
return m_httpAddress;
|
||||
}
|
||||
|
||||
bool
|
||||
CConfig::operator==(const CConfig& x) const
|
||||
{
|
||||
/* FIXME -- no compare available for CNetworkAddress
|
||||
if (m_synergyAddress != x.m_synergyAddress) {
|
||||
return false;
|
||||
}
|
||||
if (m_httpAddress != x.m_httpAddress) {
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if (m_map.size() != x.m_map.size()) {
|
||||
return false;
|
||||
}
|
||||
if (m_nameToCanonicalName.size() != x.m_nameToCanonicalName.size()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (CCellMap::const_iterator index1 = m_map.begin(),
|
||||
index2 = x.m_map.begin();
|
||||
index1 != m_map.end(); ++index1, ++index2) {
|
||||
for (UInt32 i = 0; i <= kLastDirection - kFirstDirection; ++i) {
|
||||
if (!CStringUtil::CaselessCmp::equal(index1->second.m_neighbor[i],
|
||||
index2->second.m_neighbor[i])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (CNameMap::const_iterator index1 = m_nameToCanonicalName.begin(),
|
||||
index2 = x.m_nameToCanonicalName.begin();
|
||||
index1 != m_nameToCanonicalName.end();
|
||||
++index1, ++index2) {
|
||||
if (!CStringUtil::CaselessCmp::equal(index1->first, index2->first) ||
|
||||
!CStringUtil::CaselessCmp::equal(index1->second, index2->second)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
CConfig::operator!=(const CConfig& x) const
|
||||
{
|
||||
return !operator==(x);
|
||||
}
|
||||
|
||||
const char*
|
||||
CConfig::dirName(EDirection dir)
|
||||
{
|
||||
@@ -663,7 +775,9 @@ operator<<(std::ostream& s, const CConfig& config)
|
||||
// aliases section (if there are any)
|
||||
if (config.m_map.size() != config.m_nameToCanonicalName.size()) {
|
||||
// map canonical to alias
|
||||
CConfig::CNameMap aliases;
|
||||
typedef std::multimap<CString, CString,
|
||||
CStringUtil::CaselessCmp> CMNameMap;
|
||||
CMNameMap aliases;
|
||||
for (CConfig::CNameMap::const_iterator
|
||||
index = config.m_nameToCanonicalName.begin();
|
||||
index != config.m_nameToCanonicalName.end();
|
||||
@@ -676,11 +790,11 @@ operator<<(std::ostream& s, const CConfig& config)
|
||||
// dump it
|
||||
CString screen;
|
||||
s << "section: aliases" << std::endl;
|
||||
for (CConfig::CNameMap::const_iterator index = aliases.begin();
|
||||
for (CMNameMap::const_iterator index = aliases.begin();
|
||||
index != aliases.end(); ++index) {
|
||||
if (index->first != screen) {
|
||||
screen = index->first;
|
||||
s << "\t" << screen.c_str() << std::endl;
|
||||
s << "\t" << screen.c_str() << ":" << std::endl;
|
||||
}
|
||||
s << "\t\t" << index->second.c_str() << std::endl;
|
||||
}
|
||||
|
||||
@@ -51,9 +51,11 @@ private:
|
||||
CString m_neighbor[kLastDirection - kFirstDirection + 1];
|
||||
};
|
||||
typedef std::map<CString, CCell, CStringUtil::CaselessCmp> CCellMap;
|
||||
typedef std::map<CString, CString, CStringUtil::CaselessCmp> CNameMap;
|
||||
|
||||
public:
|
||||
typedef CCellMap::const_iterator internal_const_iterator;
|
||||
typedef CNameMap::const_iterator all_const_iterator;
|
||||
class const_iterator : std::iterator_traits<CConfig> {
|
||||
public:
|
||||
explicit const_iterator() : m_i() { }
|
||||
@@ -93,6 +95,14 @@ public:
|
||||
*/
|
||||
bool addScreen(const CString& name);
|
||||
|
||||
//! Rename screen
|
||||
/*!
|
||||
Renames a screen. All references to the name are updated.
|
||||
Returns true iff successful.
|
||||
*/
|
||||
bool renameScreen(const CString& oldName,
|
||||
const CString& newName);
|
||||
|
||||
//! Remove screen
|
||||
/*!
|
||||
Removes a screen. This also removes aliases for the screen and
|
||||
@@ -180,6 +190,11 @@ public:
|
||||
//! Get ending (canonical) screen name iterator
|
||||
const_iterator end() const;
|
||||
|
||||
//! Get beginning screen name iterator
|
||||
all_const_iterator beginAll() const;
|
||||
//! Get ending screen name iterator
|
||||
all_const_iterator endAll() const;
|
||||
|
||||
//! Test for screen name
|
||||
/*!
|
||||
Returns true iff \c name names a screen.
|
||||
@@ -212,6 +227,11 @@ public:
|
||||
//! Get the HTTP server address
|
||||
const CNetworkAddress& getHTTPAddress() const;
|
||||
|
||||
//! Compare configurations
|
||||
bool operator==(const CConfig&) const;
|
||||
//! Compare configurations
|
||||
bool operator!=(const CConfig&) const;
|
||||
|
||||
//! Read configuration
|
||||
/*!
|
||||
Reads a configuration from a stream. Throws XConfigRead on error.
|
||||
@@ -241,8 +261,6 @@ private:
|
||||
void readSectionAliases(std::istream&);
|
||||
|
||||
private:
|
||||
typedef std::map<CString, CString, CStringUtil::CaselessCmp> CNameMap;
|
||||
|
||||
CCellMap m_map;
|
||||
CNameMap m_nameToCanonicalName;
|
||||
CNetworkAddress m_synergyAddress;
|
||||
|
||||
@@ -1,166 +1,166 @@
|
||||
# Microsoft Developer Studio Project File - Name="server" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=server - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "server.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "server.mak" CFG="server - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "server - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "server - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "server - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\base" /I "..\mt" /I "..\io" /I "..\http" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "server - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\base" /I "..\mt" /I "..\io" /I "..\http" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "server - Win32 Release"
|
||||
# Name "server - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CClientProxy.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CClientProxy1_0.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CConfig.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CHTTPServer.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CMSWindowsPrimaryScreen.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CPrimaryClient.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CPrimaryScreen.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CServer.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CClientProxy.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CClientProxy1_0.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CConfig.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CHTTPServer.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CMSWindowsPrimaryScreen.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CPrimaryClient.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CPrimaryScreen.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CServer.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\IPrimaryScreenFactory.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
# Microsoft Developer Studio Project File - Name="server" - Package Owner=<4>
|
||||
|
||||
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
|
||||
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CFG=server - Win32 Debug
|
||||
|
||||
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
|
||||
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
|
||||
|
||||
!MESSAGE
|
||||
|
||||
|
||||
!MESSAGE NMAKE /f "server.mak".
|
||||
|
||||
|
||||
!MESSAGE
|
||||
|
||||
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
|
||||
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
|
||||
|
||||
!MESSAGE
|
||||
|
||||
|
||||
!MESSAGE NMAKE /f "server.mak" CFG="server - Win32 Debug"
|
||||
|
||||
|
||||
!MESSAGE
|
||||
|
||||
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
|
||||
|
||||
!MESSAGE
|
||||
|
||||
|
||||
!MESSAGE "server - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
|
||||
|
||||
!MESSAGE "server - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
|
||||
|
||||
!MESSAGE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Begin Project
|
||||
|
||||
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
|
||||
|
||||
# PROP Scc_ProjName ""
|
||||
|
||||
|
||||
# PROP Scc_LocalPath ""
|
||||
|
||||
|
||||
CPP=cl.exe
|
||||
|
||||
|
||||
RSC=rc.exe
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
!IF "$(CFG)" == "server - Win32 Release"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
|
||||
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
|
||||
|
||||
# PROP BASE Output_Dir "Release"
|
||||
|
||||
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
|
||||
|
||||
# PROP BASE Target_Dir ""
|
||||
|
||||
|
||||
# PROP Use_MFC 0
|
||||
|
||||
|
||||
# PROP Use_Debug_Libraries 0
|
||||
|
||||
|
||||
# PROP Output_Dir "Release"
|
||||
|
||||
|
||||
# PROP Intermediate_Dir "Release"
|
||||
|
||||
|
||||
# PROP Target_Dir ""
|
||||
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
|
||||
|
||||
# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\base" /I "..\mt" /I "..\io" /I "..\http" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c
|
||||
|
||||
|
||||
# SUBTRACT CPP /YX
|
||||
|
||||
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
|
||||
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
|
||||
|
||||
BSC32=bscmake.exe
|
||||
|
||||
|
||||
# ADD BASE BSC32 /nologo
|
||||
|
||||
|
||||
# ADD BSC32 /nologo
|
||||
|
||||
|
||||
LIB32=link.exe -lib
|
||||
|
||||
|
||||
# ADD BASE LIB32 /nologo
|
||||
|
||||
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "server - Win32 Debug"
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user