// v8_db.h /* Copyright 2009 10gen Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include #include #include #include #include "../client/dbclient.h" namespace mongo { // These functions may depend on the caller creating a handle scope and context scope. v8::Handle getMongoFunctionTemplate( bool local ); void installDBTypes( v8::Handle& global ); void installDBTypes( v8::Handle& global ); // the actual globals mongo::DBClientBase * getConnection( const v8::Arguments& args ); // Mongo members v8::Handle mongoConsLocal(const v8::Arguments& args); v8::Handle mongoConsExternal(const v8::Arguments& args); v8::Handle mongoFind(const v8::Arguments& args); v8::Handle mongoInsert(const v8::Arguments& args); v8::Handle mongoRemove(const v8::Arguments& args); v8::Handle mongoUpdate(const v8::Arguments& args); v8::Handle internalCursorCons(const v8::Arguments& args); v8::Handle internalCursorNext(const v8::Arguments& args); v8::Handle internalCursorHasNext(const v8::Arguments& args); v8::Handle internalCursorObjsLeftInBatch(const v8::Arguments& args); // DB members v8::Handle dbInit(const v8::Arguments& args); v8::Handle collectionInit( const v8::Arguments& args ); v8::Handle objectIdInit( const v8::Arguments& args ); v8::Handle dbRefInit( const v8::Arguments& args ); v8::Handle dbPointerInit( const v8::Arguments& args ); v8::Handle binDataInit( const v8::Arguments& args ); v8::Handle binDataToString( const v8::Arguments& args ); v8::Handle numberLongInit( const v8::Arguments& args ); v8::Handle numberLongToNumber(const v8::Arguments& args); v8::Handle numberLongValueOf(const v8::Arguments& args); v8::Handle numberLongToString(const v8::Arguments& args); v8::Handle dbQueryInit( const v8::Arguments& args ); v8::Handle dbQueryIndexAccess( uint32_t index , const v8::AccessorInfo& info ); v8::Handle collectionFallback( v8::Local name, const v8::AccessorInfo &info); v8::Handle bsonsize( const v8::Arguments& args ); }