예제 #1
0
        public virtual bool Initialize(IProtocolConfig protocolConfig, IServerConfig serverConfig, HL7ProtocolBase hL7Protocol = null)
        {
            if (!m_HL7Server.Setup(serverConfig))
            {
                return(false);
            }

            if (hL7Protocol != null)
            {
                m_HL7Protocol = hL7Protocol;
            }

            m_HL7Protocol.Config = protocolConfig;

            m_LocalEndpoint = new IPEndPoint(IPAddress.Parse(m_HL7Server.Config.Ip), m_HL7Server.Config.Port);

            m_EasyClient.Initialize(new ReceiverFilter(m_HL7Protocol), (request) =>
            {
                if (request.Request.IsAcknowledge)
                {
                    m_HL7Server.Logger.Info($"CALLBACK: Ack captured {request.Request.GetValue("MSA-2")}");
                    ProcessIncomingAck(request.Request);
                }
                else
                {
                    ProcessIncomingRequest(request);
                }
            });

            NewRequestReceived += OnNewRequestReceived;

            return(true);
        }
예제 #2
0
 public HL7ProtocolBase(IProtocolConfig p)
 {
     Config = p;
 }