예제 #1
0
 public CGetClient()
     : base()
 {
     LogID        = "C-Get SCU";
     CallingAE    = "GET_SCU";
     CalledAE     = "GET_SCP";
     _getSopClass = DicomUID.StudyRootQueryRetrieveInformationModelGET;
     _getQueries  = new Queue <CGetQuery>();
     _current     = null;
 }
예제 #2
0
 private void PerformQueryOrRelease()
 {
     if (_getQueries.Count > 0)
     {
         byte pcid = Associate.FindAbstractSyntax(GetSopClassUID);
         if (Associate.GetPresentationContextResult(pcid) == DcmPresContextResult.Accept)
         {
             _current = _getQueries.Dequeue();
             SendCGetRequest(pcid, 1, Priority, _current.ToDataset());
         }
         else
         {
             Log.Info("{0} -> Presentation context rejected: {1}", LogID, Associate.GetPresentationContextResult(pcid));
             SendReleaseRequest();
         }
     }
     else
     {
         SendReleaseRequest();
     }
 }
예제 #3
0
 public void AddQuery(CGetQuery query)
 {
     _getQueries.Enqueue(query);
 }