Skip to content

Commit ea9a15b

Browse files
committed
Linux兼容调整
1 parent 1dea967 commit ea9a15b

18 files changed

Lines changed: 93 additions & 84 deletions

File tree

QuantBox.XAPI/Callback/BaseApi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ void _Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
9191
private bool disposed;
9292

9393
// 一定要先调用API的,再调用队列的,否则会出错
94-
public void Dispose()
94+
public void Dispose()
9595
{
9696
Dispose(true);
9797
GC.SuppressFinalize(this);

QuantBox.XAPI/Program.cs

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,21 +61,25 @@ static void OnRtnTrade(object sender, ref TradeField trade)
6161

6262
static void Main(string[] args)
6363
{
64-
for (int i = 0; i < 10000; ++i)
64+
//for (int i = 0; i < 10000; ++i)
6565
{
66-
test_CTP_Main(args);
66+
test_Linux_Main(args);
6767
}
6868
Console.ReadKey();
6969
}
7070

7171
static void test_Linux_Main(string[] args)
7272
{
73-
//Console.WriteLine (Path.GetTempPath());
74-
//return;
75-
Queue queue = new Queue(@"libQuantBox_Queue.so");
73+
//Queue queue = new Queue(@"libQuantBox_Queue.so");
7674
//Queue queue2 = new Queue(@"libQuantBox_Queue.so");
77-
XApi api = new XApi(@"/home/hetao/works/QuantBox_X/QuantBox.XAPI/bin/libQuantBox_CTP_Quote.so", queue);
78-
//TraderApi api2 = new TraderApi(@"C:\Program Files\SmartQuant Ltd\OpenQuant 2014\TAPI\CTP\QuantBox.C2CTP.Trade.dll", queue2);
75+
76+
//ApiManager.QueuePath = @"/home/hetao/works/QuantBox_XAPI/bin/Debug/libQuantBox_Queue.so";
77+
//XApi api = ApiManager.CreateApi(@"/home/hetao/works/QuantBox_XAPI/bin/Debug/libQuantBox_CTP_Quote.so");
78+
//XApi api2 = ApiManager.CreateApi(@"/home/hetao/works/QuantBox_XAPI/bin/Debug/libQuantBox_CTP_Trade.so");
79+
80+
ApiManager.QueuePath = @"libQuantBox_Queue.so";
81+
XApi api = ApiManager.CreateApi(@"libQuantBox_CTP_Quote.so");
82+
XApi api2 = ApiManager.CreateApi(@"libQuantBox_CTP_Trade.so");
7983

8084
api.Server.BrokerID = "1017";
8185
api.Server.Address = "tcp://ctpmn1-front1.citicsf.com:51213";
@@ -86,31 +90,33 @@ static void test_Linux_Main(string[] args)
8690
api.OnConnectionStatus = OnConnectionStatus;
8791
api.OnRtnDepthMarketData = OnRtnDepthMarketData;
8892

89-
/*api2.Server.BrokerID = "1017";
93+
api2.Server.BrokerID = "1017";
9094
api2.Server.Address = "tcp://ctpmn1-front1.citicsf.com:51205";
91-
api2.Server.ResumeType = ResumeType.Restart;
95+
api2.Server.PrivateTopicResumeType = ResumeType.Quick;
9296

9397
api2.User.UserID = "00000015";
9498
api2.User.Password = "123456";
9599

100+
96101
api2.OnConnectionStatus = OnConnectionStatus2;
97102
api2.OnRspQryInstrument = OnRspQryInstrument;
98103
api2.OnRspQryTradingAccount = OnRspQryTradingAccount;
99104
api2.OnRspQrySettlementInfo = OnRspQrySettlementInfo;
100105
api2.OnRtnOrder = OnRtnOrder;
101106
api2.OnRtnError = OnRtnError;
102-
api2.OnRtnTrade = OnRtnTrade;*/
107+
api2.OnRtnTrade = OnRtnTrade;
103108

104109
api.Connect();
105-
//api2.Connect();
110+
api2.Connect();
106111

107-
api.Subscribe("IF1410", "");
112+
api.Subscribe("IF1412", "");
108113

109114
Console.ReadKey();
110115

111-
Console.ReadKey();
112-
113-
api.Dispose();
116+
Thread.Sleep (10000);
117+
Console.WriteLine (123);
118+
ApiManager.ReleaseApi(api);
119+
ApiManager.ReleaseApi(api2);
114120
}
115121

116122
#region LTS
@@ -181,12 +187,6 @@ static void test_CTP_Main(string[] args)
181187

182188
ApiManager.ReleaseApi(api);
183189

184-
185-
186-
187-
188-
//api.Dispose();
189-
//queue.Dispose();
190190
}
191191

192192
static void test_KingstarGold_Main(string[] args)
@@ -215,9 +215,6 @@ static void test_KingstarGold_Main(string[] args)
215215
Console.ReadKey();
216216

217217
Console.ReadKey();
218-
219-
//api.Dispose();
220-
//queue.Dispose();
221218
}
222219
}
223220
}

QuantBox.XAPI/QuantBox.XAPI_Linux.csproj

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
66
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
77
<ProjectGuid>{6AA065F5-2E4A-4112-A3AE-1F75CAE42FFB}</ProjectGuid>
8-
<OutputType>Library</OutputType>
8+
<OutputType>Exe</OutputType>
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>QuantBox.XAPI</RootNamespace>
1111
<AssemblyName>QuantBox.XAPI</AssemblyName>
@@ -37,12 +37,20 @@
3737
<Reference Include="Microsoft.CSharp" />
3838
<Reference Include="System.Data" />
3939
<Reference Include="System.Xml" />
40+
<Reference Include="NLog">
41+
<HintPath>..\packages\NLog.3.1.0.0\lib\net45\NLog.dll</HintPath>
42+
</Reference>
4043
</ItemGroup>
4144
<ItemGroup>
45+
<Compile Include="Callback\ApiManager.cs" />
4246
<Compile Include="Callback\BaseApi.cs" />
43-
<Compile Include="Callback\MarketDataApi.cs" />
4447
<Compile Include="Callback\Queue.cs" />
45-
<Compile Include="Callback\TraderApi.cs" />
48+
<Compile Include="Callback\XApi.cs" />
49+
<Compile Include="Callback\XApi.HistoricalData.cs" />
50+
<Compile Include="Callback\XApi.Instrument.cs" />
51+
<Compile Include="Callback\XApi.MarketData.cs" />
52+
<Compile Include="Callback\XApi.QuoteRequest.cs" />
53+
<Compile Include="Callback\XApi.Trade.cs" />
4654
<Compile Include="Delegate.cs" />
4755
<Compile Include="DllInvoke.cs" />
4856
<Compile Include="Enum.cs" />

QuantBox_CTP_Quote/QuantBox_CTP_Quote.depend

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -57,54 +57,55 @@
5757

5858
1413530794 /home/hetao/works/QuantBox_X/include/QueueEnum.h
5959

60-
1413771567 source:/home/hetao/works/QuantBox_XAPI/include/toolkit.cpp
60+
1418803758 source:/home/hetao/works/QuantBox_XAPI/include/toolkit.cpp
6161
"stdafx.h"
6262
"toolkit.h"
6363
<string.h>
64+
<time.h>
6465
<direct.h>
6566
<sys/stat.h>
6667

67-
1413537209 /home/hetao/works/QuantBox_XAPI/include/toolkit.h
68+
1418803758 /home/hetao/works/QuantBox_XAPI/include/toolkit.h
6869
<vector>
6970
<set>
7071
<string>
7172

72-
1413787998 source:/home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/main.cpp
73+
1418803943 source:/home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/main.cpp
7374
"stdafx.h"
7475
"../include/ApiHeader.h"
7576
"../include/QueueEnum.h"
7677
"MdUserApi.h"
7778

78-
1413771567 /home/hetao/works/QuantBox_XAPI/include/ApiHeader.h
79+
1418803758 /home/hetao/works/QuantBox_XAPI/include/ApiHeader.h
7980
"../include/CrossPlatform.h"
8081

81-
1413787998 /home/hetao/works/QuantBox_XAPI/include/QueueEnum.h
82+
1418803757 /home/hetao/works/QuantBox_XAPI/include/QueueEnum.h
8283

83-
1413538004 /home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/MdUserApi.h
84+
1418803758 /home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/MdUserApi.h
8485
"../include/CTP/ThostFtdcMdApi.h"
8586
"../include/ApiStruct.h"
8687
<set>
8788
<string>
8889
<atomic>
8990
<mutex>
9091

91-
1413537209 /home/hetao/works/QuantBox_XAPI/include/CTP/ThostFtdcMdApi.h
92+
1418803756 /home/hetao/works/QuantBox_XAPI/include/CTP/ThostFtdcMdApi.h
9293
"ThostFtdcUserApiStruct.h"
9394

94-
1413537209 /home/hetao/works/QuantBox_XAPI/include/CTP/ThostFtdcUserApiStruct.h
95+
1418803756 /home/hetao/works/QuantBox_XAPI/include/CTP/ThostFtdcUserApiStruct.h
9596
"ThostFtdcUserApiDataType.h"
9697

97-
1413537209 /home/hetao/works/QuantBox_XAPI/include/CTP/ThostFtdcUserApiDataType.h
98+
1418803756 /home/hetao/works/QuantBox_XAPI/include/CTP/ThostFtdcUserApiDataType.h
9899

99-
1413537209 /home/hetao/works/QuantBox_XAPI/include/ApiStruct.h
100+
1418803758 /home/hetao/works/QuantBox_XAPI/include/ApiStruct.h
100101
"ApiDataType.h"
101102
"ApiEnum.h"
102103

103-
1413537209 /home/hetao/works/QuantBox_XAPI/include/ApiDataType.h
104+
1418803757 /home/hetao/works/QuantBox_XAPI/include/ApiDataType.h
104105

105-
1413537209 /home/hetao/works/QuantBox_XAPI/include/ApiEnum.h
106+
1418803756 /home/hetao/works/QuantBox_XAPI/include/ApiEnum.h
106107

107-
1413771567 source:/home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/MdUserApi.cpp
108+
1418803758 source:/home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/MdUserApi.cpp
108109
"stdafx.h"
109110
"MdUserApi.h"
110111
"../include/QueueEnum.h"
@@ -117,19 +118,19 @@
117118
<mutex>
118119
<vector>
119120

120-
1413771567 /home/hetao/works/QuantBox_XAPI/include/QueueHeader.h
121+
1418803756 /home/hetao/works/QuantBox_XAPI/include/QueueHeader.h
121122
"../include/CrossPlatform.h"
122123

123-
1413771567 /home/hetao/works/QuantBox_XAPI/include/stdafx.h
124+
1418803758 /home/hetao/works/QuantBox_XAPI/include/stdafx.h
124125
"targetver.h"
125126
<windows.h>
126127

127-
1413771567 /home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/stdafx.h
128+
1418803758 /home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/stdafx.h
128129
"targetver.h"
129130
<windows.h>
130131

131-
1413538004 /home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/targetver.h
132+
1418803758 /home/hetao/works/QuantBox_XAPI/QuantBox_CTP_Quote/targetver.h
132133
<SDKDDKVer.h>
133134

134-
1413864648 /home/hetao/works/QuantBox_XAPI/include/CrossPlatform.h
135+
1418803756 /home/hetao/works/QuantBox_XAPI/include/CrossPlatform.h
135136

QuantBox_CTP_Quote/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ void* __stdcall XRequest(char type, void* pApi1, void* pApi2, double double1, do
1717
case GetApiType:
1818
return (void*)(ApiType::MarketData | ApiType::QuoteRequest);
1919
case GetApiVersion:
20-
return "0.1";
20+
return (void*)"0.1";
2121
case GetApiName:
22-
return "CTP";
22+
return (void*)"CTP";
2323
case Create:
2424
return new CMdUserApi();
2525
default:

QuantBox_CTP_Trade/QuantBox_CTP_Trade.cbp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<Add option="-fPIC" />
4343
</Compiler>
4444
<Linker>
45-
<Add library="thostmduserapi" />
45+
<Add library="thosttraderapi" />
4646
<Add library="QuantBox_Queue" />
4747
<Add directory="../include/CTP/linux64" />
4848
</Linker>
@@ -53,6 +53,7 @@
5353
<Unit filename="TraderApi.h" />
5454
<Unit filename="TypeConvert.cpp" />
5555
<Unit filename="TypeConvert.h" />
56+
<Unit filename="main.cpp" />
5657
<Extensions>
5758
<code_completion />
5859
<debugger />

QuantBox_CTP_Trade/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ void* __stdcall XRequest(char type, void* pApi1, void* pApi2, double double1, do
1616
case GetApiType:
1717
return (void*)(ApiType::Trade | ApiType::Instrument);
1818
case GetApiVersion:
19-
return "0.2";
19+
return (void*)"0.2";
2020
case GetApiName:
21-
return "CTP";
21+
return (void*)"CTP";
2222
case Create:
2323
return new CTraderApi();
2424
default:

QuantBox_DFITC_Level2/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ void* __stdcall XRequest(char type, void* pApi1, void* pApi2, double double1, do
1717
case GetApiType:
1818
return (void*)(ApiType::MarketData | ApiType::Level2);
1919
case GetApiVersion:
20-
return "0.1";
20+
return (void*)"0.1";
2121
case GetApiName:
22-
return "DFITC_Level2";
22+
return (void*)"DFITC_Level2";
2323
case Create:
2424
return new CLevel2UserApi();
2525
default:

QuantBox_Femas_Quote/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ void* __stdcall XRequest(char type, void* pApi1, void* pApi2, double double1, do
1717
case GetApiType:
1818
return (void*)(ApiType::MarketData | ApiType::Level2);
1919
case GetApiVersion:
20-
return "0.1";
20+
return (void*)"0.1";
2121
case GetApiName:
22-
return "Femas";
22+
return (void*)"Femas";
2323
case Create:
2424
return new CMdUserApi();
2525
default:

QuantBox_Femas_Trade/QuantBox_Femas_Trade.cbp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
<Unit filename="TraderApi.h" />
5454
<Unit filename="TypeConvert.cpp" />
5555
<Unit filename="TypeConvert.h" />
56+
<Unit filename="main.cpp" />
5657
<Extensions>
5758
<code_completion />
5859
<debugger />

0 commit comments

Comments
 (0)