Home · All Commands · First Steps · Tutorials · Demos · FAQ
 

Remote Interface Documentation

Tutorials

Introduction

The tutorials will show you how to integrate the remote interface in your application and how to communicate with the navigator.
As described in First Steps there are two types of commands, the ones without data and the others with data-transfer. The commands with data-transfer can be splitted in two subgroups:

For every type of command, we have created a small tutorial to show how the control flow works.
We also have two convenience functions which will be used in our examples:

Every message needs a unique id to be sent, so we create one by this function:

LPARAM GetUniqueID()
{
    static LPARAM id = 0;
    if (++id == 0) ++id; // do not use 0 !!!!!
    return id;
}

Furthermore we need a function to get a handle from the remote interface and send the request to it:

inline LRESULT RI_MESSAGE( const UINT request, HWND h_client, LPARAM id )
{
    if ( !IsWindow( RI_GetTNS() ) )
    return RI_NAVIGATIONNOTACTIVE;
    PostMessage( RI_GetTNS(), request, WPARAM(h_client), id );
    return RI_NOERROR;
}

The return value of the above function is set to RI_NAVIGATIONNOTACTIVE or RI_NOERROR only to check if the command itself could be posted, it does not indicate that the request to the interface was successful. To check for successful execution of the command wait for the message you sent in the WindowProc to arrive.

Tutorials

Tutorial 1: Start the navigation software in tracking mode (command without data-transfer)
Tutorial 2: Convert an address-string to mercator coordinates (command with data-transfer, single package)
Tutorial 3: Read the stationlist from the navigator (command with data-transfer, multiple package)


© PTV AG 2011 Generated on Fri Oct 14 2011 10:17:32 for RI by doxygen 1.7.1