KD SOAP API Documentation  2.1
Signals | Public Member Functions | Protected Member Functions | List of all members
KDSoapJob Class Referenceabstract

KDSoapJob provides a job-based interface to handle asynchronous KD Soap calls. More...

#include <KDSoapJob.h>

Inheritance diagram for KDSoapJob:
Inheritance graph
[legend]
Collaboration diagram for KDSoapJob:
Collaboration graph
[legend]

Signals

void finished (KDSoapJob *job)
 

Public Member Functions

 KDSoapJob (QObject *parent=nullptr)
 
 ~KDSoapJob ()
 
QString faultAsString () const
 
bool isFault () const
 
KDSoapMessage reply () const
 
KDSoapHeaders replyHeaders () const
 
KDSoapHeaders requestHeaders () const
 
void setAutoDelete (bool enable)
 
void setRequestHeaders (const KDSoapHeaders &headers)
 
void start ()
 

Protected Member Functions

virtual Q_INVOKABLE void doStart ()=0
 
void emitFinished (const KDSoapMessage &reply, const KDSoapHeaders &replyHeaders)
 

Detailed Description

KDSoapJob provides a job-based interface to handle asynchronous KD Soap calls.

For each SOAP operation, kdwsdl2cpp generates a corresponding KDSoapJob subclass. This makes it easier to manage multiple callers in the client application code calling the same functions, preventing callers processing results for calls made from another caller instead of their own calls.

For example, a call to getMothersDay (from the holidays example) using the conventional asynchronous API would look like this:

connect(client, &ServiceClass::getMothersDayDone, this, &MyClass::getMothersDayDone);
connect(client, &ServiceClass::getMothersDayError, this, &MyClass::getMothersDayError);
TNS__GetMothersDay params;
params.setYear(2012);
client->asyncGetMothersDay(params);

In this example, all responses to getMothersDay made client will be received by the slots connected above. Using the job-based API, it becomes:

GetMothersDayJob* job = new GetMothersDayJob(client);
connect(job, &GetMothersDayJob::finished, this, &MyClass::getMothersDayDone);
TNS__GetMothersDay params;
params.setYear(2012);
job->setParameters(params);
job->start();

Now only the result of this specific getMothersDay call will be received by the slot.

Since
1.2

Definition at line 52 of file KDSoapJob.h.

Constructor & Destructor Documentation

◆ KDSoapJob()

KDSoapJob::KDSoapJob ( QObject *  parent = nullptr)
explicit

Constructs a KD Soap job.

Parameters
parentoptional parent object

Definition at line 23 of file KDSoapJob.cpp.

◆ ~KDSoapJob()

KDSoapJob::~KDSoapJob ( )

Destructor.

Definition at line 30 of file KDSoapJob.cpp.

Member Function Documentation

◆ doStart()

virtual Q_INVOKABLE void KDSoapJob::doStart ( )
protectedpure virtual

◆ emitFinished()

void KDSoapJob::emitFinished ( const KDSoapMessage reply,
const KDSoapHeaders replyHeaders 
)
protected

Definition at line 55 of file KDSoapJob.cpp.

References finished(), reply(), and replyHeaders().

◆ faultAsString()

QString KDSoapJob::faultAsString ( ) const

A human-readable error string describing the fault if the reply message is a fault, an empty string otherwise.

Definition at line 80 of file KDSoapJob.cpp.

◆ finished

void KDSoapJob::finished ( KDSoapJob job)
signal

emitted when the job is completed, i.e. the reply for the job's request was received. To read the result, call reply() in the connected slot. Do not delete the job, the job will auto-delete itself. This behavior can be changed with setAutoDelete().

Parameters
jobThe job instance that emitted the signal

Referenced by emitFinished().

◆ isFault()

bool KDSoapJob::isFault ( ) const

Returns whether the reply message (see reply()) represents a fault.

Definition at line 75 of file KDSoapJob.cpp.

◆ reply()

KDSoapMessage KDSoapJob::reply ( ) const

Returns the reply message received from the SOAP server once the request was completed. Only valid once the request is completed and finished() was emitted.

Definition at line 65 of file KDSoapJob.cpp.

Referenced by emitFinished().

◆ replyHeaders()

KDSoapHeaders KDSoapJob::replyHeaders ( ) const

Returns the reply headers received from the SOAP server once the request was completed. Only valid once the request is completed and finished() was emitted.

Since
1.8

Definition at line 70 of file KDSoapJob.cpp.

Referenced by emitFinished().

◆ requestHeaders()

KDSoapHeaders KDSoapJob::requestHeaders ( ) const

Returns the reply headers received from the SOAP server once the request was completed. Only valid once the request is completed and finished() was emitted.

Definition at line 35 of file KDSoapJob.cpp.

◆ setAutoDelete()

void KDSoapJob::setAutoDelete ( bool  enable)

Defines whether the job should be automatically deleted or not.

Since
1.8

Definition at line 50 of file KDSoapJob.cpp.

◆ setRequestHeaders()

void KDSoapJob::setRequestHeaders ( const KDSoapHeaders headers)

Sets request headers to be sent to the SOAP server. These are sent in addition to the persistent headers set via the client interface.

Since
1.8

Definition at line 40 of file KDSoapJob.cpp.

◆ start()

void KDSoapJob::start ( )

Starts the job. The job will emit finished() once done.

Definition at line 45 of file KDSoapJob.cpp.


The documentation for this class was generated from the following files:

© 2010-2022 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-soap/
Generated on Tue Jun 13 2023 12:18:34 for KD SOAP API Documentation by doxygen 1.9.1