michael@0: /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * michael@0: * This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef nsSHEntry_h michael@0: #define nsSHEntry_h michael@0: michael@0: // Helper Classes michael@0: #include "nsCOMPtr.h" michael@0: #include "nsAutoPtr.h" michael@0: #include "nsCOMArray.h" michael@0: #include "nsString.h" michael@0: #include "mozilla/Attributes.h" michael@0: michael@0: // Interfaces needed michael@0: #include "nsISHEntry.h" michael@0: #include "nsISHContainer.h" michael@0: michael@0: class nsSHEntryShared; michael@0: class nsIInputStream; michael@0: class nsIURI; michael@0: michael@0: class nsSHEntry MOZ_FINAL : public nsISHEntry, michael@0: public nsISHContainer, michael@0: public nsISHEntryInternal michael@0: { michael@0: public: michael@0: nsSHEntry(); michael@0: nsSHEntry(const nsSHEntry &other); michael@0: michael@0: NS_DECL_ISUPPORTS michael@0: NS_DECL_NSISHENTRY michael@0: NS_DECL_NSISHENTRYINTERNAL michael@0: NS_DECL_NSISHCONTAINER michael@0: michael@0: void DropPresentationState(); michael@0: michael@0: static nsresult Startup(); michael@0: static void Shutdown(); michael@0: michael@0: private: michael@0: ~nsSHEntry(); michael@0: michael@0: // We share the state in here with other SHEntries which correspond to the michael@0: // same document. michael@0: nsRefPtr mShared; michael@0: michael@0: // See nsSHEntry.idl for comments on these members. michael@0: nsCOMPtr mURI; michael@0: nsCOMPtr mReferrerURI; michael@0: nsString mTitle; michael@0: nsCOMPtr mPostData; michael@0: uint32_t mLoadType; michael@0: uint32_t mID; michael@0: int32_t mScrollPositionX; michael@0: int32_t mScrollPositionY; michael@0: nsISHEntry* mParent; michael@0: nsCOMArray mChildren; michael@0: bool mURIWasModified; michael@0: nsCOMPtr mStateData; michael@0: bool mIsSrcdocEntry; michael@0: nsString mSrcdocData; michael@0: nsCOMPtr mBaseURI; michael@0: }; michael@0: michael@0: #endif /* nsSHEntry_h */