--- imagepool/fileloader.cpp.orig 2010-07-26 21:27:54.000000000 +0000 +++ imagepool/fileloader.cpp 2010-07-26 21:41:27.000000000 +0000 @@ -56,7 +56,8 @@ } void FileLoader::prescan_files(std::list< Glib::ustring >* filelist) { - std::string studyinstanceuid; + OFString studyinstanceuid; + const char *studyinstanceuid_str; std::list< Glib::ustring >::iterator i = filelist->begin(); unsigned int curr = 0; unsigned int max = filelist->size(); @@ -70,16 +71,18 @@ (*i).c_str(), EXS_Unknown, EGL_noChange, - DCM_MaxReadLength, - false); + DCM_MaxReadLength); if(cond.good() && dfile.getDataset()->findAndGetOFString(DCM_StudyInstanceUID, studyinstanceuid).good()) { - std::string seriesinstanceuid; + studyinstanceuid_str = studyinstanceuid.c_str(); + OFString seriesinstanceuid; + const char *seriesinstanceuid_str; dfile.getDataset()->findAndGetOFString(DCM_SeriesInstanceUID, seriesinstanceuid); + seriesinstanceuid_str = seriesinstanceuid.c_str(); - m_cache[studyinstanceuid].m_instancecount++; - m_cache[studyinstanceuid].m_seriesuid.insert(seriesinstanceuid); - m_cache[studyinstanceuid].m_seriescount = m_cache[studyinstanceuid].m_seriesuid.size(); + m_cache[studyinstanceuid_str].m_instancecount++; + m_cache[studyinstanceuid_str].m_seriesuid.insert(seriesinstanceuid_str); + m_cache[studyinstanceuid_str].m_seriescount = m_cache[studyinstanceuid_str].m_seriesuid.size(); } } } @@ -87,7 +90,7 @@ bool FileLoader::run() { std::list< Glib::ustring >* filelist = m_filelist; std::list< Glib::ustring >::iterator i = filelist->begin(); - std::string studyinstanceuid; + OFString studyinstanceuid; for(; i != filelist->end(); i++) { DcmFileFormat dfile; @@ -96,8 +99,7 @@ (*i).c_str(), EXS_Unknown, EGL_noChange, - DCM_MaxReadLength, - false); + DCM_MaxReadLength); if(!cond.good()) { std::cout << "unable to open file !!!" << std::endl; --- imagepool/netquery.cpp.orig 2010-07-26 21:45:52.000000000 +0000 +++ imagepool/netquery.cpp 2010-07-26 21:53:57.000000000 +0000 @@ -50,7 +51,7 @@ } static void fix_time(std::string& time) { - unsigned int i = time.find("."); + size_t i = time.find("."); if(i != std::string::npos) { time = time.substr(0, i); } @@ -88,28 +89,35 @@ Glib::RefPtr< ImagePool::Series > create_query_series(DcmDataset* dset) { Glib::RefPtr< ImagePool::Series > result = Glib::RefPtr< ImagePool::Series >(new Series); + OFString res; - dset->findAndGetOFString(DCM_SeriesInstanceUID, result->m_seriesinstanceuid); - dset->findAndGetOFString(DCM_SeriesDescription, result->m_description); + dset->findAndGetOFString(DCM_SeriesInstanceUID, res); + result->m_seriesinstanceuid = res.c_str(); + dset->findAndGetOFString(DCM_SeriesDescription, res); + result->m_description = res.c_str(); if(result->m_description.empty()) { - dset->findAndGetOFString(DCM_StudyDescription, result->m_description); + dset->findAndGetOFString(DCM_StudyDescription, res); + result->m_description = res.c_str(); } if(result->m_description.empty()) { result->m_description = gettext("no description"); } - dset->findAndGetOFString(DCM_Modality, result->m_modality); + dset->findAndGetOFString(DCM_Modality, res); + result->m_modality = res.c_str(); - dset->findAndGetOFString(DCM_SeriesTime, result->m_seriestime); + dset->findAndGetOFString(DCM_SeriesTime, res); + result->m_seriestime = res.c_str(); if(result->m_seriestime.empty()) { - dset->findAndGetOFString(DCM_StudyTime, result->m_seriestime); + dset->findAndGetOFString(DCM_StudyTime, res); + result->m_seriestime = res.c_str(); } - dset->findAndGetOFString(DCM_StationName, result->m_stationname); + dset->findAndGetOFString(DCM_StationName, res); + result->m_stationname = res.c_str(); - std::string buffer; - dset->findAndGetOFString(DCM_NumberOfSeriesRelatedInstances, buffer); - int i = atoi(buffer.c_str()); + dset->findAndGetOFString(DCM_NumberOfSeriesRelatedInstances, res); + int i = atoi(res.c_str()); if(i != 0) { result->m_instancecount = i; } --- imagepool/poolinstance.cpp.orig 2010-07-26 21:55:22.000000000 +0000 +++ imagepool/poolinstance.cpp 2010-07-27 14:33:34.000000000 +0000 @@ -279,35 +281,35 @@ // get SOPInstanceUID - std::string sop; + OFString sop; dset->findAndGetOFString(DCM_SOPInstanceUID, sop).bad(); // wrap in smartpointer - Glib::RefPtr r = Glib::RefPtr(new ImagePool::Instance(sop)); + Glib::RefPtr r = Glib::RefPtr(new ImagePool::Instance(sop.c_str())); // set encoding - std::string enc[2]; + OFString enc[2]; dset->findAndGetOFString(DCM_SpecificCharacterSet, enc[0], 0); dset->findAndGetOFString(DCM_SpecificCharacterSet, enc[1], 1); - r->set_encoding(enc[0], enc[1]); + r->set_encoding(enc[0].c_str(), enc[1].c_str()); // set dicom uid's - r->m_sopinstanceuid = sop; + r->m_sopinstanceuid = sop.c_str(); - std::string seriesuid; + OFString seriesuid; if(dset->findAndGetOFString(DCM_SeriesInstanceUID, seriesuid).good()) { - r->m_seriesinstanceuid = seriesuid; + r->m_seriesinstanceuid = seriesuid.c_str(); } - std::string studyuid; + OFString studyuid; if(dset->findAndGetOFString(DCM_StudyInstanceUID, studyuid).good()) { - r->m_studyinstanceuid = studyuid; + r->m_studyinstanceuid = studyuid.c_str(); } r->m_default_windowcenter = 0; r->m_default_windowwidth = 0; - std::string value; + OFString value; // get instancenumber if(dset->findAndGetOFString(DCM_InstanceNumber, value).good()) { @@ -438,29 +440,29 @@ // set date if(dset->findAndGetOFString(DCM_AcquisitionDate, value).good()) { - r->m_date = value; + r->m_date = value.c_str(); } else if(dset->findAndGetOFString(DCM_SeriesDate, value).good()) { - r->m_date = value; + r->m_date = value.c_str(); } else if(dset->findAndGetOFString(DCM_StudyDate, value).good()) { - r->m_date = value; + r->m_date = value.c_str(); } // set time if(dset->findAndGetOFString(DCM_AcquisitionTime, value).good()) { - r->m_time = value; + r->m_time = value.c_str(); } else if(dset->findAndGetOFString(DCM_SeriesTime, value).good()) { - r->m_time = value; + r->m_time = value.c_str(); } else if(dset->findAndGetOFString(DCM_StudyTime, value).good()) { - r->m_time = value; + r->m_time = value.c_str(); } // set ManufacturersModelName if(dset->findAndGetOFString(DCM_ManufacturersModelName, value).good()) { - r->m_model = value; + r->m_model = value.c_str(); } // set pixelspacing @@ -512,8 +514,10 @@ if(dset->findAndGetOFString(DCM_PatientsName, value).good()) { r->m_patientsname = r->convert_string(value.c_str()); } - dset->findAndGetOFString(DCM_PatientsBirthDate, r->m_patientsbirthdate); - dset->findAndGetOFString(DCM_PatientsSex, r->m_patientssex); + dset->findAndGetOFString(DCM_PatientsBirthDate, value); + r->m_patientsbirthdate = value.c_str(); + dset->findAndGetOFString(DCM_PatientsSex, value); + r->m_patientssex = value.c_str(); if(dset->findAndGetOFString(DCM_StudyDescription, value).good()) { r->m_studydescription = r->convert_string(value.c_str()); } @@ -528,8 +532,10 @@ r->m_studydescription = gettext("no description"); } - dset->findAndGetOFString(DCM_StudyDate, r->m_studydate); - dset->findAndGetOFString(DCM_StudyTime, r->m_studytime); + dset->findAndGetOFString(DCM_StudyDate, value); + r->m_studydate = value.c_str(); + dset->findAndGetOFString(DCM_StudyTime, value); + r->m_studytime = value.c_str(); // series params if(dset->findAndGetOFString(DCM_InstitutionName, value).good()) { @@ -549,7 +555,8 @@ r->m_seriesdescription = gettext("no description"); } - dset->findAndGetOFString(DCM_Modality, r->m_modality); + dset->findAndGetOFString(DCM_Modality, value); + r->m_modality = value.c_str(); Glib::RefPtr new_study = get_study(r->m_studyinstanceuid); if(new_study->size() == 0) { --- imagepool/poolmoveassociation.cpp.orig 2010-07-27 14:42:55.000000000 +0000 +++ imagepool/poolmoveassociation.cpp 2010-07-27 14:53:04.000000000 +0000 @@ -175,6 +174,9 @@ knownAbstractSyntaxes, DIM_OF(knownAbstractSyntaxes), transferSyntaxes, DIM_OF(transferSyntaxes)); + /* FIXME + * dcmStorageSOPClassUIDs and numberOfDcmStorageSOPClassUIDs + * are not defined anymore if (cond.good()) { // the array of Storage SOP Class UIDs comes from dcuid.h cond = ASC_acceptContextsWithPreferredTransferSyntaxes( @@ -182,6 +184,7 @@ dcmStorageSOPClassUIDs, numberOfDcmStorageSOPClassUIDs, transferSyntaxes, DIM_OF(transferSyntaxes)); } + */ } if (cond.good()) { --- imagepool/poolnetwork.cpp.orig 2010-07-27 14:53:57.000000000 +0000 +++ imagepool/poolnetwork.cpp 2010-07-27 14:55:07.000000000 +0000 @@ -227,10 +227,14 @@ } /* the array of Storage SOP Class UIDs comes from dcuid.h */ + /* FIXME + * dcmStorageSOPClassUIDs and numberOfDcmStorageSOPClassUIDs + * are not defined anymore for (i=0; i