nsIStreamListener.h
上传用户:goldcmy89
上传日期:2017-12-03
资源大小:2246k
文件大小:4k
源码类别:

PlugIns编程

开发平台:

Visual C++

  1. /*
  2.  * DO NOT EDIT.  THIS FILE IS GENERATED FROM c:/builds/tinderbox/XR-Mozilla1.8.0-Release/WINNT_5.2_Depend/mozilla/netwerk/base/public/nsIStreamListener.idl
  3.  */
  4. #ifndef __gen_nsIStreamListener_h__
  5. #define __gen_nsIStreamListener_h__
  6. #ifndef __gen_nsIRequestObserver_h__
  7. #include "nsIRequestObserver.h"
  8. #endif
  9. /* For IDL files that don't want to include root IDL files. */
  10. #ifndef NS_NO_VTABLE
  11. #define NS_NO_VTABLE
  12. #endif
  13. class nsIInputStream; /* forward declaration */
  14. /* starting interface:    nsIStreamListener */
  15. #define NS_ISTREAMLISTENER_IID_STR "1a637020-1482-11d3-9333-00104ba0fd40"
  16. #define NS_ISTREAMLISTENER_IID 
  17.   {0x1a637020, 0x1482, 0x11d3, 
  18.     { 0x93, 0x33, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 }}
  19. /**
  20.  * nsIStreamListener
  21.  *
  22.  * @status FROZEN
  23.  */
  24. class NS_NO_VTABLE nsIStreamListener : public nsIRequestObserver {
  25.  public: 
  26.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISTREAMLISTENER_IID)
  27.   /**
  28.      * Called when the next chunk of data (corresponding to the request) may
  29.      * be read without blocking the calling thread.  The onDataAvailable impl
  30.      * must read exactly |aCount| bytes of data before returning.
  31.      *
  32.      * @param aRequest request corresponding to the source of the data
  33.      * @param aContext user defined context
  34.      * @param aInputStream input stream containing the data chunk
  35.      * @param aOffset current stream position
  36.      * @param aCount number of bytes available in the stream
  37.      *
  38.      * NOTE: The aInputStream parameter must implement readSegments.
  39.      *
  40.      * An exception thrown from onDataAvailable has the side-effect of
  41.      * causing the request to be canceled.
  42.      */
  43.   /* void onDataAvailable (in nsIRequest aRequest, in nsISupports aContext, in nsIInputStream aInputStream, in unsigned long aOffset, in unsigned long aCount); */
  44.   NS_IMETHOD OnDataAvailable(nsIRequest *aRequest, nsISupports *aContext, nsIInputStream *aInputStream, PRUint32 aOffset, PRUint32 aCount) = 0;
  45. };
  46. /* Use this macro when declaring classes that implement this interface. */
  47. #define NS_DECL_NSISTREAMLISTENER 
  48.   NS_IMETHOD OnDataAvailable(nsIRequest *aRequest, nsISupports *aContext, nsIInputStream *aInputStream, PRUint32 aOffset, PRUint32 aCount); 
  49. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  50. #define NS_FORWARD_NSISTREAMLISTENER(_to) 
  51.   NS_IMETHOD OnDataAvailable(nsIRequest *aRequest, nsISupports *aContext, nsIInputStream *aInputStream, PRUint32 aOffset, PRUint32 aCount) { return _to OnDataAvailable(aRequest, aContext, aInputStream, aOffset, aCount); } 
  52. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  53. #define NS_FORWARD_SAFE_NSISTREAMLISTENER(_to) 
  54.   NS_IMETHOD OnDataAvailable(nsIRequest *aRequest, nsISupports *aContext, nsIInputStream *aInputStream, PRUint32 aOffset, PRUint32 aCount) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnDataAvailable(aRequest, aContext, aInputStream, aOffset, aCount); } 
  55. #if 0
  56. /* Use the code below as a template for the implementation class for this interface. */
  57. /* Header file */
  58. class nsStreamListener : public nsIStreamListener
  59. {
  60. public:
  61.   NS_DECL_ISUPPORTS
  62.   NS_DECL_NSISTREAMLISTENER
  63.   nsStreamListener();
  64. private:
  65.   ~nsStreamListener();
  66. protected:
  67.   /* additional members */
  68. };
  69. /* Implementation file */
  70. NS_IMPL_ISUPPORTS1(nsStreamListener, nsIStreamListener)
  71. nsStreamListener::nsStreamListener()
  72. {
  73.   /* member initializers and constructor code */
  74. }
  75. nsStreamListener::~nsStreamListener()
  76. {
  77.   /* destructor code */
  78. }
  79. /* void onDataAvailable (in nsIRequest aRequest, in nsISupports aContext, in nsIInputStream aInputStream, in unsigned long aOffset, in unsigned long aCount); */
  80. NS_IMETHODIMP nsStreamListener::OnDataAvailable(nsIRequest *aRequest, nsISupports *aContext, nsIInputStream *aInputStream, PRUint32 aOffset, PRUint32 aCount)
  81. {
  82.     return NS_ERROR_NOT_IMPLEMENTED;
  83. }
  84. /* End of implementation class template. */
  85. #endif
  86. #endif /* __gen_nsIStreamListener_h__ */