Gnash
0.8.11dev
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
libcore
builtin_function.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3
// Free Software Foundation, Inc
4
//
5
// This program is free software; you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation; either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19
#ifndef GNASH_BUILTIN_FUNCTION_H
20
#define GNASH_BUILTIN_FUNCTION_H
21
22
#include "
UserFunction.h
"
23
#include "
fn_call.h
"
24
25
#include <cassert>
26
27
namespace
gnash {
28
29
31
//
35
//
38
class
builtin_function
:
public
UserFunction
39
{
40
typedef
as_value
(*ASFunction)(
const
fn_call
& fn);
41
42
public
:
43
45
//
51
builtin_function
(
Global_as
& gl, ASFunction func)
52
:
53
UserFunction
(gl),
54
_func(func)
55
{
56
}
57
59
//
61
virtual
boost::uint8_t
registers
()
const
{
62
return
0;
63
}
64
66
virtual
as_value
call
(
const
fn_call
& fn)
67
{
68
FrameGuard
guard(
getVM
(fn), *
this
);
69
70
assert
(_func);
71
return
_func(fn);
72
}
73
74
bool
isBuiltin
() {
return
true
; }
75
76
private
:
77
78
ASFunction _func;
79
};
80
81
}
// end of gnash namespace
82
83
#endif
84
Generated on Wed Oct 23 2013 11:31:08 for Gnash by
1.8.4