MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSLWPSPluginDataSource Class Referenceabstract

Detailed Description

Abstract class, represents the WPS data source. A user implemented WPS plugin shall inherit from this class and implement the required components in support of its methods.

Please refer to the MapLink Pro Developer's Guide for details on creating a WPS plugin.

Public Member Functions

virtual ~TSLWPSPluginDataSource ()=0
 
virtual TSLWPSProcessDescriptionTypedescribeProcess (const char *language)=0
 
virtual TSLWPSExecuteResponseexecuteProcess (const TSLWPSExecuteRequest *request, TSLWPSStoreHelper *storeHelper=0, TSLWPSProgressSink *progressSink=0)=0
 

Constructor & Destructor Documentation

◆ ~TSLWPSPluginDataSource()

virtual TSLWPSPluginDataSource::~TSLWPSPluginDataSource ( )
pure virtual

The destructor, performs cleanup.

Member Function Documentation

◆ describeProcess()

virtual TSLWPSProcessDescriptionType * TSLWPSPluginDataSource::describeProcess ( const char * language)
pure virtual

Provides, to the WPS, a description of the process provided by this user implemented plugin.

On service startup, the WPS instance will call this method for each of the languages that it is told to support in its server configuration file. The responses will be stored so that when a future WPS Describe Process call is made, a response document can be created.

The response to the initial langugage will also used to validate the parameters passed when performing a WPS Execute request, therefore it is required that the parameters and responses defined are consistent between languages.

Arguments List:

language : The language in which the user implemented plugin should describe its process.

Return the process description created by the user implemented plugin, in the language requested.

◆ executeProcess()

virtual TSLWPSExecuteResponse * TSLWPSPluginDataSource::executeProcess ( const TSLWPSExecuteRequest * request,
TSLWPSStoreHelper * storeHelper = 0,
TSLWPSProgressSink * progressSink = 0 )
pure virtual

This will be called when a WPS Execute request to received for the target process. The input parameters and details of the request will be provided to the plugin in the request parameter for interrogation.

The remaining parameters will only be provided for certain request types, otherwise they'll be null.

Arguments List:

request: Const reference to the WPS request object.

storeHelper : Pointer to the store helper. If the WPS request specifies that the result should be stored (by setting asReference to "true"), then the user implemented plugin should use this store helper in order to both store the process output(s) and to ascertain the reference URL for each of them. The reference URL of each output should be provided in the response object.

progressSink : Pointer to the progress sink helper object. If provided, the user implemented plugin shall use the progress sink to provide ongoing progress updates (i.e. giving the progress sink percentage complete calls). The progress percentage provided will be used to respond to user request for the status of an ongoing process. The progress sink shall be provided if the following conditions are met:

1) The WPS supports asynchronous processing, as configured by the service configuration. 2) The process advertises that it supports asyncronous processing, which is determined by the process description that the user implemented plugin generates in response to a describeProcess call from the WPS. 3) The WPS client has asked for the process to be executed asynchronously (via the storeExecuteResponse parameter)

Return the execute response object created by the user implemented plugin.