00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #pragma once
00019
00020 #include <v8.h>
00021
00022 #include <cstring>
00023 #include <cstdio>
00024 #include <cstdlib>
00025 #include <assert.h>
00026 #include <iostream>
00027
00028 namespace mongo {
00029
00030 v8::Handle<v8::Value> Print(const v8::Arguments& args);
00031 v8::Handle<v8::Value> Version(const v8::Arguments& args);
00032 v8::Handle<v8::Value> GCV8(const v8::Arguments& args);
00033
00034 void ReportException(v8::TryCatch* handler);
00035
00036 #define jsassert(x,msg) assert(x)
00037
00038 std::ostream& operator<<( std::ostream &s, const v8::Handle<v8::Value> & o );
00039 std::ostream& operator<<( std::ostream &s, const v8::Handle<v8::TryCatch> * try_catch );
00040
00041 std::string toSTLString( const v8::Handle<v8::Value> & o );
00042 std::string toSTLString( const v8::TryCatch * try_catch );
00043
00044 class V8Scope;
00045 void installFork( v8::Handle< v8::Object > &global, v8::Handle< v8::Context > &context );
00046 }
00047