Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
HydraExpress Web Service Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

rwsf::AsyncHandle

Group:  Asynchronous


rwsf::AsyncHandle rwsf::HandleBase

Local Index

Members

Header File

#include <rw/rwsf/soapworx/AsyncHandle.h>

Description

rwsf::AsyncHandle is used to represent an asynchronous operation. An instance of this class is a handle returned by an asynchronous Start() method and required for an asynchronous End() method.

Generated proxies include both synchronous and asynchronous versions of each service operation method. Depending on the needs of your client, you use either the synchronous method or the asynchronous method.

For example, following is an excerpt of the generated service operation methods for the example DayofWeek, reformatted slightly to make it more readable:

//1For synchronous operations, choose one of these methods, depending on whether you want to pass aa callInfo object.
//2The asynchronous method getDayofWeekStart() launches the thread that allows the client to continue processing while waiting for a response. The rwsf::AsyncHandle instance returned by this method holds that thread and allows you to determine when the operation has completed as well as retrieve any results from the operation.
//3Joins the thread, blocking until a response is received, and returns the result.

rwsf::AsyncHandle implements the handle/body idiom in which rwsf::AsyncHandle is the handle, and rwsf::AsyncHandleImp is the body. An instance of this class is a handle to a private, reference-counted body. When a handle is copy-constructed, the new handle attaches to the same body as the original. When one handle is assigned to another handle, the handle on the left side detaches from its current body and attaches to the body pointed to by the handle on the right side. Logical operators return truth values based on whether the handles being compared point to the same body instance.


NOTE -- Handle methods that just call the corresponding method on the body are described only in the body class. For instance, if the handle class includes a method invoke() that calls the body's corresponding method doInvoke(), that method is documented only in the body class.

For information on asynchronous processing, see Chapter 13, "Asynchronous Messaging," in the HydraExpress Web Service Development Guide

Public Constructors

AsyncHandle();
AsyncHandle(const AsyncHandle& handle);
AsyncHandle(AsyncHandleImp* imp);

Destructor

~AsyncHandle();

Public Member Operator

AsyncHandle& 
operator=(const AsyncHandle& obj);

Public Member Functions

virtual rwsf::CallInfo 
getCallInfo() const;
rwsf::AsyncThread* 
getThread();
virtual bool 
isFinished() const;
virtual void 
join();

Related Classes

See also rwsf::AsyncThread.



Previous fileTop of DocumentContentsIndex pageNext file

©2004-2007 Copyright Quovadx, Inc. All Rights Reserved.
Quovadx and Rogue Wave are registered trademarks of Quovadx, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.