Beispiel #1
0
        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();
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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;
        }
Beispiel #5
0
 public IPdu Connect(AAssociateRQ rq, int timeout)
 {
     NDC.Push(name);
     try {
         fsm.Write(rq);
         return fsm.Read(timeout, b10);
     }
     finally {
         NDC.Pop();
     }
 }
Beispiel #6
0
 internal virtual void Write(AAssociateRQ rq)
 {
     throw new SystemException();
 }
Beispiel #7
0
 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;
 }
Beispiel #8
0
 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();
 }