Esempio n. 1
0
 // Private -------------------------------------------------------
 private void DoMultiRsp(ActiveAssociation assoc, IDimse request, IDicomCommand rspCmd, IMultiDimseRsp mdr)
 {
     try {
         assoc.AddCancelListener(rspCmd.MessageIDToBeingRespondedTo, mdr.CancelListener);
         do {
             DataSet rspData = mdr.Next(assoc, request, rspCmd);
             IDimse rsp = _associationFactory.NewDimse(request.PresentationContextId(), rspCmd, rspData);
             assoc.Association.Write(rsp);
             DoAfterRsp(assoc, rsp);
         } while (rspCmd.IsPending());
     }
     finally {
         mdr.Release();
     }
 }
Esempio n. 2
0
 protected override void DoCEcho(ActiveAssociation assoc, IDimse request, IDicomCommand rspCmd)
 {
     rspCmd.PutUS(Tags.Status, Success);
 }
Esempio n. 3
0
 protected virtual DataSet DoNSet(ActiveAssociation assoc, IDimse request, IDicomCommand rspCmd)
 {
     request.ReadDataset(); // read out DataSet, if any
     throw defEx;
 }
Esempio n. 4
0
 protected virtual void DoCStore(ActiveAssociation activeAssociation, IDimse request, IDicomCommand responseCommand)
 {
     request.ReadDataset(); // read out DataSet, if any
     throw defEx;
 }
Esempio n. 5
0
 protected virtual void DoCEcho(ActiveAssociation assoc, IDimse request, IDicomCommand rspCmd)
 {
     //      request.getDataset(); // read out DataSet
     throw defEx;
 }
 public virtual IDimse NewDimse(int presentationContextId, IDicomCommand dicomCommand, DataSet dataSet)
 {
     return new Dimse(presentationContextId, dicomCommand, dataSet, null);
 }
Esempio n. 7
0
 protected override void DoCStore(ActiveAssociation activeAssociation, IDimse request, IDicomCommand responseCommand)
 {
     IDicomCommand requestCommand = request.DicomCommand;
     Stream inputStream = request.DataAsStream;
     try {
         String instanceUniqueId = requestCommand.AffectedSOPInstanceUniqueId;
         String classUniqueId = requestCommand.AffectedSOPClassUniqueId;
         DcmDecodeParam decParam = DcmDecodeParam.ValueOf(request.TransferSyntaxUniqueId);
         DataSet dataSet = _dcmObjectFactory.NewDataset();
         DcmParser parser = parserFactory.NewDcmParser(inputStream);
         parser.DcmHandler = dataSet.DcmHandler;
         parser.ParseDataset(decParam, Tags.PixelData);
         dataSet.FileMetaInfo = _dcmObjectFactory.NewFileMetaInfo(classUniqueId, instanceUniqueId, request.TransferSyntaxUniqueId);
         FileInfo file = ToFile(dataSet);
         StoreToFile(parser, dataSet, file, (DcmEncodeParam) decParam);
         responseCommand.PutUS(Tags.Status, SUCCESS);
     }
     catch (Exception e) {
         Logger.Error(e.Message, e);
         throw new DcmServiceException(PROCESSING_FAILURE, e);
     }
     finally {
         inputStream.Close();
     }
 }