Kaynağa Gözat

cleaned access of nested QtSoapType content

ivowolf 14 yıl önce
ebeveyn
işleme
3cb2c2c363

+ 16 - 39
Plugins/org.commontk.dah.core/ctkDicomAppHostingTypesHelper.cpp

@@ -30,6 +30,7 @@ void DumpAll(const QtSoapType& type, int indent=0)
     QString s;
     s = "Dumping: " + type.typeName() + " " + type.name().name();
     qDebug() << s;
+    indent = 4;
   }
   for (int i = 0; i < type.count() ; i++)
   {
@@ -273,29 +274,12 @@ ctkDicomSoapArrayOfObjectDescriptors::ctkDicomSoapArrayOfObjectDescriptors(const
 ctkDicomAppHosting::ArrayOfObjectDescriptors ctkDicomSoapArrayOfObjectDescriptors::getArrayOfObjectDescriptors(const QtSoapType& type)
 {
   ctkDicomAppHosting::ArrayOfObjectDescriptors list;
-  const QtSoapType& checkType = type;//["objectDescriptors"];
-  if(checkType.type() == QtSoapType::Array)
-  {
-    const QtSoapArray& array = static_cast<const QtSoapArray&> (checkType);
-    for (int i = 0; i < array.count() ; i++)
-    {
-      const ctkDicomAppHosting::ObjectDescriptor od =
-          ctkDicomSoapObjectDescriptor::getObjectDescriptor(array.at(i));
-      list.append(od);
-    }
-  }
-  else if(checkType.type() == QtSoapType::Struct)
+  for (int i = 0; i < type.count() ; i++)
   {
-    const QtSoapStruct& array = static_cast<const QtSoapStruct&> (checkType);
-    for (int i = 0; i < type.count() ; i++)
-    {
-      const ctkDicomAppHosting::ObjectDescriptor od =
-          ctkDicomSoapObjectDescriptor::getObjectDescriptor(type[i]);
-      list.append(od);
-    }
+    const ctkDicomAppHosting::ObjectDescriptor od =
+      ctkDicomSoapObjectDescriptor::getObjectDescriptor(type[i]);
+    list.append(od);
   }
-  else
-    qDebug() << "Type of availableData.objectDescriptors is: " << checkType.typeName() << "  " << checkType.name().name();
   return list;
 }
 
@@ -361,12 +345,11 @@ ctkDicomAppHosting::Study ctkDicomSoapStudy::getStudy(const QtSoapType& type)
   s.objectDescriptors = ctkDicomSoapArrayOfObjectDescriptors::getArrayOfObjectDescriptors(type["objectDescriptors"]);
 
   QList<ctkDicomAppHosting::Series> listSeries;
-  const QtSoapStruct& array2 = static_cast<const QtSoapStruct&>(type["Series"]);
-  DumpQtSoapType(array2);
-  for (int i = 0; i < array2.count() ; i++)
+  const QtSoapType& seriesArray = type["Series"];
+  for (int i = 0; i < seriesArray.count() ; i++)
   {
     const ctkDicomAppHosting::Series series =
-        ctkDicomSoapSeries::getSeries(array2[i]);
+        ctkDicomSoapSeries::getSeries(seriesArray[i]);
     listSeries.append(series);
   }
   s.series = listSeries;
@@ -423,14 +406,13 @@ ctkDicomAppHosting::Patient ctkDicomSoapPatient::getPatient(const QtSoapType& ty
   p.objectDescriptors = ctkDicomSoapArrayOfObjectDescriptors::getArrayOfObjectDescriptors(type["objectDescriptors"]);
 
   QList<ctkDicomAppHosting::Study> listPatient;
-  const QtSoapArray& array2 = static_cast<const QtSoapArray&>(type["Studies"]);
-  for (int i = 0; i < array2.count() ; i++)
+  const QtSoapType& studiesArray = type["Studies"];
+  for (int i = 0; i < studiesArray.count() ; i++)
   {
     const ctkDicomAppHosting::Study study =
-        ctkDicomSoapStudy::getStudy(array2[i]);
+        ctkDicomSoapStudy::getStudy(studiesArray[i]);
     listPatient.append(study);
   }
-
   p.studies = listPatient;
   return p;
 }
@@ -481,21 +463,16 @@ ctkDicomAppHosting::AvailableData ctkDicomSoapAvailableData::getAvailableData (c
 
   ad.objectDescriptors = ctkDicomSoapArrayOfObjectDescriptors::getArrayOfObjectDescriptors(type["objectDescriptors"]);
 
-  const QtSoapType& checkTypePatients = type["patients"];
   QList<ctkDicomAppHosting::Patient> listPatients;
-  if(checkTypePatients.type() == QtSoapType::Struct)
+  const QtSoapType& patientsArray = type["patients"];
+  for (int i = 0; i < patientsArray.count() ; i++)
   {
-    const QtSoapStruct& patients = static_cast<const QtSoapStruct&>(type["patients"]);
-    for (int i = 0; i < patients.count() ; i++)
-    {
       const ctkDicomAppHosting::Patient patient =
-          ctkDicomSoapPatient::getPatient(patients[i]);
+          ctkDicomSoapPatient::getPatient(patientsArray[i]);
       listPatients.append(patient);
-    }
-    ad.patients = listPatients;
   }
-  else
-    qDebug() << "Type of availableData.patients is: " << checkTypePatients.typeName() << "  " << checkTypePatients.name().name();
+  ad.patients = listPatients;
+
   return ad;
 }
 

+ 2 - 4
Plugins/org.commontk.dah.core/ctkExchangeSoapMessageProcessor.cpp

@@ -58,23 +58,21 @@ bool ctkExchangeSoapMessageProcessor::process(
 
   return foundMethod;
 }
-extern void DumpAll(const QtSoapType& type, int indent=0);
 void ctkExchangeSoapMessageProcessor::processNotifyDataAvailable(
   const QtSoapMessage &message, QtSoapMessage *reply) const
 {
   // extract arguments from input message
-  DumpAll(message.method());
   const QtSoapType& inputType = message.method()["availableData"];
   if(inputType.isValid()==false)
   {
     qCritical() << "  NotifyDataAvailable: availableData not valid. " << inputType.errorString();
   }
-  CTK_SOAP_LOG_HIGHLEVEL( << inputType.toString());
+  CTK_SOAP_LOG( << inputType.toString());
   const ctkDicomAppHosting::AvailableData data = ctkDicomSoapAvailableData::getAvailableData(inputType);
   const QtSoapType& inputType2 = message.method()["lastData"];
   const bool lastData = ctkDicomSoapBool::getBool(inputType2);
 
-  CTK_SOAP_LOG_HIGHLEVEL( << "  NotifyDataAvailable: " << data.objectDescriptors.count());
+  CTK_SOAP_LOG_HIGHLEVEL( << "  NotifyDataAvailable: patients.count: " << data.patients.count());
   // query interface
   bool result = exchangeInterface->notifyDataAvailable(data, lastData);
   // set reply message

+ 2 - 2
Plugins/org.commontk.dah.core/ctkSoapLog.h

@@ -25,8 +25,8 @@
 //#define CTK_SOAP_LOG_LOWLEVEL(msg) qDebug() msg;
 #define CTK_SOAP_LOG_LOWLEVEL(msg) 
 
-#define CTK_SOAP_LOG(msg) qDebug() msg;
-//#define CTK_SOAP_LOG(msg) 
+//#define CTK_SOAP_LOG(msg) qDebug() msg;
+#define CTK_SOAP_LOG(msg) 
 
 #define CTK_SOAP_LOG_HIGHLEVEL(msg) qDebug() msg;
 //#define CTK_SOAP_LOG_HIGHLEVEL(msg)