3
* ====================================================================
4
* Copyright (c) 2003-2004 CollabNet. All rights reserved.
6
* This software is licensed as described in the file COPYING, which
7
* you should have received as part of this distribution. The terms
8
* are also available at http://subversion.tigris.org/license-1.html.
9
* If newer versions of this license are posted there, you may use a
10
* newer version instead, at your option.
12
* This software consists of voluntary contributions made by many
13
* individuals. For exact contribution history, see the revision
14
* history and logs, available at http://subversion.tigris.org/.
15
* ====================================================================
18
* @file JNIStackElement.h
19
* @brief Interface of the class JNIStackElement
22
#if !defined(AFX_JNISTACKELEMENT_H__81945F80_D56F_4782_B8E7_6A82483E6463__INCLUDED_)
23
#define AFX_JNISTACKELEMENT_H__81945F80_D56F_4782_B8E7_6A82483E6463__INCLUDED_
27
#endif // _MSC_VER > 1000
32
* JNIEntry create a stack element on the stack, which will be used to track
33
* the entry and exit of methods
35
#define JNIEntry(c,m) JNIStackElement se(env, #c, #m, jthis);
37
* JNIEntry create a stack element on the stack, which will be used to track
38
* the entry and exit of static methods
40
#define JNIEntryStatic(c,m) JNIStackElement se(env, #c, #m, jclazz);
43
* This class is used to mark the entry and exists of methods. It can generate
44
* a log message on entry and exits. The members are used to generate the exit
50
JNIStackElement(JNIEnv *env, const char *clazz,
51
const char *method, jobject jthis);
52
virtual ~JNIStackElement();
56
* the name of the method
58
const char * m_method;
60
* the name of the clazz
64
* a buffer for the result for jthis.toString to identify the object
66
char m_objectID[JNIUtil::formatBufferSize];
68
// !defined(AFX_JNISTACKELEMENT_H__81945F80_D56F_4782_B8E7_6A82483E6463__INCLUDED_)