Qt, Yate2 and VS 2005 related fixes.

git-svn-id: http://yate.null.ro/svn/yate/trunk@1594 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2008-01-07 18:36:17 +00:00
parent 6e8e45602e
commit cb074008ed
11 changed files with 437 additions and 121 deletions

View File

@ -22,8 +22,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <yatecbase.h>
#include <qt4client.h>
#include "qt4client.h"
#include <QtUiTools>
#ifdef _WINDOWS
@ -46,7 +45,7 @@ QtWindow::QtWindow()
}
QtWindow::QtWindow(const char* name, const char* description)
: Window(name), m_description(description), m_keysVisible(true)
: Window(name), m_description(description), m_keysVisible(true)
{
m_ringtone = new QSound("ring.wav", this);
}
@ -1286,14 +1285,14 @@ void QtWindow::menu(int x, int y)
QtClient::QtClient()
: Client("QtClient")
: Client("QtClient")
{
m_oneThread = Engine::config().getBoolValue("client","onethread",true);
s_skinPath = Engine::config().getValue("client","skinbase");
if (s_skinPath.null())
s_skinPath << Engine::modulePath() << Engine::pathSeparator() << "skin";
s_skinPath << Engine::pathSeparator();
s_skinPath << Engine::sharedPath() << Engine::pathSeparator() << "skins";
s_skinPath << Engine::pathSeparator();
String skin(Engine::config().getValue("client","skin","default"));
if (skin)

View File

@ -25,7 +25,7 @@
#include <yatecbase.h>
#ifdef _WINDOWS
#ifdef LIBYQT4_EXPORTS
#define YQT4_API __declspec(dllexport)
#else
@ -33,9 +33,9 @@
#define YQT4_API __declspec(dllimport)
#endif
#endif
#endif /* _WINDOWS */
#ifndef YQT4_API
#define YQT4_API
#endif
@ -49,6 +49,12 @@
#include <stdlib.h>
#include <stdio.h>
#define QT_NO_DEBUG
#define QT_DLL
#define QT_GUI_LIB
#define QT_CORE_LIB
#define QT_THREAD_SUPPORT
#include <QtGui>
#include <QSound>

View File

@ -434,10 +434,18 @@ Client::Client(const char *name)
}
Client::~Client()
{
Engine::halt(0);
}
void Client::cleanup()
{
m_windows.clear();
s_client = 0;
Engine::halt(0);
m_oneThread = false;
do
idleActions();
while (ClientDriver::self() && !ClientDriver::self()->check(100000));
}
void Client::run()

View File

@ -260,21 +260,22 @@ void DSoundPlay::run()
if (m_owner)
m_owner->m_dsound = this;
DWORD writeOffs = 0;
DWORD margin = s_chunk/4;
bool first = true;
Debug(&__plugin,DebugInfo,"DSoundPlay is initialized and running");
while (m_owner) {
msleep(1,true);
if (first) {
if (m_buf.length() < s_minsize)
if ((m_buf.length() < s_minsize) || !m_dsb)
continue;
first = false;
m_dsb->GetCurrentPosition(NULL,&writeOffs);
writeOffs = (s_chunk/4 + writeOffs) % m_buffSize;
writeOffs = (margin + writeOffs) % m_buffSize;
Debug(&__plugin,DebugAll,"DSoundPlay has %u in buffer and starts playing at %u",
m_buf.length(),writeOffs);
m_start = Time::now();
}
while (m_dsb && (m_buf.length() >= s_chunk)) {
while (m_dsb) {
DWORD playPos = 0;
DWORD writePos = 0;
bool adjust = false;
@ -288,11 +289,17 @@ void DSoundPlay::run()
adjust = (writeOffs < writePos) || (playPos <= writeOffs) ;
}
if (adjust) {
DWORD adjOffs = (s_chunk/4 + writePos) % m_buffSize;
Debug(&__plugin,DebugInfo,"Slip detected, changing write offs from %u to %u, p=%u w=%u",
DWORD adjOffs = (margin + writePos) % m_buffSize;
Debug(&__plugin,DebugNote,"Slip detected, changing write offs from %u to %u, p=%u w=%u",
writeOffs,adjOffs,playPos,writePos);
writeOffs = adjOffs;
}
bool hasData = (m_buf.length() >= s_chunk);
if (!(adjust || hasData)) {
// don't fill the buffer if we still have at least one chunk until underflow
if ((m_buffSize + writeOffs - writePos) % m_buffSize >= s_chunk)
break;
}
void* buf = 0;
void* buf2 = 0;
DWORD len = 0;
@ -316,16 +323,28 @@ void DSoundPlay::run()
continue;
}
lock();
::memcpy(buf,m_buf.data(),len);
if (buf2)
::memcpy(buf2,((const char*)m_buf.data())+len,len2);
if (hasData) {
::memcpy(buf,m_buf.data(),len);
if (buf2)
::memcpy(buf2,((const char*)m_buf.data())+len,len2);
}
else {
::memset(buf,0,len);
if (buf2)
::memset(buf2,0,len2);
}
m_dsb->Unlock(buf,len,buf2,len2);
writeOffs += s_chunk;
if (writeOffs >= m_buffSize)
writeOffs -= m_buffSize;
m_total += s_chunk;
m_buf.cut(-(int)s_chunk);
unlock();
#ifdef DEBUG
if (!hasData)
Debug(&__plugin,DebugInfo,"Underflow, filled %u bytes at %u, p=%u w=%u",
s_chunk,writeOffs,playPos,writePos);
#endif
writeOffs += s_chunk;
if (writeOffs >= m_buffSize)
writeOffs -= m_buffSize;
XDebug(&__plugin,DebugAll,"Locked %p,%d %p,%d",buf,len,buf2,len2);
}
}

View File

@ -29,6 +29,7 @@
/>
<Tool
Name="VCCustomBuildTool"
Description=""
/>
<Tool
Name="VCXMLDataGeneratorTool"
@ -49,7 +50,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".,..,../clients/qt4"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBYQT4_EXPORTS"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBYQT4_EXPORTS;UNICODE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -74,7 +75,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="gtk-win32-2.0.lib gdk-win32-2.0.lib gobject-2.0.lib glib-2.0.lib"
AdditionalDependencies="QtCoreD4.lib QtGuiD4.lib QtXmlD4.lib QtUiToolsD.lib"
OutputFile="Debug/Libyqt4.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
@ -125,6 +126,7 @@
/>
<Tool
Name="VCCustomBuildTool"
Description=""
/>
<Tool
Name="VCXMLDataGeneratorTool"
@ -146,7 +148,7 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories=".,..,../clients/qt4"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBYQT4_EXPORTS"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBYQT4_EXPORTS;UNICODE"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
@ -170,7 +172,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="gtk-win32-2.0.lib gdk-win32-2.0.lib gobject-2.0.lib glib-2.0.lib"
AdditionalDependencies="QtCore4.lib QtGui4.lib QtXml4.lib QtUiTools.lib"
OutputFile="Release/Libyqt4.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
@ -243,6 +245,26 @@
<File
RelativePath="..\clients\qt4\qt4client.h"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="Running MOC"
CommandLine="moc.exe -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I..\..\mkspecs\win32-msvc2005 -D_MSC_VER=1400 -DWIN32 -o Debug\moc_qt4client.cpp ..\clients\qt4\qt4client.h&#x0D;&#x0A;"
Outputs="Debug\moc_qt4client.cpp"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="Running MOC"
CommandLine="moc.exe -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -D_MSC_VER=1400 -DWIN32 -o Release\moc_qt4client.cpp ..\clients\qt4\qt4client.h&#x0D;&#x0A;"
Outputs="Release\moc_qt4client.cpp"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
@ -270,6 +292,45 @@
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Generated Files"
>
<File
RelativePath=".\Debug\moc_qt4client.cpp"
>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\Release\moc_qt4client.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
</Filter>
</Files>
<Globals>
</Globals>

View File

@ -50,7 +50,7 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories=".,..,../clients/qt4"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;UNICODE"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
@ -74,7 +74,6 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="gtk-win32-2.0.lib gdk-win32-2.0.lib glib-2.0.lib gthread-2.0.lib"
OutputFile="Release/yate-qt4.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@ -145,7 +144,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".,..,../clients/qt4"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;UNICODE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -170,7 +169,6 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="gtk-win32-2.0.lib gdk-win32-2.0.lib glib-2.0.lib gthread-2.0.lib"
OutputFile="Debug/yate-qt4.exe"
LinkIncremental="1"
SuppressStartupBanner="true"

View File

@ -14,19 +14,19 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Extra", "Extra.vcproj", "{B1E0D82A-DB84-4D66-A30D-D028D96D8315}"
ProjectSection(ProjectDependencies) = postProject
{2358F303-8EF4-404A-80C8-6E1826B2D423} = {2358F303-8EF4-404A-80C8-6E1826B2D423}
{E91387A2-D00D-6BF1-A230-44C8070A985F} = {E91387A2-D00D-6BF1-A230-44C8070A985F}
{889C65FD-CBA9-4E88-B380-DE2640A140A7} = {889C65FD-CBA9-4E88-B380-DE2640A140A7}
{A9670DE2-5B1D-403C-9225-75135605C790} = {A9670DE2-5B1D-403C-9225-75135605C790}
{E91BA1B2-C7C3-4DF1-9560-44C8077CFD5F} = {E91BA1B2-C7C3-4DF1-9560-44C8077CFD5F}
{8CF9A752-8606-4819-99D8-CE3C4E744F85} = {8CF9A752-8606-4819-99D8-CE3C4E744F85}
{3EA5873D-E3FA-4CA4-B8BB-8FE4183652A1} = {3EA5873D-E3FA-4CA4-B8BB-8FE4183652A1}
{DC897705-0065-4FA0-B1C2-5A3E75240A95} = {DC897705-0065-4FA0-B1C2-5A3E75240A95}
{3EA5873D-E3FA-4CA4-B8BB-8FE4183652A1} = {3EA5873D-E3FA-4CA4-B8BB-8FE4183652A1}
{8CF9A752-8606-4819-99D8-CE3C4E744F85} = {8CF9A752-8606-4819-99D8-CE3C4E744F85}
{E91387A2-D00D-6BF1-A230-44C8070A985F} = {E91387A2-D00D-6BF1-A230-44C8070A985F}
{E91BA1B2-C7C3-4DF1-9560-44C8077CFD5F} = {E91BA1B2-C7C3-4DF1-9560-44C8077CFD5F}
{A9670DE2-5B1D-403C-9225-75135605C790} = {A9670DE2-5B1D-403C-9225-75135605C790}
{889C65FD-CBA9-4E88-B380-DE2640A140A7} = {889C65FD-CBA9-4E88-B380-DE2640A140A7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Gtk2Client", "Gtk2Client.vcproj", "{E91BA1B2-C7C3-4DF1-9560-44C8077CFD5F}"
ProjectSection(ProjectDependencies) = postProject
{ECEB56ED-84C3-4136-8314-16C0EBAA945C} = {ECEB56ED-84C3-4136-8314-16C0EBAA945C}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{ECEB56ED-84C3-4136-8314-16C0EBAA945C} = {ECEB56ED-84C3-4136-8314-16C0EBAA945C}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibGtk2", "LibGtk2.vcproj", "{ECEB56ED-84C3-4136-8314-16C0EBAA945C}"
@ -41,43 +41,43 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Libyate", "Libyate.vcproj",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Modules", "Modules.vcproj", "{BE362993-354F-4315-B878-05E952E1D164}"
ProjectSection(ProjectDependencies) = postProject
{C296BBF2-AD56-4249-AEF6-C04B03131474} = {C296BBF2-AD56-4249-AEF6-C04B03131474}
{88C1CCEC-C1AF-4888-A4A1-C0798EDB3947} = {88C1CCEC-C1AF-4888-A4A1-C0798EDB3947}
{A9CA94EB-27BA-46FA-A585-94D36706C4D7} = {A9CA94EB-27BA-46FA-A585-94D36706C4D7}
{F00FDFE8-BCCE-4894-8414-91B47C11691C} = {F00FDFE8-BCCE-4894-8414-91B47C11691C}
{A6E6D5DF-8C1B-4859-95E7-084467D8E812} = {A6E6D5DF-8C1B-4859-95E7-084467D8E812}
{253846DF-22F7-44BD-ADFB-EE162C193637} = {253846DF-22F7-44BD-ADFB-EE162C193637}
{715276DA-C422-9983-5C31-8DE434B610BC} = {715276DA-C422-9983-5C31-8DE434B610BC}
{715210DA-373F-89D2-577E-8DE41AA610BC} = {715210DA-373F-89D2-577E-8DE41AA610BC}
{14D986D9-75A8-48D3-8412-4536A4B610BC} = {14D986D9-75A8-48D3-8412-4536A4B610BC}
{14D976D9-76B8-48D3-8312-4539D4B610BC} = {14D976D9-76B8-48D3-8312-4539D4B610BC}
{13C976D9-7674-32D3-6612-4B89D4B610BC} = {13C976D9-7674-32D3-6612-4B89D4B610BC}
{39A36BD8-0028-42F7-8D23-181D9ED9A92E} = {39A36BD8-0028-42F7-8D23-181D9ED9A92E}
{F9AD69D6-58FE-4FED-B974-400BAA6BF0E6} = {F9AD69D6-58FE-4FED-B974-400BAA6BF0E6}
{CF38A7D1-219E-4787-9E98-14693C08D588} = {CF38A7D1-219E-4787-9E98-14693C08D588}
{5F4005CD-2BA3-40C8-8348-726F5C99D964} = {5F4005CD-2BA3-40C8-8348-726F5C99D964}
{6E6F6DC8-4B8F-4237-9FEC-BE3BBF268558} = {6E6F6DC8-4B8F-4237-9FEC-BE3BBF268558}
{5F4005AA-CB7F-47C8-8598-726F5C506964} = {5F4005AA-CB7F-47C8-8598-726F5C506964}
{BA27419A-2595-49D6-B363-492B1180E885} = {BA27419A-2595-49D6-B363-492B1180E885}
{11BDB689-6A50-48AC-9D2E-1DF68E53510C} = {11BDB689-6A50-48AC-9D2E-1DF68E53510C}
{06121688-9DC7-4032-B366-9862CDE6D313} = {06121688-9DC7-4032-B366-9862CDE6D313}
{F85C5686-5E6E-490E-99F7-6B8E1776CF71} = {F85C5686-5E6E-490E-99F7-6B8E1776CF71}
{1254C781-292C-48F4-9CB6-93338721E89C} = {1254C781-292C-48F4-9CB6-93338721E89C}
{8B67BE6A-B42B-47CA-8188-99A890786A3A} = {8B67BE6A-B42B-47CA-8188-99A890786A3A}
{130EC95B-8851-4946-B0B5-6091CE3EFB00} = {130EC95B-8851-4946-B0B5-6091CE3EFB00}
{E8EE0F54-0D2B-48FF-B2AF-6E268442A4D1} = {E8EE0F54-0D2B-48FF-B2AF-6E268442A4D1}
{5E489550-A745-4A24-BBC4-FD4BE5333865} = {5E489550-A745-4A24-BBC4-FD4BE5333865}
{F411C93D-FAD5-471C-9F6E-7CCE66DFCBFC} = {F411C93D-FAD5-471C-9F6E-7CCE66DFCBFC}
{799C2C3A-9AA1-41C0-BD24-B35D83A564E2} = {799C2C3A-9AA1-41C0-BD24-B35D83A564E2}
{E476FF31-5429-470F-928C-491D09FB4C3F} = {E476FF31-5429-470F-928C-491D09FB4C3F}
{4490F42E-C4AE-4776-AE4D-490CABA6316E} = {4490F42E-C4AE-4776-AE4D-490CABA6316E}
{2C0F6C29-318D-4FF6-82EE-49E6418F4C51} = {2C0F6C29-318D-4FF6-82EE-49E6418F4C51}
{879C9A23-1081-4630-9509-9F0890B70CED} = {879C9A23-1081-4630-9509-9F0890B70CED}
{125E8721-4B2C-4544-9EE5-8B16883662BE} = {125E8721-4B2C-4544-9EE5-8B16883662BE}
{AA54CD1D-E1E1-4A00-9974-EE6924D85DBD} = {AA54CD1D-E1E1-4A00-9974-EE6924D85DBD}
{34AC2018-91F1-41AF-A839-47DCF27D4434} = {34AC2018-91F1-41AF-A839-47DCF27D4434}
{42B76F17-895F-4B1C-B783-7AAC92AFD56E} = {42B76F17-895F-4B1C-B783-7AAC92AFD56E}
{5F248A16-8E3D-497A-8E68-F9E08971F583} = {5F248A16-8E3D-497A-8E68-F9E08971F583}
{42B76F17-895F-4B1C-B783-7AAC92AFD56E} = {42B76F17-895F-4B1C-B783-7AAC92AFD56E}
{34AC2018-91F1-41AF-A839-47DCF27D4434} = {34AC2018-91F1-41AF-A839-47DCF27D4434}
{AA54CD1D-E1E1-4A00-9974-EE6924D85DBD} = {AA54CD1D-E1E1-4A00-9974-EE6924D85DBD}
{125E8721-4B2C-4544-9EE5-8B16883662BE} = {125E8721-4B2C-4544-9EE5-8B16883662BE}
{879C9A23-1081-4630-9509-9F0890B70CED} = {879C9A23-1081-4630-9509-9F0890B70CED}
{2C0F6C29-318D-4FF6-82EE-49E6418F4C51} = {2C0F6C29-318D-4FF6-82EE-49E6418F4C51}
{4490F42E-C4AE-4776-AE4D-490CABA6316E} = {4490F42E-C4AE-4776-AE4D-490CABA6316E}
{E476FF31-5429-470F-928C-491D09FB4C3F} = {E476FF31-5429-470F-928C-491D09FB4C3F}
{799C2C3A-9AA1-41C0-BD24-B35D83A564E2} = {799C2C3A-9AA1-41C0-BD24-B35D83A564E2}
{F411C93D-FAD5-471C-9F6E-7CCE66DFCBFC} = {F411C93D-FAD5-471C-9F6E-7CCE66DFCBFC}
{5E489550-A745-4A24-BBC4-FD4BE5333865} = {5E489550-A745-4A24-BBC4-FD4BE5333865}
{E8EE0F54-0D2B-48FF-B2AF-6E268442A4D1} = {E8EE0F54-0D2B-48FF-B2AF-6E268442A4D1}
{130EC95B-8851-4946-B0B5-6091CE3EFB00} = {130EC95B-8851-4946-B0B5-6091CE3EFB00}
{8B67BE6A-B42B-47CA-8188-99A890786A3A} = {8B67BE6A-B42B-47CA-8188-99A890786A3A}
{1254C781-292C-48F4-9CB6-93338721E89C} = {1254C781-292C-48F4-9CB6-93338721E89C}
{F85C5686-5E6E-490E-99F7-6B8E1776CF71} = {F85C5686-5E6E-490E-99F7-6B8E1776CF71}
{06121688-9DC7-4032-B366-9862CDE6D313} = {06121688-9DC7-4032-B366-9862CDE6D313}
{11BDB689-6A50-48AC-9D2E-1DF68E53510C} = {11BDB689-6A50-48AC-9D2E-1DF68E53510C}
{BA27419A-2595-49D6-B363-492B1180E885} = {BA27419A-2595-49D6-B363-492B1180E885}
{5F4005AA-CB7F-47C8-8598-726F5C506964} = {5F4005AA-CB7F-47C8-8598-726F5C506964}
{6E6F6DC8-4B8F-4237-9FEC-BE3BBF268558} = {6E6F6DC8-4B8F-4237-9FEC-BE3BBF268558}
{5F4005CD-2BA3-40C8-8348-726F5C99D964} = {5F4005CD-2BA3-40C8-8348-726F5C99D964}
{CF38A7D1-219E-4787-9E98-14693C08D588} = {CF38A7D1-219E-4787-9E98-14693C08D588}
{F9AD69D6-58FE-4FED-B974-400BAA6BF0E6} = {F9AD69D6-58FE-4FED-B974-400BAA6BF0E6}
{39A36BD8-0028-42F7-8D23-181D9ED9A92E} = {39A36BD8-0028-42F7-8D23-181D9ED9A92E}
{13C976D9-7674-32D3-6612-4B89D4B610BC} = {13C976D9-7674-32D3-6612-4B89D4B610BC}
{14D976D9-76B8-48D3-8312-4539D4B610BC} = {14D976D9-76B8-48D3-8312-4539D4B610BC}
{14D986D9-75A8-48D3-8412-4536A4B610BC} = {14D986D9-75A8-48D3-8412-4536A4B610BC}
{715210DA-373F-89D2-577E-8DE41AA610BC} = {715210DA-373F-89D2-577E-8DE41AA610BC}
{715276DA-C422-9983-5C31-8DE434B610BC} = {715276DA-C422-9983-5C31-8DE434B610BC}
{253846DF-22F7-44BD-ADFB-EE162C193637} = {253846DF-22F7-44BD-ADFB-EE162C193637}
{A6E6D5DF-8C1B-4859-95E7-084467D8E812} = {A6E6D5DF-8C1B-4859-95E7-084467D8E812}
{F00FDFE8-BCCE-4894-8414-91B47C11691C} = {F00FDFE8-BCCE-4894-8414-91B47C11691C}
{A9CA94EB-27BA-46FA-A585-94D36706C4D7} = {A9CA94EB-27BA-46FA-A585-94D36706C4D7}
{88C1CCEC-C1AF-4888-A4A1-C0798EDB3947} = {88C1CCEC-C1AF-4888-A4A1-C0798EDB3947}
{C296BBF2-AD56-4249-AEF6-C04B03131474} = {C296BBF2-AD56-4249-AEF6-C04B03131474}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Service", "Service.vcproj", "{B1015F66-0C3D-43DA-8329-15FB43D2F74B}"
@ -87,16 +87,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Service", "Service.vcproj",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSS7", "TestSS7.vcproj", "{CF9A3DF9-4CD7-4C42-8A6D-3369953BB503}"
ProjectSection(ProjectDependencies) = postProject
{496A2084-FFED-4F73-8C85-170042A34F38} = {496A2084-FFED-4F73-8C85-170042A34F38}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{496A2084-FFED-4F73-8C85-170042A34F38} = {496A2084-FFED-4F73-8C85-170042A34F38}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YATE", "YATE.vcproj", "{DD6B8D9A-4BBF-4C48-81E5-7A2910B12395}"
ProjectSection(ProjectDependencies) = postProject
{BE362993-354F-4315-B878-05E952E1D164} = {BE362993-354F-4315-B878-05E952E1D164}
{B1015F66-0C3D-43DA-8329-15FB43D2F74B} = {B1015F66-0C3D-43DA-8329-15FB43D2F74B}
{F165A72F-E9AE-4804-BD90-81720AC05449} = {F165A72F-E9AE-4804-BD90-81720AC05449}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{F165A72F-E9AE-4804-BD90-81720AC05449} = {F165A72F-E9AE-4804-BD90-81720AC05449}
{B1015F66-0C3D-43DA-8329-15FB43D2F74B} = {B1015F66-0C3D-43DA-8329-15FB43D2F74B}
{BE362993-354F-4315-B878-05E952E1D164} = {BE362993-354F-4315-B878-05E952E1D164}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_accfile", "_accfile.vcproj", "{AA54CD1D-E1E1-4A00-9974-EE6924D85DBD}"
@ -136,8 +136,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_conference", "_conference.
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_dbpbx", "_dbpbx.vcproj", "{F9AD69D6-58FE-4FED-B974-400BAA6BF0E6}"
ProjectSection(ProjectDependencies) = postProject
{D01C44EA-8D3D-4F04-A833-BA0861E119A4} = {D01C44EA-8D3D-4F04-A833-BA0861E119A4}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{D01C44EA-8D3D-4F04-A833-BA0861E119A4} = {D01C44EA-8D3D-4F04-A833-BA0861E119A4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_dsoundchan", "_dsoundchan.vcproj", "{A9CA94EB-27BA-46FA-A585-94D36706C4D7}"
@ -167,8 +167,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_h323chan", "_h323chan.vcpr
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ilbccodec", "_ilbccodec.vcproj", "{4490F42E-C4AE-4776-AE4D-490CABA6316E}"
ProjectSection(ProjectDependencies) = postProject
{67CD1DCE-38FA-4705-BD7D-D7717C8CE93D} = {67CD1DCE-38FA-4705-BD7D-D7717C8CE93D}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{67CD1DCE-38FA-4705-BD7D-D7717C8CE93D} = {67CD1DCE-38FA-4705-BD7D-D7717C8CE93D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_msgsniff", "_msgsniff.vcproj", "{F85C5686-5E6E-490E-99F7-6B8E1776CF71}"
@ -193,8 +193,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_pbx", "_pbx.vcproj", "{061
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_pbxassist", "_pbxassist.vcproj", "{5E489550-A745-4A24-BBC4-FD4BE5333865}"
ProjectSection(ProjectDependencies) = postProject
{D01C44EA-8D3D-4F04-A833-BA0861E119A4} = {D01C44EA-8D3D-4F04-A833-BA0861E119A4}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{D01C44EA-8D3D-4F04-A833-BA0861E119A4} = {D01C44EA-8D3D-4F04-A833-BA0861E119A4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_pgsqldb", "_pgsqldb.vcproj", "{A9670DE2-5B1D-403C-9225-75135605C790}"
@ -259,15 +259,15 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_wpcard", "_wpcard.vcproj",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_yiaxchan", "_yiaxchan.vcproj", "{2C0F6C29-318D-4FF6-82EE-49E6418F4C51}"
ProjectSection(ProjectDependencies) = postProject
{33730274-2D2F-47A5-94C9-FABEE8266AFC} = {33730274-2D2F-47A5-94C9-FABEE8266AFC}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{33730274-2D2F-47A5-94C9-FABEE8266AFC} = {33730274-2D2F-47A5-94C9-FABEE8266AFC}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_yjinglechan", "_yjinglechan.vcproj", "{11BDB689-6A50-48AC-9D2E-1DF68E53510C}"
ProjectSection(ProjectDependencies) = postProject
{E351C8F9-20A7-4363-909C-1A06E9BEAA6B} = {E351C8F9-20A7-4363-909C-1A06E9BEAA6B}
{5F8F10EB-CA69-4013-8820-33BF562885EE} = {5F8F10EB-CA69-4013-8820-33BF562885EE}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{5F8F10EB-CA69-4013-8820-33BF562885EE} = {5F8F10EB-CA69-4013-8820-33BF562885EE}
{E351C8F9-20A7-4363-909C-1A06E9BEAA6B} = {E351C8F9-20A7-4363-909C-1A06E9BEAA6B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_yradius", "_yradius.vcproj", "{A6E6D5DF-8C1B-4859-95E7-084467D8E812}"
@ -277,14 +277,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_yradius", "_yradius.vcproj
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_yrtpchan", "_yrtpchan.vcproj", "{8B67BE6A-B42B-47CA-8188-99A890786A3A}"
ProjectSection(ProjectDependencies) = postProject
{C99A3794-EAF8-4D99-A09B-595ED0F00206} = {C99A3794-EAF8-4D99-A09B-595ED0F00206}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{C99A3794-EAF8-4D99-A09B-595ED0F00206} = {C99A3794-EAF8-4D99-A09B-595ED0F00206}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ysipchan", "_ysipchan.vcproj", "{14D986D9-75A8-48D3-8412-4536A4B610BC}"
ProjectSection(ProjectDependencies) = postProject
{88B0C2FB-F813-4C85-BCE3-1629A2F8FE09} = {88B0C2FB-F813-4C85-BCE3-1629A2F8FE09}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{88B0C2FB-F813-4C85-BCE3-1629A2F8FE09} = {88B0C2FB-F813-4C85-BCE3-1629A2F8FE09}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ystunchan", "_ystunchan.vcproj", "{799C2C3A-9AA1-41C0-BD24-B35D83A564E2}"
@ -333,14 +333,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libyxml", "libyxml.vcproj",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ysigchan", "_ysigchan.vcproj", "{14D976D9-76B8-48D3-8312-4539D4B610BC}"
ProjectSection(ProjectDependencies) = postProject
{496A2084-FFED-4F73-8C85-170042A34F38} = {496A2084-FFED-4F73-8C85-170042A34F38}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{496A2084-FFED-4F73-8C85-170042A34F38} = {496A2084-FFED-4F73-8C85-170042A34F38}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_analog", "_analog.vcproj", "{13C976D9-7674-32D3-6612-4B89D4B610BC}"
ProjectSection(ProjectDependencies) = postProject
{496A2084-FFED-4F73-8C85-170042A34F38} = {496A2084-FFED-4F73-8C85-170042A34F38}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{496A2084-FFED-4F73-8C85-170042A34F38} = {496A2084-FFED-4F73-8C85-170042A34F38}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_heartbeat", "_heartbeat.vcproj", "{5F4005CD-2BA3-40C8-8348-726F5C99D964}"
@ -355,14 +355,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libymgcp", "libymgcp.vcproj
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_mgcpca", "_mgcpca.vcproj", "{715276DA-C422-9983-5C31-8DE434B610BC}"
ProjectSection(ProjectDependencies) = postProject
{8A30C2FB-E471-9C74-AA33-1629A2F8424E} = {8A30C2FB-E471-9C74-AA33-1629A2F8424E}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{8A30C2FB-E471-9C74-AA33-1629A2F8424E} = {8A30C2FB-E471-9C74-AA33-1629A2F8424E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_mgcpgw", "_mgcpgw.vcproj", "{715210DA-373F-89D2-577E-8DE41AA610BC}"
ProjectSection(ProjectDependencies) = postProject
{8A30C2FB-E471-9C74-AA33-1629A2F8424E} = {8A30C2FB-E471-9C74-AA33-1629A2F8424E}
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{8A30C2FB-E471-9C74-AA33-1629A2F8424E} = {8A30C2FB-E471-9C74-AA33-1629A2F8424E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_mux", "_mux.vcproj", "{1254C781-292C-48F4-9CB6-93338721E89C}"
@ -381,6 +381,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Qt4Client", "Qt4Client.vcpr
{E98D46ED-71CD-7146-5CD8-16C08BC0A45C} = {E98D46ED-71CD-7146-5CD8-16C08BC0A45C}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msvcrtest", "msvcrtest.vcproj", "{10AAB2D2-1FBB-46E5-B20E-3C5F1CC24BCD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -647,6 +649,10 @@ Global
{E91387A2-D00D-6BF1-A230-44C8070A985F}.Debug|Win32.Build.0 = Debug|Win32
{E91387A2-D00D-6BF1-A230-44C8070A985F}.Release|Win32.ActiveCfg = Release|Win32
{E91387A2-D00D-6BF1-A230-44C8070A985F}.Release|Win32.Build.0 = Release|Win32
{10AAB2D2-1FBB-46E5-B20E-3C5F1CC24BCD}.Debug|Win32.ActiveCfg = Debug|Win32
{10AAB2D2-1FBB-46E5-B20E-3C5F1CC24BCD}.Debug|Win32.Build.0 = Debug|Win32
{10AAB2D2-1FBB-46E5-B20E-3C5F1CC24BCD}.Release|Win32.ActiveCfg = Release|Win32
{10AAB2D2-1FBB-46E5-B20E-3C5F1CC24BCD}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

11
windows/msvcrtest.c Normal file
View File

@ -0,0 +1,11 @@
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
__declspec(dllexport) int __cdecl crt_true(void)
{
Sleep(50);
return (clock() != 0);
}

199
windows/msvcrtest.vcproj Normal file
View File

@ -0,0 +1,199 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="msvcrtest"
ProjectGUID="{10AAB2D2-1FBB-46E5-B20E-3C5F1CC24BCD}"
RootNamespace="msvcrtest"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)\engine"
ConfigurationType="2"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)\engine"
ConfigurationType="2"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\msvcrtest.c"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -25,10 +25,11 @@ Name: "engine"; Description: "Engine only (unlikely)"
[Components]
Name: "engine"; Description: "Engine library"; Types: full client server engine custom; Flags: fixed
Name: "client"; Description: "Client files"; Types: full client
Name: "client\run"; Description: "Client runtime libraries"; Types: full client
Name: "client\skin"; Description: "Client skins"; Types: full client
Name: "client\skin\skinned"; Description: "Graphical skin"; Types: full
Name: "client"; Description: "VoIP Clients"; Types: full client
Name: "client\qt"; Description: "Client based on Qt"; Types: full client
Name: "client\qt\run"; Description: "Qt runtime libraries"; Types: full client
Name: "client\gtk"; Description: "Client based on Gtk"; Types: full
Name: "client\gtk\skinned"; Description: "Graphical skin"; Types: full
Name: "server"; Description: "Server files"; Types: full server
Name: "server\cluster"; Description: "Server clustering modules"; Types: full
Name: "driver"; Description: "Protocol drivers"; Types: full client server
@ -59,12 +60,14 @@ Name: "desktop"; Description: "Create a &Desktop icon"; GroupDescription: "Addit
[Files]
Source: "Release\libyate.dll"; DestDir: "{app}"; Components: engine
Source: "Release\libygtk2.dll"; DestDir: "{app}"; Components: client
Source: "Release\yate-gtk2.exe"; DestDir: "{app}"; Components: client
Source: "Release\libyqt4.dll"; DestDir: "{app}"; Components: client\qt
Source: "Release\yate-qt4.exe"; DestDir: "{app}"; Components: client\qt
Source: "Release\libygtk2.dll"; DestDir: "{app}"; Components: client\gtk
Source: "Release\yate-gtk2.exe"; DestDir: "{app}"; Components: client\gtk
;Source: "..\share\sounds\ring.wav"; DestDir: "{app}\sounds"; Components: client
;Source: "Runtimes\qtcore4.dll"; DestDir: "{app}"; Components: client\run
;Source: "Runtimes\qtgui4.dll"; DestDir: "{app}"; Components: client\run
;Source: "Runtimes\qtxml4.dll"; DestDir: "{app}"; Components: client\run
Source: "Runtimes\qtcore4.dll"; DestDir: "{app}"; Components: client\qt\run
Source: "Runtimes\qtgui4.dll"; DestDir: "{app}"; Components: client\qt\run
Source: "Runtimes\qtxml4.dll"; DestDir: "{app}"; Components: client\qt\run
Source: "Release\yate-service.exe"; DestDir: "{app}"; Components: server
Source: "Release\yate-console.exe"; DestDir: "{app}"; Components: debug
@ -129,12 +132,14 @@ Source: "..\conf.d\*.conf.sample"; DestDir: "{app}\conf.d"
Source: "..\share\help\*.yhlp"; DestDir: "{app}\help"; Components: client
Source: "..\conf.d\providers.conf.default"; DestName: "providers.conf"; DestDir: "{app}\conf.d"; Components: client
Source: "..\share\skins\default\gtk2client.??"; DestDir: "{app}\skins\default"; Components: client
Source: "..\share\skins\default\qt4client.??"; DestDir: "{app}\skins\default"; Components: client\qt
Source: "..\share\skins\default\gtk2client.??"; DestDir: "{app}\skins\default"; Components: client\gtk
Source: "..\share\skins\default\*.png"; DestDir: "{app}\skins\default"; Components: client
Source: "..\share\skins\skinned\gtk2client.??"; DestDir: "{app}\skins\skinned"; Components: client\skin\skinned
Source: "..\share\skins\skinned\*.png"; DestDir: "{app}\skins\skinned"; Components: client\skin\skinned
Source: "..\conf.d\yate-gtk2.conf.default"; DestName: "yate-gtk2.conf"; DestDir: "{app}\conf.d"; Components: client\skin\skinned; Flags: skipifsourcedoesntexist
Source: "..\share\skins\skinned\gtk2client.??"; DestDir: "{app}\skins\skinned"; Components: client\gtk\skinned
Source: "..\share\skins\skinned\*.png"; DestDir: "{app}\skins\skinned"; Components: client\gtk\skinned
Source: "..\conf.d\yate-qt4.conf.default"; DestName: "yate-qt4.conf"; DestDir: "{app}\conf.d"; Components: client\qt; Flags: skipifsourcedoesntexist
Source: "..\conf.d\yate-gtk2.conf.default"; DestName: "yate-gtk2.conf"; DestDir: "{app}\conf.d"; Components: client\gtk\skinned; Flags: skipifsourcedoesntexist
Source: "..\share\scripts\*.php"; DestDir: "{app}\scripts"; Components: external\php
@ -145,7 +150,7 @@ Source: "version.rc"; DestDir: "{app}\devel"; Components: devel
Source: "..\clients\gtk2\gtk2client.h"; DestDir: "{app}\devel"; Components: devel
Source: "Release\libygtk2.lib"; DestDir: "{app}\devel"; Components: devel
Source: "..\clients\qt4\qt4client.h"; DestDir: "{app}\devel"; Components: devel
;Source: "Release\libyqt4.lib"; DestDir: "{app}\devel"; Components: devel
Source: "Release\libyqt4.lib"; DestDir: "{app}\devel"; Components: devel
Source: "..\README"; DestName: "README.txt"; DestDir: "{app}\devel"; Components: devel
Source: "..\ChangeLog"; DestName: "ChangeLog.txt"; DestDir: "{app}\devel"; Components: devel
Source: "..\docs\*.html"; DestDir: "{app}\devel\docs"; Components: devel\doc
@ -153,27 +158,29 @@ Source: "..\docs\api\*.html"; DestDir: "{app}\devel\docs\api"; Components: devel
Source: "..\docs\api\*.png"; DestDir: "{app}\devel\docs\api"; Components: devel\doc; Flags: skipifsourcedoesntexist
Source: "..\docs\api\*.css"; DestDir: "{app}\devel\docs\api"; Components: devel\doc; Flags: skipifsourcedoesntexist
Source: "Release\msvcrtest.dll"; Flags: dontcopy
Source: "Runtimes\vcredist_x86.exe"; DestDir: "{app}"; Flags: skipifsourcedoesntexist dontcopy nocompression
Source: "Runtimes\gtk+-2.6.9-setup.exe"; DestDir: "{app}"; Components: client; Flags: skipifsourcedoesntexist dontcopy nocompression
[Icons]
Name: "{group}\Yate Client"; Filename: "{app}\yate-gtk2.exe"; Parameters: "-n yate-gtk2 -w ""{app}"""; Components: client
;Name: "{group}\Yate Client"; Filename: "{app}\yate-qt4.exe"; Parameters: "-n yate-qt4 -w ""{app}"""; Components: client
Name: "{group}\Yate Client"; Filename: "{app}\yate-gtk2.exe"; Parameters: "-n yate-gtk2 -w ""{app}"""; Components: client\gtk
Name: "{group}\Yate Client"; Filename: "{app}\yate-qt4.exe"; Parameters: "-n yate-qt4 -w ""{app}"""; Components: client\qt
Name: "{group}\Yate Console"; Filename: "{app}\yate-console.exe"; Parameters: "-n yate-console -w ""{app}"""; Components: debug
Name: "{group}\Register Service"; Filename: "{app}\yate-service.exe"; Parameters: "--install -w ""{app}"""; Components: server
Name: "{group}\Unregister Service"; Filename: "{app}\yate-service.exe"; Parameters: "--remove"; Components: server
Name: "{group}\Uninstall"; Filename: "{uninstallexe}"
Name: "{group}\Yate Web Site"; Filename: "{app}\yate.url"
Name: "{group}\Developer docs"; Filename: "{app}\devel\docs\index.html"; Components: devel\doc
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Yate Client"; Filename: "{app}\yate-gtk2.exe"; Parameters: "-n yate-gtk2 -w ""{app}"""; Components: client; Tasks: qlaunch
Name: "{userdesktop}\Yate Client"; Filename: "{app}\yate-gtk2.exe"; Parameters: "-n yate-gtk2 -w ""{app}"""; Components: client; Tasks: desktop
;Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Yate Client"; Filename: "{app}\yate-qt4.exe"; Parameters: "-n yate-qt4 -w ""{app}"""; Components: client; Tasks: qlaunch
;Name: "{userdesktop}\Yate Client"; Filename: "{app}\yate-qt4.exe"; Parameters: "-n yate-qt4 -w ""{app}"""; Components: client; Tasks: desktop
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Yate Client"; Filename: "{app}\yate-gtk2.exe"; Parameters: "-n yate-gtk2 -w ""{app}"""; Components: client\gtk; Tasks: qlaunch
Name: "{userdesktop}\Yate Client"; Filename: "{app}\yate-gtk2.exe"; Parameters: "-n yate-gtk2 -w ""{app}"""; Components: client\gtk; Tasks: desktop
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Yate Client"; Filename: "{app}\yate-qt4.exe"; Parameters: "-n yate-qt4 -w ""{app}"""; Components: client\qt; Tasks: qlaunch
Name: "{userdesktop}\Yate Client"; Filename: "{app}\yate-qt4.exe"; Parameters: "-n yate-qt4 -w ""{app}"""; Components: client\qt; Tasks: desktop
[Run]
Filename: "{app}\yate-service.exe"; Description: "Register service"; Parameters: "--install -w ""{app}"""; Components: server
Filename: "net.exe"; Description: "Start service"; Components: server; Parameters: "start yate"; Flags: postinstall skipifsilent unchecked
Filename: "{app}\yate-gtk2.exe"; Parameters: "-n yate-gtk2 -w ""{app}"""; Description: "Launch client"; Components: client; Flags: postinstall nowait skipifsilent unchecked
;Filename: "{app}\yate-qt4.exe"; Parameters: "-n yate-qt4 -w ""{app}"""; Description: "Launch client"; Components: client; Flags: postinstall nowait skipifsilent unchecked
Filename: "{app}\yate-gtk2.exe"; Parameters: "-n yate-gtk2 -w ""{app}"""; Description: "Launch client"; Components: client\gtk; Flags: postinstall nowait skipifsilent unchecked
Filename: "{app}\yate-qt4.exe"; Parameters: "-n yate-qt4 -w ""{app}"""; Description: "Launch client"; Components: client\qt; Flags: postinstall nowait skipifsilent unchecked
[UninstallRun]
Filename: "net.exe"; Parameters: "stop yate"; Components: server
@ -185,8 +192,8 @@ var
GtkRegistry : Boolean;
GtkLoadable : Boolean;
function CrtClock() : Longint;
external 'clock@MSVCR80.DLL stdcall delayload setuponly';
function CrtTrue() : Integer;
external 'crt_true@files:msvcrtest.dll cdecl delayload setuponly';
function GtkTrue() : Integer;
external 'gtk_true@LIBGTK-WIN32-2.0-0.DLL stdcall delayload setuponly';
@ -194,8 +201,8 @@ external 'gtk_true@LIBGTK-WIN32-2.0-0.DLL stdcall delayload setuponly';
function InitializeSetup() : Boolean;
begin
try
CrtLoadable := CrtClock() <> 0;
UnloadDLL('MSVCR80.DLL');
CrtLoadable := CrtTrue() <> 0;
UnloadDLL('MSVCRTEST.DLL');
except
CrtLoadable := False;
end;
@ -224,20 +231,21 @@ begin
if (err = IDCANCEL) and ExitSetupMsgBox() then Abort;
until err <> IDCANCEL;
if err = IDYES then begin
url := 'msvcr80-setup.exe';
url := 'vcredist_x86.exe';
try
ExtractTemporaryFile(url);
url := ExpandConstant('{tmp}\') + url;
if FileExists(url) and ShellExec('open', url, '', '', SW_SHOW, ewWaitUntilTerminated, err) then
exit;
CrtLoadable := FileExists(url) and ShellExec('open', url, '', '', SW_SHOW, ewWaitUntilTerminated, err);
except
end;
url := 'http://yate.null.ro/msvcr80.php';
if not ShellExec('open', url, '', '', SW_SHOW, ewNoWait, err) then
MsgBox('Browser failed. Please go to:' #13 + url,mbError,MB_OK);
if not CrtLoadable then begin
url := 'http://yate.null.ro/msvcr80.php';
if not ShellExec('open', url, '', '', SW_SHOW, ewNoWait, err) then
MsgBox('Browser failed. Please go to:' #13 + url,mbError,MB_OK);
end;
end;
end;
if IsComponentSelected('client') and not (GtkRegistry and GtkLoadable) then begin
if IsComponentSelected('client\gtk') and not (GtkRegistry and GtkLoadable) then begin
msg := 'Gtk2 client installation requested' #13 'but Gtk2 is not ';
if GtkRegistry then msg := msg + 'loadable'
else if GtkLoadable then msg := msg + 'in Registry'

View File

@ -280,6 +280,7 @@ public:
Client(const char *name = 0);
virtual ~Client();
virtual void run();
virtual void cleanup();
virtual void main() = 0;
virtual void lock() = 0;
virtual void unlock() = 0;