using System;
using log4net;
{
class ExchangeSymbolList
{
private static ILog log = LogManager.GetLogger("ExchangeSymbolList");
private MessageSerializer serializer;
private RoutingDataStore rds;
public void Main()
{
ConfigurationHelper.Initialize();
serializer = new MessageSerializer();
rds = ConfigurationHelper.RoutingDataStore;
ExchangeSymbolListRequestMessage requestMessage = new ExchangeSymbolListRequestMessage
{
header = new RequestHeaderMessage
{
user = Authentication.GetUser(),
password = Authentication.GetPassword()
},
exchange = "BLN"
};
StaticDataResponse response = rds.CallFunction(StaticDataFunctions.EXCHANGE_SYMBOL_LIST
, InputFormat.PROTO.ToString()
, OutputFormat.PROTO.ToString()
, serializer.Serialize<ExchangeSymbolListRequestMessage>(OutputFormat.PROTO, requestMessage));
if (response.GetErrorCode() != 0)
{
log.Warn("Error from calling function: ExchangeSymbolList: " + response.GetErrorMessage());
return;
}
ExchangeSymbolListMessage responseMessage = serializer.Deserialize<ExchangeSymbolListMessage>(InputFormat.PROTO, response.GetData());
if (responseMessage.header.error_code != ErrorCodes.Ok && responseMessage.header.error_code != ErrorCodes.Default)
{
log.Error("Fatal: " + responseMessage.header.error_message);
return;
}
Console.WriteLine("Response contained vwd codes: " + responseMessage.symbols.Count);
foreach (String symbol in responseMessage.symbols)
{
Console.WriteLine("Code: " + symbol);
}
}
}
}