public void AssociateRQ_WriteRead_ExpectedExtendedNegotiation(DicomUID sopClassUid, DicomServiceApplicationInfo applicationInfo, DicomUID commonServiceClass, DicomUID[] relatedSopClasses) { var association = new DicomAssociation("testCalling", "testCalled"); association.ExtendedNegotiations.Add(sopClassUid, applicationInfo, commonServiceClass, relatedSopClasses); var rq = new AAssociateRQ(association); var writePdu = rq.Write(); var readPdu = ConvertWriteToReadPdu(writePdu); var testAssociation = new DicomAssociation(); var rq2 = new AAssociateRQ(testAssociation); rq2.Read(readPdu); Assert.Single(testAssociation.ExtendedNegotiations); var negotiation = testAssociation.ExtendedNegotiations.First(); Assert.Equal(sopClassUid, negotiation.SopClassUid); Assert.Equal(applicationInfo, negotiation.RequestedApplicationInfo); Assert.Equal(commonServiceClass, negotiation.ServiceClassUid); Assert.Equal(relatedSopClasses, negotiation.RelatedGeneralSopClasses); Assert.Null(negotiation.AcceptedApplicationInfo); }
public ServiceClassUser(IUnityContainer unityContainer, String name, String title, String hostName, int port) { _container = unityContainer; _associationFactory = _container.Resolve<AssociationFactory>(); _dcmObjectFactory = _container.Resolve<DcmObjectFactory>(); _dcmParserFactory = _container.Resolve<DcmParserFactory>(); _aAssociateRequest = _associationFactory.NewAAssociateRQ(); SetUpForOperation(name, title, hostName, port); var timer = new Timer(10 * 60 * 1000); timer.Elapsed += ClearCache; timer.Start(); }
public void Write_AeWithNonAsciiCharacters_ShouldBeAsciified() { var notExpected = "GÖTEBORG"; var request = new AAssociateRQ(new DicomAssociation("MALMÖ", notExpected)); var writePdu = request.Write(); var readPdu = ConvertWriteToReadPdu(writePdu); readPdu.Reset(); readPdu.SkipBytes("Unknown", 10); var actual = readPdu.ReadString("Called AE", 16); Assert.NotEqual(notExpected, actual); }
private int CreateAssociateSession() { UnparsePDU u; try { var associateRq = new AAssociateRQ(16384, LocalAETitle, PrinterAETitle); tcpClient.Connect(IPAddress.Parse(PrinterAddress), Convert.ToInt16(PrinterPort)); if (tcpClient.Connected) { byte[] byteBuffer = associateRq.CreateByteBuff(); _stream.Write(byteBuffer, 0, byteBuffer.Length); var _receiveBuffer = new byte[16384]; u = new UnparsePDU(_stream, _receiveBuffer); if (u.PDUType.Equals(2)) { var associateAC = new AAssociateAC(); //var nget = new N_GET(); } else if (u.PDUType.Equals(7)) { tcpClient.Close(); return u.Buff[9]; } } } catch (Exception ex) { _logger.FatalException("Exception", ex); } return -1; }
public IPdu Connect(AAssociateRQ rq, int timeout) { NDC.Push(name); try { fsm.Write(rq); return fsm.Read(timeout, b10); } finally { NDC.Pop(); } }
internal virtual void Write(AAssociateRQ rq) { throw new SystemException(); }
public void Write(AAssociateRQ rq) { FireWrite(rq); try { lock (stream) { state.Write(rq); } } catch (IOException ioe) { if (assocListener != null) { assocListener.Error(assoc, ioe); } throw ioe; } this.rq = rq; }
internal override void Write(AAssociateRQ rq) { try { rq.WriteTo(m_fsm.stream); } catch (IOException e) { m_fsm.ChangeState(m_fsm.STA1); throw e; } m_fsm.ChangeState(m_fsm.STA5); }
public void SetUp() { mockRepository = new MockRepository(); unityContainer = new UnityContainer(); associationFactory = mockRepository.DynamicMock<AssociationFactory>(); unityContainer.RegisterInstance(associationFactory); dcmObjectFactory = mockRepository.DynamicMock<DcmObjectFactory>(); unityContainer.RegisterInstance(dcmObjectFactory); unityContainer.RegisterInstance(mockRepository.DynamicMock<DcmParserFactory>()); aAssociateRequest = CreateAAssociateRq(); }