public void BeginTransferringDicomInstancesAuditTest() { AssociationParameters parms = new ClientAssociationParameters("CLIENT", "SERVER", new IPEndPoint(new IPAddress(new byte[] { 2, 2, 2, 2 }), 2)); parms.LocalEndPoint = new IPEndPoint(new IPAddress(new byte[] { 1, 1, 1, 1 }), 1); BeginTransferringDicomInstancesAuditHelper helper = new BeginTransferringDicomInstancesAuditHelper( new DicomAuditSource("testApp", "Site", AuditSourceTypeCodeEnum.ApplicationServerProcessTierInMultiTierSystem), EventIdentificationContentsEventOutcomeIndicator.Success, parms, new AuditPatientParticipantObject("id1234", "Test Patient")); DicomAttributeCollection collection = new DicomAttributeCollection(); SetupMR(collection); helper.AddStorageInstance(new StorageInstance(new DicomMessage(new DicomAttributeCollection(), collection))); string output = helper.Serialize(true); Assert.IsNotEmpty(output); Assert.Ignore("Skipping schema validation due to schema bug #9455"); Exception exception; if (!helper.Verify(out exception)) throw exception; }
private void SetSocketOptions(ClientAssociationParameters parameters) { _socket.ReceiveBufferSize = parameters.ReceiveBufferSize; _socket.SendBufferSize = parameters.SendBufferSize; _socket.ReceiveTimeout = parameters.ReadTimeout; _socket.SendTimeout = parameters.WriteTimeout; _socket.LingerState = new LingerOption(false, 0); // Nagle option _socket.NoDelay = parameters.DisableNagle; }
public override void OnReceiveResponseMessage(DicomClient client, ClientAssociationParameters association, byte presentationID, ClearCanvas.Dicom.DicomMessage message) { base.OnReceiveResponseMessage(client, association, presentationID, message); if (message.Status.Status == DicomState.Warning) { DicomStatus status = DicomStatuses.LookupQueryRetrieve(message.Status.Code); _errorDescriptionDetails = String.Format("Remote server returned a warning status ({0}: {1}).", RemoteAE, status.Description); } }
public void Query(string remoteAE, string remoteHost, int remotePort) { IPAddress addr = Dns.GetHostAddresses(remoteHost)[0]; ClientAssociationParameters _assocParams = new ClientAssociationParameters(AETitle, remoteAE, new IPEndPoint(addr, remotePort)); byte pcid = _assocParams.AddPresentationContext(SopClass.StudyRootQueryRetrieveInformationModelFind); _assocParams.AddTransferSyntax(pcid, TransferSyntax.ExplicitVrLittleEndian); _assocParams.AddTransferSyntax(pcid, TransferSyntax.ImplicitVrLittleEndian); _dicomClient = DicomClient.Connect(_assocParams, this); }
public void OnReceiveAssociateAccept(DicomClient client, ClientAssociationParameters association) { if (_type == TestTypes.AssociationReject) { Assert.Fail("Unexpected negotiated association on reject test."); } else if (_type == TestTypes.SendMR) { DicomMessage msg = new DicomMessage(); _test.SetupMR(msg.DataSet); byte id = association.FindAbstractSyntaxWithTransferSyntax(msg.SopClass, TransferSyntax.ExplicitVrLittleEndian); client.SendCStoreRequest(id, client.NextMessageID(), DicomPriority.Medium, msg); } else { Assert.Fail("Unexpected test type"); } }
public void OnNetworkError(DicomClient client, ClientAssociationParameters association, Exception e) { Assert.Fail("Incorrectly received OnNetworkError callback"); }
public void OnReceiveAbort(DicomClient client, ClientAssociationParameters association, DicomAbortSource source, DicomAbortReason reason) { Logger.LogError("Unexpected association abort received from {0}", association.CalledAE); _dicomClient = null; }
public void OnReceiveResponseMessage(DicomClient client, ClientAssociationParameters association, byte presentationID, DicomMessage message) { if (message.Status.Status == DicomState.Pending) { string studyinstanceuid = message.DataSet[DicomTags.StudyInstanceUid].GetString(0, ""); if (OnResultReceive != null) OnResultReceive(message.DataSet); } else { _dicomClient.SendReleaseRequest(); } }
public void OnReceiveAssociateReject(DicomClient client, ClientAssociationParameters association, DicomRejectResult result, DicomRejectSource source, DicomRejectReason reason) { }
public void OnNetworkError(DicomClient client, ClientAssociationParameters association, Exception e) { throw new Exception("The method or operation is not implemented."); }
public void OnReceiveReleaseResponse(DicomClient client, ClientAssociationParameters association) { if (OnQueryCompleted != null) { OnQueryCompleted(); _dicomClient.Dispose(); } }
public void OnReceiveResponseMessage(DicomClient client, ClientAssociationParameters association, byte presentationID, DicomMessage message) { client.SendReleaseRequest(); Assert.AreEqual(message.Status.Code, DicomStatuses.Success.Code, "Incorrect DICOM status returned"); }
internal ClientAssociationParameters Copy(ClientAssociationParameters sourceParameters) { return(new ClientAssociationParameters(sourceParameters)); }
internal ClientAssociationParameters Copy(ClientAssociationParameters sourceParameters) { return new ClientAssociationParameters(sourceParameters); }
private ClientAssociationParameters(ClientAssociationParameters parameters) : base(parameters) { }
public void OnDimseTimeout(DicomClient client, ClientAssociationParameters association) { Logger.LogInfo("Timeout waiting for response message, continuing."); }
public void OnNetworkError(DicomClient client, ClientAssociationParameters association, Exception e) { Logger.LogErrorException(e, "Unexpected network error"); _dicomClient = null; }
public void OnReceiveReleaseResponse(DicomClient client, ClientAssociationParameters association) { // Signal the main thread we're exiting _threadStop.Set(); }
public void OnReceiveRequestMessage(DicomClient client, ClientAssociationParameters association, byte presentationID, DicomMessage message) { Assert.Fail("Incorrectly received OnReceiveRequestMessage callback"); }
public void OnReceiveAssociateReject(DicomClient client, ClientAssociationParameters association, DicomRejectResult result, DicomRejectSource source, DicomRejectReason reason) { if (_type == TestTypes.AssociationReject) { Assert.IsTrue(source == DicomRejectSource.ServiceProviderACSE); Assert.IsTrue(result == DicomRejectResult.Permanent); Assert.IsTrue(reason == DicomRejectReason.NoReasonGiven); _threadStop.Set(); } else Assert.Fail("Incorrectly received OnReceiveAssociateReject callback"); }
public void OnReceiveAbort(DicomClient client, ClientAssociationParameters association, DicomAbortSource source, DicomAbortReason reason) { throw new Exception("The method or operation is not implemented."); }
public void OnReceiveAbort(DicomClient client, ClientAssociationParameters association, DicomAbortSource source, DicomAbortReason reason) { Assert.Fail("Incorrectly received OnReceiveAbort callback"); }
public void OnDimseTimeout(DicomClient server, ClientAssociationParameters association) { throw new Exception("The method or operation is not implemented."); }
public void DicomInstancesTransferredAuditTest() { AssociationParameters parms = new ClientAssociationParameters("CLIENT", "SERVER", new IPEndPoint(new IPAddress(new byte[] {2, 2, 2, 2}), 2)); parms.LocalEndPoint = new IPEndPoint(new IPAddress(new byte[] {1, 1, 1, 1}), 1); DicomInstancesTransferredAuditHelper helper = new DicomInstancesTransferredAuditHelper( new DicomAuditSource("testApp", "Site", AuditSourceTypeCodeEnum.ApplicationServerProcessTierInMultiTierSystem), EventIdentificationTypeEventOutcomeIndicator.Success, EventIdentificationTypeEventActionCode.R, parms); DicomAttributeCollection collection = new DicomAttributeCollection(); SetupMultiframeXA(collection,128,128,2); helper.AddPatientParticipantObject(new AuditPatientParticipantObject(collection)); helper.AddStorageInstance(new StorageInstance(new DicomMessage(new DicomAttributeCollection(), collection))); string output = helper.Serialize(true); Assert.IsNotEmpty(output); string failure; bool result = helper.Verify(out failure); Assert.IsTrue(result, failure); }
public void OnReceiveAssociateAccept(DicomClient client, ClientAssociationParameters association) { SendCFind(); }
public void OnReceiveRequestMessage(DicomClient client, ClientAssociationParameters association, byte presentationID, DicomMessage message) { }
public void OnClientClosed(DicomClient client, ClientAssociationParameters association) { OnClientClosedCalled = true; }
public void ServerTest() { int port = 2112; /* Setup the Server */ ServerAssociationParameters serverParameters = new ServerAssociationParameters("AssocTestServer",new IPEndPoint(IPAddress.Any,port)); byte pcid = serverParameters.AddPresentationContext(SopClass.MrImageStorage); serverParameters.AddTransferSyntax(pcid, TransferSyntax.ExplicitVrLittleEndian); serverParameters.AddTransferSyntax(pcid, TransferSyntax.ExplicitVrBigEndian); serverParameters.AddTransferSyntax(pcid, TransferSyntax.ImplicitVrLittleEndian); _serverType = TestTypes.SendMR; DicomServer.StartListening(serverParameters, ServerHandlerCreator); /* Setup the client */ ClientAssociationParameters clientParameters = new ClientAssociationParameters("AssocTestClient","AssocTestServer", new System.Net.IPEndPoint(IPAddress.Loopback,port)); pcid = clientParameters.AddPresentationContext(SopClass.MrImageStorage); clientParameters.AddTransferSyntax(pcid, TransferSyntax.ExplicitVrLittleEndian); clientParameters.AddTransferSyntax(pcid, TransferSyntax.ImplicitVrLittleEndian); pcid = clientParameters.AddPresentationContext(SopClass.CtImageStorage); clientParameters.AddTransferSyntax(pcid, TransferSyntax.ExplicitVrLittleEndian); clientParameters.AddTransferSyntax(pcid, TransferSyntax.ImplicitVrLittleEndian); /* Open the association */ ClientHandler handler = new ClientHandler(this,TestTypes.SendMR); DicomClient client = DicomClient.Connect(clientParameters, handler); handler._threadStop.WaitOne(); client.Dispose(); DicomServer.StopListening(serverParameters); }
public void OnReceiveReleaseResponse(DicomClient client, ClientAssociationParameters association) { Logger.LogInfo("Association released to {0}", association.CalledAE); _dicomClient = null; }
public void QueryAuditTest() { AssociationParameters parms = new ClientAssociationParameters("CLIENT", "SERVER", new IPEndPoint(new IPAddress(new byte[] {2, 2, 2, 2}), 2)); parms.LocalEndPoint = new IPEndPoint(new IPAddress(new byte[] {1, 1, 1, 1}), 1); QueryAuditHelper helper = new QueryAuditHelper(new DicomAuditSource("testApplication"), EventIdentificationTypeEventOutcomeIndicator.Success, parms); helper.AddOtherParticipant(new AuditPersonActiveParticipant("testUser","test@test","Test Name")); helper.AddPatientParticipantObject(new AuditPatientParticipantObject("id1234", "Test Patient")); AuditStudyParticipantObject study = new AuditStudyParticipantObject("1.2.3.4.5", "A1234", "1.2.3"); study.AddSopClass("1.2.3", 5); helper.AddStudyParticipantObject(study); string output = helper.Serialize(true); Assert.IsNotEmpty(output); string failure; bool result = helper.Verify(out failure); Assert.IsTrue(result, failure); helper = new QueryAuditHelper(new DicomAuditSource("testApplication2","enterpriseId", AuditSourceTypeCodeEnum.EndUserInterface),EventIdentificationTypeEventOutcomeIndicator.Success, parms); helper.AddStudyParticipantObject(new AuditStudyParticipantObject("1.2.3.4.5")); output = helper.Serialize(true); Assert.IsNotEmpty(output); result = helper.Verify(out failure); Assert.IsTrue(result, failure); }
public void OnDimseTimeout(DicomClient client, ClientAssociationParameters association) { }