This tutorial describes how an application can monitor the stages of a dial-up connection.
This tutorial has two parts. The first part describes how the application can ask for the current state of a dial-up connection. The second part describes how the application can be notified of changes in the state of a dial-up connection.
To
ask for the current state of a dial-up connection, an application calls the RConnection::Progress() function
passing in a TNifProgress object. On return, the iStage data
member of the TNifProgress object contains the information
that defines the current state of the connection.
The request that the application makes is an asynchronous request. An asynchronous request is not guaranteed to complete at the time of the return of the function call.
To make the request,
an application calls the RConnection::ProgressNotification() function.
The
function takes a TRequestStatus object, as is the model with
asynchronous requests, and the TNifProgressBuf package
buffer which packages a TNifProgress object.
When
the request completes, the iStage data member of the TNifProgress object
contains the information defining the current state of the connection.
An
outstanding request for notification can be cancelled using the RConnection::CancelProgressNotification() member
function of RConnection.
We recommend that an application package this functionality as an active object.