Classes | Functions | Variables
GetStopOffPointList: Get all stop off points from the stationlist

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"))
 

Detailed Description

Variable Documentation

const UINT RI_MESSAGE_GETSTOPOFFPOINTLIST = RegisterWindowMessage(TEXT("RI_MESSAGE_GETSTOPOFFPOINTLIST"))

Message ID for the Request "get stop off point from stationlist":
RI_MESSAGE_GETSTOPOFFPOINTLIST

Write Memory:

RI_GetStopOffPointList_WriteData(LPARAM id, RI_CGetStopOffPointList data );

Read Memory:

RI_GetStopOffPointList_ReadData(LPARAM id, RI_CGetStopOffPointList data );

Return Values for AddStopOffPoint2PreviousDestinationList:

RI_NOERROR = Get Stop of Point List succeeded

Description:

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.

Can return multiple packages

Example:

#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() ) )
//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 ( (LRESULT)wParam == RI_NOERROR )
{
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 ***
//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 Group 2020 Generated on Wed Apr 15 2020 12:47:52 for by doxygen 1.8.8