Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GNASH_NATIVE_FUNCTION_H
00020 #define GNASH_NATIVE_FUNCTION_H
00021
00022 #include "as_function.h"
00023
00024 #include <cassert>
00025
00026 namespace gnash {
00027 class fn_call;
00028 }
00029
00030 namespace gnash {
00031
00033
00036
00040 class NativeFunction : public as_function
00041 {
00042 typedef as_value (*ASFunction)(const fn_call& fn);
00043
00044 public:
00045
00047
00054 NativeFunction(Global_as& gl, ASFunction func)
00055 :
00056 as_function(gl),
00057 _func(func)
00058 {
00059 }
00060
00062 virtual as_value call(const fn_call& fn)
00063 {
00064 assert(_func);
00065 return _func(fn);
00066 }
00067
00068 bool isBuiltin() { return true; }
00069
00070 private:
00071
00072 ASFunction _func;
00073 };
00074
00075 }
00076
00077 #endif
00078