Line data Source code
1 : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /* vim: set ts=8 sts=4 et sw=4 tw=99: */
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 xpcjsweakreference_h___
8 : #define xpcjsweakreference_h___
9 :
10 : #include "xpcIJSWeakReference.h"
11 : #include "nsIWeakReference.h"
12 : #include "mozilla/Attributes.h"
13 :
14 : class xpcJSWeakReference final : public xpcIJSWeakReference
15 : {
16 0 : ~xpcJSWeakReference() {}
17 :
18 : public:
19 : xpcJSWeakReference();
20 : nsresult Init(JSContext* cx, const JS::Value& object);
21 :
22 : NS_DECL_ISUPPORTS
23 : NS_DECL_XPCIJSWEAKREFERENCE
24 :
25 : private:
26 : nsCOMPtr<nsIWeakReference> mReferent;
27 : };
28 :
29 : #endif // xpcjsweakreference_h___
|