The WinInet API allows the user to specify a callback
function to be executed as the state of the internet
connection changes. This is done by calling the
function InternetSetStatusCallback(). The function
requires an HINTERNET handle. For the
SOAPWinInetTransport class, this would be
the "m_hIntenet" handle.
I request that a method be added to said class that
calls the InternetSetStatusCallback() API function. It
would look something like this:
INTERNET_STATUS_CALLBACK
SOAPWinInetTransport::SetCallback
(INTERNET_STATUS_CALLBACK pCallBackFunc)
{
return InternetSetStatusCallback(m_hInternet,
pCallBackFunc);
}
That's it.
The "m_hInternet" handle is a private member of the
class. That prevents me from deriving my own transport
class directly from it. For now, I am deriving a class
from SOAPTransport, which is 99% unchanged code.
This just doesn't seem right.
One note: the call back function is called with a DWORD
context value that is assign duting a call
to "InternetOpenUrl()". EasySoap++ does not call that
API. It calls "InternetOpen()" instead. The callback
function is called with a value of "0" for the callback (I
think... must experiment).
Logged In: YES
user_id=1043848
I submitted a patch that accomplishes this, but on a more
useful scope.