/// <summary> /// send a stuts message /// </summary> /// <param name="myState"></param> /// <param name="myText"></param> public void SendStatusMessage(KaiTrade.Interfaces.Status myState, string myText) { try { driverLog.Info(Name + ":" +myState.ToString() +":" + myText); // update the base session status UpdateStatus("DriverStatus", "", "", "", myState, myText); IDriverStatusMessage myDSM; setupStatus(out myDSM, myState, myText); KaiTrade.Interfaces.IMessage statusMsg = new K2DataObjects.Message(); statusMsg.Format = "XML"; statusMsg.Label = "DriverStatus"; statusMsg.Data = JsonConvert.SerializeObject(myDSM); SendStatusMessage(statusMsg); _lastStatus = statusMsg; } catch(Exception myE) { log.Error("SendStatusMessage", myE); } }
/// <summary> /// Send a FIX style response to our clients /// </summary> /// <param name="msgType"></param> /// <param name="myResponseMsg"></param> public void sendResponse(string msgType, string myResponseMsg) { try { // Create message envelope KaiTrade.Interfaces.IMessage myMsg = new K2DataObjects.Message(); // Set the raw FIX Message myMsg.Data = myResponseMsg; myMsg.Tag = m_ID; myMsg.AppSpecific = 0; myMsg.Label = msgType; myMsg.AppType = "FIX.4.3"; myMsg.TargetID = "MYTARG"; myMsg.ClientID = "MYCLIENT"; myMsg.CreationTime = System.DateTime.Now.ToString(); // Send the exec report to all clients SendMessage(myMsg); } catch (Exception myE) { log.Error("sendResponse", myE); } }
/// <summary> /// Send a FIX style status message specifing all parameters /// </summary> /// <param name="myState"></param> /// <param name="myText"></param> /// <param name="myBegin"></param> /// <param name="mySID"></param> /// <param name="myTID"></param> /// <param name="myFixName"></param> public void SendStatusMessage(KaiTrade.Interfaces.Status myState, string myText, string myBegin, string mySID, string myTID, string myFixName) { try { // Update a FIX session status UpdateStatus(myFixName, myBegin, myTID, mySID, myState, myText); IDriverStatusMessage myDSM; setupStatus(out myDSM, myState, myText); IDriverSession mySession = new DriverSession(); mySession.SessionName = myFixName; mySession.BeginString = myBegin; mySession.SID = mySID; mySession.TID = myTID; mySession.UserName = myFixName; mySession.State = myState; mySession.Text = myText; myDSM.Sessions.Add(mySession); KaiTrade.Interfaces.IMessage statusMsg = new K2DataObjects.Message(); statusMsg.Format = "XML"; statusMsg.Label = "DriverStatus"; statusMsg.Data = JsonConvert.SerializeObject(myDSM); SendStatusMessage(statusMsg); _lastStatus = statusMsg; } catch (Exception myE) { log.Error("SendStatusMessage", myE); } }
/// <summary> /// Send a simple advisory message to all clients of the /// adapter /// </summary> /// <param name="myMessageText"></param> public void SendAdvisoryMessage(string myMessageText) { try { driverLog.Info(Name + " advisory:" + myMessageText); IDriverStatusMessage myDSM; setupAdvisory(out myDSM, myMessageText); KaiTrade.Interfaces.IMessage myMessage = new K2DataObjects.Message(); myMessage.Label = "DriverAdvisory"; myMessage.Data = JsonConvert.SerializeObject(myDSM); SendStatusMessage(myMessage); } catch (Exception myE) { log.Error("SendAdvisoryMessage", myE); } }