⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rangermanager.cpp

📁 支票扫描仪协议Ranger的应用.使用vc7.1
💻 CPP
📖 第 1 页 / 共 3 页
字号:

	RANGEROPERATION_CHECKVALIEDSTATE(Transport_Feeding)
	
	if (bWait)		RANGEROPERATION_INITILIZERESULT(g_asyncResult_StopCapture)
	
	m_pRanger->StopFeeding();
	
	if (bWait)		RANGEROPERATION_CHECKERESULT(g_asyncResult_StopCapture,Transport_ReadyToFeed)

	return TRUE;
}

BOOL CRangerManager::GetTransportInformation(TRANSPORTINFO& info)
{
	ASSERT(m_pRanger != NULL);

	info = m_curTransportInfo;
	
	return TRUE;
}

const TRANSPORTINFO* CRangerManager::GetTransportInformation() const
{
	ASSERT(m_pRanger != NULL);

	return (TRANSPORTINFO*)&m_curTransportInfo;
}

CString CRangerManager::GetOneTransportInfomation(LPCSTR SectionName, LPCSTR ValueName)
{
	ASSERT(m_pRanger != NULL);
	
	return m_pRanger->GetTransportInfo(SectionName,ValueName);
}


BOOL CRangerManager::EnableOption()
{
	// Valid operation State:Transport_ReadyToFeed
	// state changes :<Transport_ReadyToFeed> ->Transport_ChangeOptions->Transport_EnablingOptions ->Transport_ReadyToFeed
	
	RANGEROPERATION_CHECKVALIEDSTATE(Transport_ReadyToFeed)

	// write option
	RANGEROPERATION_INITILIZERESULT(g_asyncResult_EnableOption)
	//
	
	m_bPrepareToOption = TRUE;
	_EnableOption();

	RANGEROPERATION_CHECKERESULT(g_asyncResult_EnableOption,Transport_ReadyToFeed)

}

CString CRangerManager::GetTransportJobOptionFileName()
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->GetGenericOptionFileName();
}

void CRangerManager::SetTransportJobOptionFileName(LPCSTR lpszFileName)
{
	ASSERT(m_pRanger != NULL);

	m_pRanger->SetGenericOptionFileName(lpszFileName);
}

CString CRangerManager::GetOneTransportJobOption(LPCSTR SectionName, LPCSTR ValueName)
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->GetGenericOption(SectionName,ValueName);
}

BOOL	CRangerManager::SetOneTransportJobOption(LPCSTR SectionName, LPCSTR ValueName,LPCSTR Value)
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->SetGenericOption(SectionName,ValueName,Value);
}


CString CRangerManager::GetTransportDriverOptionFileName()
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->GetDriverOptionFileName();
}

void CRangerManager::SetTransportDriverOptionFileName(LPCSTR lpszFileName)
{
	ASSERT(m_pRanger != NULL);

	m_pRanger->SetDriverOptionFileName(lpszFileName);
}

CString CRangerManager::GetOneTransportDriverOption(LPCSTR SectionName, LPCSTR ValueName)
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->GetDriverOption(SectionName,ValueName);
}

BOOL	CRangerManager::SetOneTransportDriverOption(LPCSTR SectionName, LPCSTR ValueName,LPCSTR Value)
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->SetDriverOption(SectionName,ValueName,Value);
}

BOOL	CRangerManager::SetPassthroughProperty(LPCSTR lpszProperty,LPCSTR value)
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->SetPassthroughProperty(lpszProperty,value);
}

CString	CRangerManager::GetPassthroughProperty(LPCSTR lpszProperty)
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->GetPassthroughProperty(lpszProperty);

}

CString CRangerManager::CallPassthroughMethod(LPCSTR lpszMethod)
{
	ASSERT(m_pRanger != NULL);

	return m_pRanger->CallPassthroughMethod(lpszMethod);

}

//----RANGER EVENTS-----------------------------------------------------------------------
void CRangerManager::OnTransportNewState(long CurrentState, long PreviousState) 
{
	ASSERT(m_pRanger != NULL);
	if (m_pObserver)
		m_pObserver->OnTransprtStateChanged((TransportState)CurrentState);
	 
}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportIsDead() 
{
	ASSERT(m_pRanger != NULL);

	if (m_pObserver && m_bProcessingSession)	
	{
		RANGER_SESSION_END_INFO info;
		m_pObserver->OnSessionEnd(info);
		
	}

	if (m_pRangerParams)
	{
		m_pRangerParams->Close();
	}

	if (m_pObserver)
	{
		m_pObserver->OnDeviceShutDown();
	}

	m_bProcessingSession = FALSE;

	g_asyncResult_Start.SetResult( GetCurrentState());
}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportStartingUpState() 
{
	ASSERT(m_pRanger != NULL);

}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportChangeOptionsState(long PreviousState) 
{
	ASSERT(m_pRanger != NULL);

	const TransportState prestate = (TransportState)PreviousState;
	if (prestate == Transport_StartingUp)
	{

		// Get Transport Information
		_GetTransportInformation();

		//  
		if (m_pRangerParams)
		{
			m_pRangerParams->Create();
			m_pRangerParams->GetDefaultScannerSetting();
		}

		// Notify Device startup
		if (m_pObserver)
		{
			m_pObserver->OnDeviceStartUp();
		}
		// current state is Transport_ChangeOptions
		m_pRanger->EnableOptions();
	}

	g_asyncResult_EnableShutdown.SetResult(GetCurrentState());
}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportEnablingOptionsState() 
{
 }
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportReadyToFeedState(long PreviousState) 
{
	ASSERT(m_pRanger != NULL);

	const TransportState prestate = (TransportState)PreviousState;
	if (prestate == Transport_EnablingOptions)
	{
		// succeed to start up 
		g_asyncResult_Start.SetResult( GetCurrentState());
		if (m_bPrepareToOption)
		{
			// Transport_EnablingOptions -> Transport_ReadyToFeed: StartFeeding
			// reset

			// finish enable StartCapture
			g_asyncResult_EnableOption.SetResult( GetCurrentState());			
			g_asyncResult_EnableShutdown.SetResult(GetCurrentState());
			m_bPrepareToOption = FALSE;

 
		}

	}
	else if (prestate == Transport_Feeding)
	{
		if (m_dwPageID == 0)
		{
			// Session End
			if (m_pObserver && m_bProcessingSession)	
			{
				RANGER_SESSION_END_INFO info;
				m_pObserver->OnSessionEnd(info);

			}

			g_asyncResult_StopCapture.SetResult( GetCurrentState()); 

			// indicate that scan session is End
			m_bProcessingSession = FALSE;

		}
	}

}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportFeedingState() 
{
	ASSERT(m_pRanger != NULL);
 
}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportShuttingDownState() 
{
	ASSERT(m_pRanger != NULL);
 
}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportShutDownState() 
{
	ASSERT(m_pRanger != NULL);

	g_asyncResult_Shutdown.SetResult(GetCurrentState());
 
}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportFeedingStopped(long Reason, long ItemsFed, long ItemsRequested) 
{
	ASSERT(m_pRanger != NULL);
 
	//Stop capture
	//if (m_pObserver)	
	//{
	//	RANGER_SESSION_END_INFO info;
	//	info.Reason = Reason;
	//	info.ItemsFed = ItemsFed;
	//	info.ItemsRequested = ItemsRequested;
	//	m_pObserver->OnSessionEnd(info);

	//}

	//g_asyncResult_StopCapture.SetResult( GetCurrentState());

}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportInExceptionState()
{
	ASSERT(m_pRanger != NULL);

	// Exception Handle
	CRangerException ex(m_pRanger->GetExceptionType(),m_pRanger->GetExceptionDevice());
	
	// TEST
	CString strType = ex.GetExceptionTypeString();
	CString strDevice = ex.GetExceptionDeviceString();

	// notice that exception handle has been completed.
}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportExceptionComplete()
{
	// state change: Transport_ExceptionInProgress -> other state
	ASSERT(m_pRanger != NULL);

}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportOverrideOptions()
{
	ASSERT(m_pRanger != NULL);

}
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportPassthroughEvent(LPCTSTR EventName, LPCTSTR Args, long FAR* CancelDefaultResponse)
{
	ASSERT(m_pRanger != NULL);

}

//----------------------------------------------------------------------------------------
//  end of item life cycle events
//----------------------------------------------------------------------------------------
void CRangerManager::OnTransportNewItem() 
{
	ASSERT(m_pRanger != NULL);

	//if (m_pRanger->SetItemID(m_dwPageID))
	{
		// new Page
		if (m_pObserver && m_bProcessingSession)
		{
			RANGER_PAGE_BEGIN_INFO info;
			m_pObserver->OnPageBegin(info);
		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -