// This method must be defined public void onData(iCMsg msg, iCSession session) { eICMsgType msgType = msg.getMsgType(); StringBuilder sBuff = new StringBuilder(); sBuff.Append("Received:"); sBuff.Append(" [" + msg.getMsgType() + "/" + msg.getRequestId() + "] "); if (sampleLog.getDebugLogLevel()) { sBuff.Append(iConnectCSharp.dump(msg)); } else { sBuff.Append("\n"); } sBuff.Append("\n"); sampleLog.log(sBuff.ToString()); if (eICMsgType.eMsgHeartbeat == msgType) System.Console.WriteLine("onData - " + session.getUsername() + "\n" + "Heartbeat Received"); else if (eICMsgType.eMsgPositive == msgType) doMsgPositive(msg); else if (eICMsgType.eMsgNegative == msgType) doMsgNegative(msg); else if (eICMsgType.eMsgPositiveLogin == msgType) doMsgPositiveLogin(msg, session); else if (eICMsgType.eMsgElectronicTransaction == msgType) doMsgElectronicTransaction(msg, session); else if (eICMsgType.eMsgVoiceTransaction == msgType) doMsgVoiceTransaction(msg, session); else if (eICMsgType.eMsgApplicationData == msgType) doMsgApplicationData(msg); else if (eICMsgType.eMsgInvalid == msgType) doMsgUnknown(msg); else { System.Console.WriteLine("onData: message type " + msg.getPacketType()); } }
public void doMsgVoiceTransaction(iCMsg msgref, iCSession session) { //This message has the same structure as iCMsgElectronicTransaction. //See doMsgElectronicTransaction() for implementation details. //iCMsgVoiceTransaction msg = iCMsgVoiceTransaction.downcast(msgref.getPtr()); //System.Console.WriteLine("Received: " + msg.ToString()); iCMsgVoiceTransaction msg = (iCMsgVoiceTransaction) msgref; System.Console.WriteLine("Received: " + iConnectCSharp.dump(msg)); // Get common trade details iCTradeData tradeData = msg.getTradeData(); System.Console.WriteLine("\tIssue description: " + tradeData.getIssueDescription().getIssueDescription()); if (m_iAckFlag != 0) { // Request existing trade updates, if any. iCMsg msg1 = new iCMsgTradeMatchRequest(eICTradeMatchConfirm.eTradeMatchAccept, tradeData.getTradeId()); System.Net.Sockets.SocketError errMsg1 = session.send(msg1); if (errMsg1 == System.Net.Sockets.SocketError.Success) { StringBuilder strBufferMsgSent = new StringBuilder(); strBufferMsgSent.Append(iConnectCSharp.dump(msg1)); System.Console.WriteLine(strBufferMsgSent.ToString()); } else { System.Console.WriteLine("Sending iCMsgTradeMatchRequest Failed: " + errMsg1.ToString()); } } // Get market dependent trade details iCExtension tradeExt = msg.getTradeExtension(); eICExtensionType ext = tradeExt.getExtensionType(); if (eICExtensionType.eExtensionNone == ext) System.Console.WriteLine("\tIssue description: None"); else if (eICExtensionType.eTradeExtensionTreasury == ext) doTradeExtensionTreasury(tradeExt); else if (eICExtensionType.eTradeExtensionAgency == ext) doTradeExtensionAgency(tradeExt); else if (eICExtensionType.eTradeExtensionRepo == ext) doTradeExtensionRepo(tradeExt); else if (eICExtensionType.eTradeExtensionBrady == ext) doTradeExtensionEmergingMarket(tradeExt); else if (eICExtensionType.eTradeExtensionAGB == ext) doTradeExtensionAGB(tradeExt); else if (eICExtensionType.eTradeExtensionEuro == ext) doTradeExtensionEuro(tradeExt); else if (eICExtensionType.eTradeExtensionEuroRepo == ext) doTradeExtensionEuroRepo(tradeExt); else if (eICExtensionType.eTradeExtensionRandBond == ext) doTradeExtensionRandBond(tradeExt); else if (eICExtensionType.eTradeExtensionDolSovs == ext) doTradeExtensionDolSovs(tradeExt); else if (eICExtensionType.eTradeExtensionCDS == ext) doTradeExtensionCDS(tradeExt); else if (eICExtensionType.eTradeExtensionBankCapital == ext) doTradeExtensionBankCapital(tradeExt); else if (eICExtensionType.eTradeExtensionEuroSterling == ext) doTradeExtensionEuroSterling(tradeExt); else if (eICExtensionType.eTradeExtensionBTecTreasury == ext) doTradeExtensionBTecTreasury(tradeExt); else if (eICExtensionType.eTradeExtensionFirstBrokersEmerging == ext) doTradeExtensionFirstBrokersEmerging(tradeExt); else if (eICExtensionType.eTradeExtensionFirstBrokers == ext) doTradeExtensionFirstBrokersDetail(tradeExt); else if (eICExtensionType.eTradeExtensionFirstBrokersIntermediate == ext) doTradeExtensionFirstBrokersIntermediate(tradeExt); else if (eICExtensionType.eTradeExtensionBTecMBS == ext) doTradeExtensionBTecMBS(tradeExt); else if (eICExtensionType.eTradeExtensionBTecGCRepo == ext) doTradeExtensionBTecGCRepo(tradeExt); else if (eICExtensionType.eTradeExtensionBTecAgency == ext) doTradeExtensionBTecAgency(tradeExt); else if (eICExtensionType.eTradeExtensionBTecSpecRepo == ext) doTradeExtensionBTecSpecRepo(tradeExt); else if (eICExtensionType.eTradeExtensionEnergy == ext) doTradeExtensionBTecEnergy(tradeExt); else if (eICExtensionType.eTradeExtensionBTecCGB == ext) doTradeExtensionBTecCGB(tradeExt); else if (eICExtensionType.eTradeExtensionEmktRepoDetail == ext) doTradeExtensionEmktRepoDetail(tradeExt); else if (eICExtensionType.eTradeExtensionWCLKGilts == ext) doTradeExtensionWCLKGilts(tradeExt); }
public void doMsgApplicationData(iCMsg msgref) { //This message has the same structure as iCMsgApplicationData. //See doMsgApplicationData() for implementation details. iCMsgApplicationData msg = (iCMsgApplicationData) msgref; System.Console.WriteLine("Received: " + iConnectCSharp.dump(msg)); }
public void doMsgUnknown(iCMsg msgref) { iCMsgUnknown msg = (iCMsgUnknown) msgref; System.Console.WriteLine("Received: " + iConnectCSharp.dump(msg)); }
public void doMsgPositiveLogin(iCMsg msgref, iCSession session) { iCMsgPositiveLogin msg = (iCMsgPositiveLogin)msgref; System.Console.WriteLine("Received: " + iConnectCSharp.dump(msg)); System.Console.WriteLine("Number of markets allowed: " + msg.getMarketIdVector().Count); }
public void doMsgNegative(iCMsg msgref) { iCMsgNegative msg = (iCMsgNegative)msgref; System.Console.WriteLine("Received: " + iConnectCSharp.dump(msg)); }
public void doMsgPositive(iCMsg msgref) { iCMsgPositive msg = (iCMsgPositive)msgref; System.Console.WriteLine("Received: " + iConnectCSharp.dump(msg)); System.Console.WriteLine("Positive Response Received for Message: " + msg.getRequestType()); if (eICMsgType.eMsgLogout == msg.getRequestType()) { System.Console.WriteLine("Sucessful client logout."); } }
public void logMsgRequest(iCMsg msg, String strName, String strLog) { }