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 nsAXPCNativeCallContext_h__
8 : #define nsAXPCNativeCallContext_h__
9 :
10 : /**
11 : * A native call context is allocated on the stack when XPConnect calls a
12 : * native method. Holding a pointer to this object beyond the currently
13 : * executing stack frame is not permitted.
14 : */
15 49131 : class nsAXPCNativeCallContext
16 : {
17 : public:
18 : NS_IMETHOD GetCallee(nsISupports** aResult) = 0;
19 : NS_IMETHOD GetCalleeMethodIndex(uint16_t* aResult) = 0;
20 : NS_IMETHOD GetJSContext(JSContext** aResult) = 0;
21 : NS_IMETHOD GetArgc(uint32_t* aResult) = 0;
22 : NS_IMETHOD GetArgvPtr(JS::Value** aResult) = 0;
23 :
24 : // Methods added since mozilla 0.6....
25 :
26 : NS_IMETHOD GetCalleeInterface(nsIInterfaceInfo** aResult) = 0;
27 : NS_IMETHOD GetCalleeClassInfo(nsIClassInfo** aResult) = 0;
28 :
29 : NS_IMETHOD GetPreviousCallContext(nsAXPCNativeCallContext** aResult) = 0;
30 : };
31 :
32 : #endif
|