I am creating an extension using MSVC 6.0 + Gecko-sdk 1.7. I have
successfully created a nslWebProgressListener and within its
OnStateChange function, I have

if ((aStateFlags & STATE_STOP) && (aStateFlags &
STATE_IS_REQUEST)) {
        nsCOMPtr<nsIHttpChannel> channel = do_QueryInterface(aRequest);



        nsCOMPtr<nsIUploadChannel> upload = do_QueryInterface(channel);



        if (upload) {
          nsCOMPtr<nsIInputStream> uploadStream = nsnull;
          if (NS_SUCCEEDED(rv =
upload->GetUploadStream(getter_AddRefs(uploadStream)))) {
            PRUint32 avail;
            rv = uploadStream->Available(&avail);
          }
         }
       }


I found the avail is always 0 which is due to the stream has already
been processed before I get to it. After researching on this group, I
found that I can rewind the seekable stream by calling QueryInterface
for nsISeekableStream. As this interface is not frozen yet, I would not

expect to locate "nsISeekableStream.h" in the gecko-sdk directory but
the problem is I can't find it in the mozilla firefox 1.5.04 (window
source) either. Where I should look for this file and as well as
"nsIServiceManagerUtils.h" (for do_GetService..etc.)?

_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom

Reply via email to