gecko/netwerk/base/LoadContextInfo.h

54 lines
1.2 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 nsLoadContextInfo_h__
#define nsLoadContextInfo_h__
#include "nsILoadContextInfo.h"
class nsIChannel;
class nsILoadContext;
namespace mozilla {
namespace net {
class LoadContextInfo : public nsILoadContextInfo
{
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSILOADCONTEXTINFO
LoadContextInfo(bool aIsPrivate, uint32_t aAppId, bool aIsInBrowser, bool aIsAnonymous);
private:
virtual ~LoadContextInfo();
protected:
uint32_t mAppId;
bool mIsPrivate : 1;
bool mIsInBrowser : 1;
bool mIsAnonymous : 1;
};
LoadContextInfo *
GetLoadContextInfo(nsIChannel * aChannel);
LoadContextInfo *
GetLoadContextInfo(nsILoadContext * aLoadContext,
bool aAnonymous);
LoadContextInfo *
GetLoadContextInfo(nsILoadContextInfo* aInfo);
LoadContextInfo *
GetLoadContextInfo(bool const aIsPrivate = false,
uint32_t const aAppId = nsILoadContextInfo::NO_APP_ID,
bool const aIsInBrowserElement = false,
bool const aIsAnonymous = false);
} // net
} // mozilla
#endif