Home · All Commands · First Steps · Tutorials · Demos · FAQ | ||
Remote Interface Documentation |
Classes | |
struct | RI_CGetStopOffPointList |
Data structure for the Request "GetStopOffPointList". More... | |
Functions | |
LRESULT | RI_GetStopOffPointList_ReadData (LPARAM, RI_CGetStopOffPointList &) |
Read data from shared memory for "Get Stop Off Point List". | |
LRESULT | RI_GetStopOffPointList_WriteData (LPARAM, RI_CGetStopOffPointList &) |
Write data to shared memory for "Get Stop Off Point List". | |
Variables | |
const UINT | RI_MESSAGE_GETSTOPOFFPOINTLIST = RegisterWindowMessage(TEXT("RI_MESSAGE_GETSTOPOFFPOINTLIST")) |
const UINT RI_MESSAGE_GETSTOPOFFPOINTLIST = RegisterWindowMessage(TEXT("RI_MESSAGE_GETSTOPOFFPOINTLIST")) |
Message ID for the Request "get stop off point from stationlist":
RI_MESSAGE_GETSTOPOFFPOINTLIST
RI_GetStopOffPointList_WriteData(LPARAM id, RI_CGetStopOffPointList data );
RI_GetStopOffPointList_ReadData(LPARAM id, RI_CGetStopOffPointList data );
RI_NOERROR = Get Stop of Point List succeeded
Gets all stop-off-points.
If more than one station is in the list, the first received data structure will include the number of stations. The user will have explicitly send a new message to get the next station until all stations are transfered.
#define USE_LOADLIBRARY #include "TNSRemoteInterfaceDll.h" LPARAM GetUniqueID() { //generate unique ID static LPARAM id = 0; if (++id == 0) ++id; // do not use 0 !!!!! return id; } inline LRESULT RI_MESSAGE( const UINT request, HWND h_client, LPARAM id ) { //check if RI handle is valid if ( !IsWindow( RI_GetTNS() ) ) return RI_NAVIGATIONNOTACTIVE; //send the request PostMessage( RI_GetTNS(), request, WPARAM(h_client), id ); return RI_NOERROR; } LRESULT CDlgMFC_GetStopOffPointList::WindowProc ( UINT message , WPARAM wParam , LPARAM lParam ) { //check messages for answer from RI if ( message == RI_MESSAGE_GETSTOPOFFPOINTLIST ) { if ( (LRESULT)wParam == RI_NOERROR ) { RI_CGetStopOffPointList data; LRESULT read_suc = RI_GetStopOffPointList_ReadData( lParam, data ); if ( read_suc != RI_NOERROR ) //...data was overwritten. errorcode (-2) else { //examine whether the current station-index is smaller than the stationcount if (data.m_index < data.m_listcount ) { //show data: TRACE(TEXT("Caption: %s\n"),data.m_Caption); TRACE(TEXT("Description: %s\n"), data.m_Description); TRACE(TEXT("X-Koorinate: %i\n"), data.m_mercator_x); TRACE(TEXT("Y-Koordinate: %i\n"), data.m_mercator_y); TRACE(TEXT("ID: %i"),data.m_StationID); //advance station counter 1 data.m_index = data.m_index + 1; //write data LRESULT sharing_ret = RI_GetStopOffPointList_WriteData( data.m_ID, data ); //get next station from the list RI_MESSAGE( RI_MESSAGE_GETSTOPOFFPOINTLIST, GetSafeHwnd(), data.m_ID ); } } } else //Get Stop of Point List not succeeded. errorcode (-1) } return CDialog::WindowProc( message, wParam, lParam ); } void CDlgMFC_GetStopOffPointList::foo() { //*** copy data *** RI_CGetStopOffPointList data; //write flag and index data.m_index = 0; //*** write data in shared memory *** LPARAM id = GetUniqueID(); LRESULT sharing_ret = RI_GetStopOffPointList_WriteData( id, data ); if ( sharing_ret != RI_NOERROR ) return; if ( RI_MESSAGE( RI_MESSAGE_GETSTOPOFFPOINTLIST, GetSafeHwnd(), id ) == RI_NOERROR ) //message sending succeeded else //navigation software not running }
© PTV AG 2011 | Generated on Fri Oct 14 2011 10:17:32 for RI by 1.7.1 |