fork download
  1. #undef UNICODE
  2.  
  3. #define _WIN32_WINNT 0x501
  4.  
  5. #include <windows.h>
  6. #include <fstream>
  7. #include <winsock2.h>
  8. #include <ws2tcpip.h>
  9. #include <stdlib.h>
  10. #include <stdio.h>
  11. #include <iostream>
  12. #include <string>
  13. #include <map>
  14. #include <vector>
  15. #include <ctime>
  16. #include <tchar.h>
  17. #include <string.h>
  18. #include <errno.h>
  19.  
  20. #pragma comment (lib, "Ws2_32.lib")
  21. #pragma warning(disable:4996)
  22.  
  23. #define DEFAULT_BUFLEN 512
  24. #define DEFAULT_PORT "5000"
  25.  
  26. int market();
  27. using namespace std;
  28.  
  29. bool bAtivo = false;
  30. bool bMarketConnected = false;
  31.  
  32. typedef struct
  33. {
  34. wchar_t * ticker;
  35. wchar_t * bolsa;
  36. int feed;
  37. } TAssetID;
  38.  
  39.  
  40. typedef void (__stdcall *TStateCallback)(int nResult, int result);
  41.  
  42.  
  43. typedef void (__stdcall *TNewTradeCallback)(TAssetID assetId, wchar_t* date, float price, float vol, int qtd, int buyAgent, int sellAgent, int tradeType);
  44. typedef void (__stdcall *TNewDailyCallback)(TAssetID TAssetIDRec, wchar_t* date, float sOpen, float sHigh, float sLow, float sClose, float sVol, float sAjuste, float sMaxLimit, float sMinLimit, int sVolBuyer, int sVolSeller, int nQtd, int nNegocios, int nContratosOpen, int nQtdBuyer, int nQtdSeller, int nNegBuyer, int nNegSeller);
  45. typedef void(__stdcall *TNewHistoryCallback)(TAssetID assetId, wchar_t* date, float price, float vol, int qtd, int buyAgent, int sellAgent, int tradeType);
  46. typedef void(__stdcall *TProgressCallBack)(TAssetID assetId, int nProgress);
  47. typedef void(__stdcall *TNewTinyBookCallBack)(TAssetID assetId, float price, int qtd, int side);
  48.  
  49.  
  50. extern "C" {
  51. typedef signed char (__stdcall *InitializeMarket)(const wchar_t *activationKey,
  52. TStateCallback stateCallback,
  53. TNewTradeCallback newTradeCallback,
  54. TNewDailyCallback newDailyCallback,
  55. TNewHistoryCallback newHistoryCallback,
  56. TProgressCallBack progressCallBack,
  57. TNewTinyBookCallBack newTinyBookCallBack);
  58. typedef signed char (__stdcall *Finalize)();
  59. typedef signed char (__stdcall *SubscribeTicker)(const wchar_t *ticker, const wchar_t *bolsa);
  60. typedef signed char (__stdcall *UnsubscribeTicker)(const wchar_t *ticker, const wchar_t *bolsa);
  61. typedef wchar_t* (__stdcall *GetAgentNameByID)(int nID);
  62. typedef wchar_t* (__stdcall *GetAgentShortNameByID)(int nID);
  63. typedef signed char(__stdcall *GetHistoryTradesInInterval)(const wchar_t *pwcTicker, const wchar_t *bolsa, wchar_t* dateStart, wchar_t* dateTimeStart);
  64. }
  65.  
  66.  
  67. const signed char NL_OK = 0; // OK
  68. //const signed char NL_LOGIN_INVALID = [1..4]; // LOGIN INVALID
  69. const signed char NL_ERR_INIT = 80; // Not initialized
  70. const signed char NL_ERR_INVALID_ARGS = 90; // Invalid arguments
  71. const signed char NL_ERR_INTERNAL_ERROR = 100; // Internal error
  72.  
  73. bool g_Activated = false;
  74.  
  75. //////////////////////////////////////////////////////////////////////////////
  76. // DLL Functions
  77. InitializeMarket g_initialize;
  78. Finalize g_finalize;
  79. SubscribeTicker g_subscribe;
  80. UnsubscribeTicker g_unsubscribe;
  81. GetAgentNameByID g_getAgentName;
  82. GetAgentShortNameByID g_getAgentShortName;
  83.  
  84. // Callbacks
  85. void __stdcall newTradeCallback(TAssetID assetId, wchar_t* date, float price, float vol, int qtd, int buyAgent, int sellAgent, int tradeType){}
  86. void __stdcall newDailyCallback(TAssetID assetId, wchar_t* date, float sOpen, float sHigh, float sLow, float sClose, float sVol, float sAjuste, float sMaxLimit, float sMinLimit, int sVolBuyer, int sVolSeller, int nQtd, int nNegocios, int nContratosOpen, int nQtdBuyer, int nQtdSeller, int nNegBuyer, int nNegSeller){}
  87. void __stdcall newTinyBookCallBack(TAssetID assetId, float proce, int qtd, int side){}
  88. void __stdcall progressCallBack(TAssetID assetId, int nProgress){}
  89. void __stdcall newHistoryCallback(TAssetID assetId, wchar_t* date, float price, float vol, int qtd, int buyAgent, int sellAgent, int tradeType){}
  90.  
  91. void __stdcall stateCallback(int nConnStateType, int result)
  92. {
  93. wstring novadata;
  94. std::time_t t = std::time(0);
  95. std::tm* now = std::localtime(&t);
  96. novadata = std::to_wstring(now->tm_hour).c_str();
  97. novadata += std::to_wstring(now->tm_min).c_str();
  98. novadata += std::to_wstring(now->tm_sec).c_str();
  99. const wchar_t* ledata = novadata.c_str();
  100.  
  101. if (nConnStateType == 0) { // notificacoes de login
  102. if (result == 0) {
  103. cout << ledata << "(0-0) Login: Conectado." << endl;
  104. }
  105. if (result == 1) {
  106. cout << ledata << "(0-1) Login: Login invalido." << endl;
  107. }
  108. if (result == 2) {
  109. cout << ledata << "(0-2) Login: Senha invalida" << endl;
  110. }
  111. if (result == 3) {
  112. cout << ledata << "(0-3) Login: Senha bloqueada" << endl;
  113. }
  114. if (result == 4) {
  115. cout << ledata << "(0-4) Login: Senha expirada" << endl;
  116. }
  117. if (result == 200) {
  118. cout << ledata << "(0-200) Login: Erro desconhecido" << endl;
  119. }
  120. }
  121.  
  122. if (nConnStateType == 1) { // notificacoes de broker
  123. if (result == 0) {
  124. cout << ledata << "(1-0) Broker: Desconectado." << endl;
  125. }
  126. if (result == 1) {
  127. cout << ledata << "(1-1) Broker: Connectando" << endl;
  128. }
  129. if (result == 2) {
  130. cout << ledata << "(1-2) Broker: Conectado" << endl;
  131. }
  132. if (result == 3) {
  133. cout << ledata << "(1-3) Broker: Desconectado" << endl;
  134. }
  135. if (result == 4) {
  136. cout << ledata << "(1-4) Broker: Conectando" << endl;
  137. }
  138. if (result == 5) {
  139. cout << ledata << "(1-5) Broker: Conectado" << endl;
  140. }
  141. }
  142.  
  143. if (nConnStateType == 2) { // notificacoes de login no Market
  144. if (result == 4) {
  145. cout << ledata << "(2-4) State: Conectado ao Profit" << endl;
  146. //Sleep(3000);
  147. bMarketConnected = true;
  148. }else{
  149. cout << ledata << "(2-" << result <<") State: Desconectado." << endl;
  150. bMarketConnected = false;
  151. }
  152.  
  153. }
  154.  
  155. if (nConnStateType == 3) { // notificacoes de login no Market
  156. if (result == 0) {
  157. cout << ledata << "(3-0) Atividade: Valida." << endl;
  158. bAtivo = true;
  159. }else{
  160. cout << ledata << "(3-" << result <<") Atividade: Invalida." << endl;
  161. bAtivo = false;
  162. }
  163. }
  164.  
  165. if ((nConnStateType == 3 || nConnStateType == 2) && (bAtivo && bMarketConnected))
  166. {
  167. startToSee();
  168. }
  169. }
  170.  
  171. int wait_for_esc()
  172. {
  173. bool exit = false;
  174. cout << "press esc to exit! " << endl;
  175. while (exit == false) {
  176. if (GetAsyncKeyState(VK_ESCAPE))
  177. {
  178. exit = true;
  179. }
  180. }
  181. return 0;
  182. }
  183.  
  184. int market()
  185. {
  186. HINSTANCE hdl = LoadLibraryA("ProfitDLL.dll");
  187. if (hdl)
  188. {
  189. g_initialize = reinterpret_cast<InitializeMarket>(GetProcAddress(hdl, "InitializeMarket"));
  190. g_finalize = reinterpret_cast<Finalize>(GetProcAddress(hdl, "DLLFinalize"));
  191. g_subscribe = reinterpret_cast<SubscribeTicker>(GetProcAddress(hdl, "SubscribeTicker"));
  192. g_unsubscribe = reinterpret_cast<UnsubscribeTicker>(GetProcAddress(hdl, "UnsubscribeTicker"));
  193. g_getAgentName = reinterpret_cast<GetAgentNameByID>(GetProcAddress(hdl, "GetAgentNameByID"));
  194. g_getAgentShortName = reinterpret_cast<GetAgentShortNameByID>(GetProcAddress(hdl, "GetAgentShortNameByID"));
  195.  
  196. if (g_initialize && g_finalize && g_subscribe && g_unsubscribe && g_getAgentName && g_getAgentShortName)
  197. {
  198. cout << "Type your activation code: ";
  199. string Code = "123151321351315135131531321";
  200. cin >> Code;
  201. const wchar_t* key;
  202. wstring keystr = std::wstring(Code.begin(), Code.end());
  203.  
  204. key = keystr.c_str();
  205.  
  206. short c = g_initialize(key, &stateCallback, &newTradeCallback, &newDailyCallback, &newHistoryCallback, &progressCallBack, &newTinyBookCallBack);
  207. if (c != NL_OK)
  208. {
  209. cout << "Error initializing!" << c << endl;
  210. system("pause");
  211. return 0;
  212. }
  213.  
  214. }
  215. else
  216. cout << "Functions not found." << endl;
  217. }
  218. else
  219. {
  220. cout << "A DLL nao pode ser carregada.\n" << endl;
  221. }
  222. return 0;
  223. }
  224.  
  225.  
  226. int main()
  227. {
  228. //cout << "Aguardando conexao cliente." << endl;
  229. //server();
  230. market();
  231. wait_for_esc();
  232. }
  233.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: illegal character: '#'
#undef UNICODE
^
Main.java:3: error: illegal character: '#'
#define _WIN32_WINNT 0x501
^
Main.java:5: error: illegal character: '#'
#include <windows.h>
^
Main.java:6: error: illegal character: '#'
#include <fstream>
^
Main.java:7: error: illegal character: '#'
#include <winsock2.h>
^
Main.java:8: error: illegal character: '#'
#include <ws2tcpip.h>
^
Main.java:9: error: illegal character: '#'
#include <stdlib.h>
^
Main.java:10: error: illegal character: '#'
#include <stdio.h>
^
Main.java:11: error: illegal character: '#'
#include <iostream>
^
Main.java:12: error: illegal character: '#'
#include <string>
^
Main.java:13: error: illegal character: '#'
#include <map>
^
Main.java:14: error: illegal character: '#'
#include <vector>
^
Main.java:15: error: illegal character: '#'
#include <ctime>
^
Main.java:16: error: illegal character: '#'
#include <tchar.h>
^
Main.java:17: error: illegal character: '#'
#include <string.h>
^
Main.java:18: error: illegal character: '#'
#include <errno.h>
^
Main.java:20: error: illegal character: '#'
#pragma comment (lib, "Ws2_32.lib")
^
Main.java:21: error: illegal character: '#'
#pragma warning(disable:4996)
^
Main.java:23: error: illegal character: '#'
#define DEFAULT_BUFLEN 512
^
Main.java:24: error: illegal character: '#'
#define DEFAULT_PORT "5000"
^
Main.java:27: error: class, interface, or enum expected
using namespace std;
^
Main.java:29: error: class, interface, or enum expected
bool bAtivo = false;
^
Main.java:30: error: class, interface, or enum expected
bool bMarketConnected = false;
^
Main.java:32: error: class, interface, or enum expected
typedef struct
^
Main.java:35: error: class, interface, or enum expected
	wchar_t * bolsa;
	^
Main.java:36: error: class, interface, or enum expected
	int feed;
	^
Main.java:37: error: class, interface, or enum expected
} TAssetID;
^
Main.java:40: error: class, interface, or enum expected
typedef void (__stdcall *TStateCallback)(int nResult, int result);
^
Main.java:43: error: class, interface, or enum expected
typedef void (__stdcall *TNewTradeCallback)(TAssetID assetId, wchar_t* date, float price, float vol, int qtd, int buyAgent, int sellAgent, int tradeType);
^
Main.java:44: error: class, interface, or enum expected
typedef void (__stdcall *TNewDailyCallback)(TAssetID TAssetIDRec, wchar_t* date, float sOpen, float sHigh, float sLow, float sClose, float sVol, float sAjuste, float sMaxLimit, float sMinLimit, int sVolBuyer, int sVolSeller, int nQtd, int nNegocios, int nContratosOpen, int nQtdBuyer, int nQtdSeller, int nNegBuyer, int nNegSeller);
^
Main.java:45: error: class, interface, or enum expected
typedef void(__stdcall *TNewHistoryCallback)(TAssetID assetId, wchar_t* date, float price, float vol, int qtd, int buyAgent, int sellAgent, int tradeType);
^
Main.java:46: error: class, interface, or enum expected
typedef void(__stdcall *TProgressCallBack)(TAssetID assetId, int nProgress);
^
Main.java:47: error: class, interface, or enum expected
typedef void(__stdcall *TNewTinyBookCallBack)(TAssetID assetId, float price, int qtd, int side);
^
Main.java:50: error: class, interface, or enum expected
extern "C" {
^
Main.java:58: error: class, interface, or enum expected
	typedef signed char (__stdcall *Finalize)();
	^
Main.java:59: error: class, interface, or enum expected
	typedef signed char (__stdcall *SubscribeTicker)(const wchar_t *ticker, const wchar_t *bolsa);
	^
Main.java:60: error: class, interface, or enum expected
	typedef signed char (__stdcall *UnsubscribeTicker)(const wchar_t *ticker, const wchar_t *bolsa);
	^
Main.java:61: error: class, interface, or enum expected
	typedef wchar_t* (__stdcall *GetAgentNameByID)(int nID);
	^
Main.java:62: error: class, interface, or enum expected
	typedef wchar_t* (__stdcall *GetAgentShortNameByID)(int nID);
	^
Main.java:63: error: class, interface, or enum expected
	typedef signed char(__stdcall *GetHistoryTradesInInterval)(const wchar_t *pwcTicker, const wchar_t *bolsa,  wchar_t* dateStart, wchar_t* dateTimeStart);
	^
Main.java:64: error: class, interface, or enum expected
}
^
Main.java:69: error: class, interface, or enum expected
const signed char NL_ERR_INIT = 80;     // Not initialized
^
Main.java:70: error: class, interface, or enum expected
const signed char NL_ERR_INVALID_ARGS = 90;     // Invalid arguments
^
Main.java:71: error: class, interface, or enum expected
const signed char NL_ERR_INTERNAL_ERROR = 100;     // Internal error
^
Main.java:73: error: class, interface, or enum expected
bool g_Activated = false;
^
Main.java:77: error: class, interface, or enum expected
InitializeMarket g_initialize;
^
Main.java:78: error: class, interface, or enum expected
Finalize g_finalize;
^
Main.java:79: error: class, interface, or enum expected
SubscribeTicker g_subscribe;
^
Main.java:80: error: class, interface, or enum expected
UnsubscribeTicker g_unsubscribe;
^
Main.java:81: error: class, interface, or enum expected
GetAgentNameByID g_getAgentName;
^
Main.java:82: error: class, interface, or enum expected
GetAgentShortNameByID g_getAgentShortName;
^
Main.java:85: error: class, interface, or enum expected
void __stdcall newTradeCallback(TAssetID assetId, wchar_t* date, float price, float vol, int qtd, int buyAgent, int sellAgent, int tradeType){}
^
Main.java:94: error: class, interface, or enum expected
	std::time_t t = std::time(0);
	^
Main.java:95: error: class, interface, or enum expected
	std::tm* now = std::localtime(&t);
	^
Main.java:96: error: class, interface, or enum expected
	novadata = std::to_wstring(now->tm_hour).c_str();
	^
Main.java:97: error: class, interface, or enum expected
	novadata += std::to_wstring(now->tm_min).c_str();
	^
Main.java:98: error: class, interface, or enum expected
	novadata += std::to_wstring(now->tm_sec).c_str();
	^
Main.java:99: error: class, interface, or enum expected
	const wchar_t* ledata = novadata.c_str();
	^
Main.java:101: error: class, interface, or enum expected
	if (nConnStateType == 0) { // notificacoes de login
	^
Main.java:104: error: class, interface, or enum expected
		}
		^
Main.java:107: error: class, interface, or enum expected
		}
		^
Main.java:110: error: class, interface, or enum expected
		}
		^
Main.java:113: error: class, interface, or enum expected
		}
		^
Main.java:116: error: class, interface, or enum expected
		}
		^
Main.java:119: error: class, interface, or enum expected
		}
		^
Main.java:125: error: class, interface, or enum expected
		}
		^
Main.java:128: error: class, interface, or enum expected
		}
		^
Main.java:131: error: class, interface, or enum expected
		}
		^
Main.java:134: error: class, interface, or enum expected
		}
		^
Main.java:137: error: class, interface, or enum expected
		}
		^
Main.java:140: error: class, interface, or enum expected
		}
		^
Main.java:147: error: class, interface, or enum expected
			bMarketConnected = true;
			^
Main.java:148: error: class, interface, or enum expected
		}else{
		^
Main.java:150: error: class, interface, or enum expected
			bMarketConnected = false;
			^
Main.java:151: error: class, interface, or enum expected
		}
		^
Main.java:158: error: class, interface, or enum expected
			bAtivo = true;
			^
Main.java:159: error: class, interface, or enum expected
		}else{
		^
Main.java:161: error: class, interface, or enum expected
			bAtivo = false;
			^
Main.java:162: error: class, interface, or enum expected
		}
		^
Main.java:168: error: class, interface, or enum expected
	}
	^
Main.java:174: error: class, interface, or enum expected
	cout << "press esc to exit! " << endl;
	^
Main.java:175: error: class, interface, or enum expected
	while (exit == false)	{
	^
Main.java:179: error: class, interface, or enum expected
		}
		^
Main.java:182: error: class, interface, or enum expected
}
^
Main.java:187: error: class, interface, or enum expected
	if (hdl)
	^
Main.java:190: error: class, interface, or enum expected
		g_finalize = reinterpret_cast<Finalize>(GetProcAddress(hdl, "DLLFinalize"));
		^
Main.java:191: error: class, interface, or enum expected
		g_subscribe = reinterpret_cast<SubscribeTicker>(GetProcAddress(hdl, "SubscribeTicker"));
		^
Main.java:192: error: class, interface, or enum expected
		g_unsubscribe = reinterpret_cast<UnsubscribeTicker>(GetProcAddress(hdl, "UnsubscribeTicker"));
		^
Main.java:193: error: class, interface, or enum expected
		g_getAgentName = reinterpret_cast<GetAgentNameByID>(GetProcAddress(hdl, "GetAgentNameByID"));
		^
Main.java:194: error: class, interface, or enum expected
		g_getAgentShortName = reinterpret_cast<GetAgentShortNameByID>(GetProcAddress(hdl, "GetAgentShortNameByID"));
		^
Main.java:196: error: class, interface, or enum expected
		if (g_initialize && g_finalize && g_subscribe && g_unsubscribe && g_getAgentName && g_getAgentShortName)
		^
Main.java:199: error: class, interface, or enum expected
			string Code = "123151321351315135131531321";
			^
Main.java:200: error: class, interface, or enum expected
			cin >> Code;
			^
Main.java:201: error: class, interface, or enum expected
            const wchar_t* key;
            ^
Main.java:202: error: class, interface, or enum expected
			wstring keystr = std::wstring(Code.begin(), Code.end());
			^
Main.java:204: error: class, interface, or enum expected
			key = keystr.c_str();
			^
Main.java:206: error: class, interface, or enum expected
			short c = g_initialize(key, &stateCallback, &newTradeCallback, &newDailyCallback, &newHistoryCallback, &progressCallBack, &newTinyBookCallBack);
			^
Main.java:207: error: class, interface, or enum expected
			if (c != NL_OK)
			^
Main.java:210: error: class, interface, or enum expected
				system("pause");
				^
Main.java:211: error: class, interface, or enum expected
				return 0;
				^
100 errors
stdout
Standard output is empty