void wxGxDiscConnection::Refresh(void) { #ifdef __WXGTK__ m_pWatcher->RemoveAll(); #endif DestroyChildren(); m_bIsChildrenLoaded = false; LoadChildren(); wxGIS_GXCATALOG_EVENT(ObjectRefreshed); }
//thread to check if remote folder is readable //before exit we assume that folder is not readable wxThread::ExitCode wxGxDiscConnectionUI::Entry() { while (!GetThread()->TestDestroy()) { bool bIsOk = wxIsReadable(wxString(m_sPath, wxConvUTF8)); char nIsReadable = bIsOk == true ? 1 : 0; if (nIsReadable != m_nIsReadable) { m_nIsReadable = nIsReadable; if (m_nIsReadable == FALSE) { wxGxDiscConnection::DestroyChildren(); } wxGIS_GXCATALOG_EVENT(ObjectChanged); } wxThread::Sleep(TM_CHECKING); } return (wxThread::ExitCode)wxTHREAD_NO_ERROR; }
wxGISDataset* const wxGxOpenFileGDB::GetDataset(bool bCached, ITrackCancel* const pTrackCancel) { wxGISDataSource* pwxGISDataSource = wxDynamicCast(GetDatasetFast(), wxGISDataSource); if (NULL != pwxGISDataSource && !pwxGISDataSource->IsOpened()) { if (!pwxGISDataSource->Open(TRUE)) { wsDELETE(pwxGISDataSource); const char* err = CPLGetLastErrorMsg(); wxString sErr = wxString::Format(_("Operation '%s' failed! GDAL error: %s"), _("Open"), wxString(err, wxConvUTF8).c_str()); wxLogError(sErr); if (pTrackCancel) pTrackCancel->PutMessage(sErr, wxNOT_FOUND, enumGISMessageErr); return NULL; } wxGIS_GXCATALOG_EVENT(ObjectChanged); wsDELETE(pwxGISDataSource); } wsGET(m_pwxGISDataset); }
wxGISDataset* const wxGxMLDatasetUI::GetDataset(bool bCache, ITrackCancel* const pTrackCancel) { wxGISFeatureDataset* pwxGISFeatureDataset = wxDynamicCast(GetDatasetFast(), wxGISFeatureDataset); if(pwxGISFeatureDataset && !pwxGISFeatureDataset->IsOpened()) { if (!pwxGISFeatureDataset->Open(0, TRUE, bCache, pTrackCancel)) { const char* err = CPLGetLastErrorMsg(); wxString sErr = wxString::Format(_("Operation '%s' failed! GDAL error: %s"), _("Open"), wxString(err, wxConvUTF8).c_str()); wxLogError(sErr); if (pTrackCancel) { pTrackCancel->PutMessage(sErr, wxNOT_FOUND, enumGISMessageErr); } wsDELETE(pwxGISFeatureDataset); return NULL; } wxGIS_GXCATALOG_EVENT(ObjectChanged); } wsGET( m_pwxGISDataset ); }