gecko-dev/netwerk/protocol/wyciwyg/WyciwygChannelChild.h
Ehsan Akhgari e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00

115 lines
3.3 KiB
C++

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_net_WyciwygChannelChild_h
#define mozilla_net_WyciwygChannelChild_h
#include "mozilla/net/PWyciwygChannelChild.h"
#include "mozilla/net/ChannelEventQueue.h"
#include "nsIWyciwygChannel.h"
#include "nsIChannel.h"
#include "nsIProgressEventSink.h"
namespace mozilla {
namespace net {
// TODO: replace with IPDL states
enum WyciwygChannelChildState {
WCC_NEW,
WCC_INIT,
// States when reading from the channel
WCC_OPENED,
WCC_ONSTART,
WCC_ONDATA,
WCC_ONSTOP,
// States when writing to the cache
WCC_ONWRITE,
WCC_ONCLOSED
};
// Header file contents
class WyciwygChannelChild : public PWyciwygChannelChild
, public nsIWyciwygChannel
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIREQUEST
NS_DECL_NSICHANNEL
NS_DECL_NSIWYCIWYGCHANNEL
WyciwygChannelChild();
virtual ~WyciwygChannelChild();
void AddIPDLReference();
void ReleaseIPDLReference();
nsresult Init(nsIURI *uri);
bool IsSuspended();
protected:
bool RecvOnStartRequest(const nsresult& statusCode,
const int32_t& contentLength,
const int32_t& source,
const nsCString& charset,
const nsCString& securityInfo);
bool RecvOnDataAvailable(const nsCString& data,
const uint32_t& offset);
bool RecvOnStopRequest(const nsresult& statusCode);
bool RecvCancelEarly(const nsresult& statusCode);
void OnStartRequest(const nsresult& statusCode,
const int32_t& contentLength,
const int32_t& source,
const nsCString& charset,
const nsCString& securityInfo);
void OnDataAvailable(const nsCString& data,
const uint32_t& offset);
void OnStopRequest(const nsresult& statusCode);
void CancelEarly(const nsresult& statusCode);
private:
nsresult mStatus;
bool mIsPending;
bool mCanceled;
uint32_t mLoadFlags;
int32_t mContentLength;
int32_t mCharsetSource;
nsCString mCharset;
nsCOMPtr<nsIURI> mURI;
nsCOMPtr<nsIURI> mOriginalURI;
nsCOMPtr<nsISupports> mOwner;
nsCOMPtr<nsIInterfaceRequestor> mCallbacks;
nsCOMPtr<nsIProgressEventSink> mProgressSink;
nsCOMPtr<nsILoadGroup> mLoadGroup;
nsCOMPtr<nsIStreamListener> mListener;
nsCOMPtr<nsISupports> mListenerContext;
nsCOMPtr<nsISupports> mSecurityInfo;
// FIXME: replace with IPDL states (bug 536319)
enum WyciwygChannelChildState mState;
bool mIPCOpen;
ChannelEventQueue mEventQ;
friend class WyciwygStartRequestEvent;
friend class WyciwygDataAvailableEvent;
friend class WyciwygStopRequestEvent;
friend class WyciwygCancelEvent;
};
inline bool
WyciwygChannelChild::IsSuspended()
{
return false;
}
} // namespace net
} // namespace mozilla
#endif // mozilla_net_WyciwygChannelChild_h