Example #1
0
        // 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());
            }
        }
Example #2
0
        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);
            
            
        }
Example #3
0
 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));
 }
Example #4
0
 public void doMsgUnknown(iCMsg msgref)
 {
     iCMsgUnknown msg = (iCMsgUnknown) msgref;
     System.Console.WriteLine("Received: " + iConnectCSharp.dump(msg));
 }
Example #5
0
        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);
        }
Example #6
0
 public void doMsgNegative(iCMsg msgref)
 {
     iCMsgNegative msg = (iCMsgNegative)msgref;
     System.Console.WriteLine("Received: " + iConnectCSharp.dump(msg));
 }
Example #7
0
        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.");
            }
        }
Example #8
0
    public void logMsgRequest(iCMsg msg, String strName, String strLog)
    {

    }