WSF
WsfXIO_QuerySet Class Reference

#include <WsfXIO_Query.hpp>

Collaboration diagram for WsfXIO_QuerySet:

Public Types

typedef std::vector< WsfXIO_Query * > QueryList

Public Member Functions

 WsfXIO_QuerySet (WsfXIO_Interface *aInterfacePtr)
 ~WsfXIO_QuerySet ()
void AddQuery (WsfXIO_Query *aQueryPtr)
 Adds a query to the query set. This object takes ownership of aQuery.
void SetTimeout (double aWaitTimeSeconds)
void Clear ()
 Removes all queries from the query set.
const QueryListGetCompleteQueries () const
 Returns a list of completed queries.
void GetCompleteQueries (QueryList &aQueryList) const
 Gets a list of completed queries.
void GetIncompleteQueries (QueryList &aQueryList) const
 Copies the list of incomplete queries to aQueryList.
void GetSuccessfulQueries (QueryList &aQueryList) const
 Copies the list of successful queries to aQueryList.

Public Attributes

UtCallbackListN< void(WsfXIO_QuerySet *)> OnComplete

Protected Member Functions

void HandleTimeout ()
void HandleQueryComplete (WsfXIO_Query *aQueryPtr)

Protected Attributes

WsfXIO_InterfacemInterfacePtr
UtCallbackHolder mCallbacks
QueryList mCompleteQueries
QueryList mIncompleteQueries

Detailed Description

Commonly, a query must be sent to multiple applications. In this case, a new WsfXIO_Query must be made for each connection. The WsfXIO_QuerySet provides a way to gather the results of all of these related queries.

Member Typedef Documentation

◆ QueryList

Constructor & Destructor Documentation

◆ WsfXIO_QuerySet()

WsfXIO_QuerySet::WsfXIO_QuerySet ( WsfXIO_Interface * aInterfacePtr)
inline

References mInterfacePtr.

◆ ~WsfXIO_QuerySet()

WsfXIO_QuerySet::~WsfXIO_QuerySet ( )
inline

References Clear().

Member Function Documentation

◆ AddQuery()

void WsfXIO_QuerySet::AddQuery ( WsfXIO_Query * aQueryPtr)

Adds a query to the query set. This object takes ownership of aQuery.

References wsf::xio::cQUERY_NOT_COMPLETE, WsfXIO_Query::GetResult(), HandleQueryComplete(), mCallbacks, mCompleteQueries, mIncompleteQueries, and WsfXIO_Query::OnComplete.

◆ Clear()

void WsfXIO_QuerySet::Clear ( )

Removes all queries from the query set.

References mCallbacks, mCompleteQueries, and mIncompleteQueries.

Referenced by ~WsfXIO_QuerySet().

◆ GetCompleteQueries() [1/2]

const QueryList & WsfXIO_QuerySet::GetCompleteQueries ( ) const
inline

Returns a list of completed queries.

References mCompleteQueries.

◆ GetCompleteQueries() [2/2]

void WsfXIO_QuerySet::GetCompleteQueries ( QueryList & aQueryList) const
inline

Gets a list of completed queries.

References mCompleteQueries.

◆ GetIncompleteQueries()

void WsfXIO_QuerySet::GetIncompleteQueries ( QueryList & aQueryList) const
inline

Copies the list of incomplete queries to aQueryList.

References mIncompleteQueries.

◆ GetSuccessfulQueries()

void WsfXIO_QuerySet::GetSuccessfulQueries ( QueryList & aQueryList) const

Copies the list of successful queries to aQueryList.

References wsf::xio::cQUERY_SUCCESS_MASK, WsfXIO_Query::GetResult(), and mCompleteQueries.

◆ HandleQueryComplete()

void WsfXIO_QuerySet::HandleQueryComplete ( WsfXIO_Query * aQueryPtr)
protected

References mCompleteQueries, mIncompleteQueries, and OnComplete.

Referenced by AddQuery().

◆ HandleTimeout()

void WsfXIO_QuerySet::HandleTimeout ( )
protected

References mCallbacks, and OnComplete.

◆ SetTimeout()

void WsfXIO_QuerySet::SetTimeout ( double aWaitTimeSeconds)

Sets a timeout for the query set. OnComplete will be invoked if the timeout is reached prior to all queries completing. Using WsfXIO_QuerySet::SetTimeout() removes the need for calling WsfXIO_Query::SetTimeout

References mCallbacks, and mInterfacePtr.

Member Data Documentation

◆ mCallbacks

UtCallbackHolder WsfXIO_QuerySet::mCallbacks
protected

◆ mCompleteQueries

QueryList WsfXIO_QuerySet::mCompleteQueries
protected

◆ mIncompleteQueries

QueryList WsfXIO_QuerySet::mIncompleteQueries
protected

◆ mInterfacePtr

WsfXIO_Interface* WsfXIO_QuerySet::mInterfacePtr
protected

Referenced by SetTimeout(), and WsfXIO_QuerySet().

◆ OnComplete

UtCallbackListN<void(WsfXIO_QuerySet*)> WsfXIO_QuerySet::OnComplete

Callback list invoked when all of the queries are complete or the timeout has been reached

Referenced by HandleQueryComplete(), and HandleTimeout().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved