void CRemoteRecursiveOperation::OnStateChange(t_statechange_notifications notification, const wxString&, const void* data2)
{
	if (notification == STATECHANGE_REMOTE_DIR_OTHER && data2) {
		std::shared_ptr<CDirectoryListing> const& listing = *reinterpret_cast<std::shared_ptr<CDirectoryListing> const*>(data2);
		ProcessDirectoryListing(listing.get());
	}
	else if (notification == STATECHANGE_REMOTE_LINKNOTDIR) {
		wxASSERT(data2);
		LinkIsNotDir();
	}
}
예제 #2
0
void CSearchDialog::OnStateChange(CState* pState, enum t_statechange_notifications notification, const wxString& data, const void* data2)
{
	if (notification == STATECHANGE_REMOTE_DIR)
		ProcessDirectoryListing();
	else if (notification == STATECHANGE_REMOTE_IDLE)
	{
		if (pState->IsRemoteIdle())
			m_searching = false;
		SetCtrlState();
	}
}
예제 #3
0
void CRecursiveOperation::OnStateChange(CState* pState, enum t_statechange_notifications notification, const wxString&, const void* data2)
{
	if (notification == STATECHANGE_REMOTE_LINKNOTDIR)
	{
		wxASSERT(data2);
		LinkIsNotDir();
	}
	else
	{
		wxASSERT(pState);
		wxASSERT(notification == STATECHANGE_REMOTE_DIR);
		ProcessDirectoryListing(pState->GetRemoteDir().get());
	}
}
예제 #4
0
void CRecursiveOperation::OnStateChange(unsigned int event, const wxString& data)
{
	wxASSERT(m_pState);
	if (event == STATECHANGE_REMOTE_DIR)
		ProcessDirectoryListing(m_pState->GetRemoteDir());
}