nsStructuredCloneContainer.h (1329B)
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef nsStructuredCloneContainer_h__ 8 #define nsStructuredCloneContainer_h__ 9 10 #include <cstdint> 11 12 #include "mozilla/dom/ipc/StructuredCloneData.h" 13 #include "nsIStructuredCloneContainer.h" 14 #include "nsISupports.h" 15 16 class nsIVariant; 17 18 #define NS_STRUCTUREDCLONECONTAINER_CONTRACTID \ 19 "@mozilla.org/docshell/structured-clone-container;1" 20 #define NS_STRUCTUREDCLONECONTAINER_CID \ 21 {/* 38bd0634-0fd4-46f0-b85f-13ced889eeec */ \ 22 0x38bd0634, \ 23 0x0fd4, \ 24 0x46f0, \ 25 {0xb8, 0x5f, 0x13, 0xce, 0xd8, 0x89, 0xee, 0xec}} 26 27 class nsStructuredCloneContainer final 28 : public nsIStructuredCloneContainer, 29 public mozilla::dom::ipc::StructuredCloneData { 30 public: 31 nsStructuredCloneContainer(); 32 explicit nsStructuredCloneContainer(uint32_t aVersion); 33 34 NS_DECL_ISUPPORTS 35 NS_DECL_NSISTRUCTUREDCLONECONTAINER 36 37 private: 38 ~nsStructuredCloneContainer(); 39 40 uint32_t mVersion; 41 }; 42 43 #endif