File: PJS_Common.h

package info (click to toggle)
libjavascript-perl 1.08-1%2Blenny1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 412 kB
  • ctags: 203
  • sloc: perl: 1,686; ansic: 1,620; makefile: 55
file content (57 lines) | stat: -rw-r--r-- 1,246 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*!
    @header PJS_Common.h
    @abstract Common macros and functions
*/

#ifndef __PJS_COMMON_H__
#define __PJS_COMMON_H__

#ifdef _cpluslpus
extern "C" {
#endif

#include "EXTERN.h"

#ifdef JS_THREADSAFE
#define PJS_GET_CLASS(cx,obj) JS_GetClass(cx,obj)
#else
#define PJS_GET_CLASS(cx,obj) JS_GetClass(obj)
#endif

#define PJS_INSTANCE_METHOD  0
#define PJS_CLASS_METHOD     1

#define PJS_GET_CONTEXT(cx)  (PJS_Context *) JS_GetContextPrivate(cx)

#define PJS_FUNC_SELF        JS_ValueToFunction(cx, argv[-2])
#define PJS_FUNC_PARENT      (JSObject *) JSVAL_TO_OBJECT(argv[-1])

/*! @define PJS_ERROR_PACKAGE
    @abstract Perl package to bless errors into
*/
#define PJS_ERROR_PACKAGE     "JavaScript::Error"

/*! @define PJS_FUNCTION_PACKAGE
    @abstract Perl package to bless functions into
*/
#define PJS_FUNCTION_PACKAGE  "JavaScript::Function"

/*! @define PJS_BOXED_PACKAGE
    @abstract Perl package to bless boxed values into
*/
#define PJS_BOXED_PACKAGE     "JavaScript::Boxed"

#define PJS_PROP_PRIVATE      0x1
#define PJS_PROP_READONLY     0x2
#define PJS_PROP_ACCESSOR     0x4
#define PJS_CLASS_NO_INSTANCE 0x1

#define _IS_UNDEF(a) (SvANY(a) == SvANY(&PL_sv_undef))

#define PJS_EXTERN EXT

#ifdef _cplusplus
}
#endif

#endif