result_t MongoCursor::_skipCursor(int32_t num, AsyncEvent *ac) { if (!ac) return CHECK_ERROR(CALL_E_NOSYNC); mongo_cursor_set_skip(m_cursor, num); return 0; }
result_t MongoCursor::skip(int32_t num, obj_ptr<MongoCursor_base> &retVal) { if (m_bInit) return CHECK_ERROR(CALL_E_INVALID_CALL); mongo_cursor_set_skip(m_cursor, num); retVal = this; return 0; }
MONGO_EXPORT mongo_cursor *mongo_find( mongo *conn, const char *ns, const bson *query, const bson *fields, int limit, int skip, int options ) { mongo_cursor *cursor = ( mongo_cursor * )bson_malloc( sizeof( mongo_cursor ) ); mongo_cursor_init( cursor, conn, ns ); cursor->flags |= MONGO_CURSOR_MUST_FREE; mongo_cursor_set_query( cursor, query ); mongo_cursor_set_fields( cursor, fields ); mongo_cursor_set_limit( cursor, limit ); mongo_cursor_set_skip( cursor, skip ); mongo_cursor_set_options( cursor, options ); if( mongo_cursor_op_query( cursor ) == MONGO_OK ) return cursor; else { mongo_cursor_destroy( cursor ); return NULL; } }
static void mongo_cursor_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { MongoCursor *cursor = MONGO_CURSOR(object); switch (prop_id) { case PROP_BATCH_SIZE: mongo_cursor_set_batch_size(cursor, g_value_get_uint(value)); break; case PROP_CONNECTION: mongo_cursor_set_connection(cursor, g_value_get_object(value)); break; case PROP_COLLECTION: mongo_cursor_set_collection(cursor, g_value_get_string(value)); break; case PROP_DATABASE: mongo_cursor_set_database(cursor, g_value_get_string(value)); break; case PROP_FIELDS: mongo_cursor_set_fields(cursor, g_value_get_boxed(value)); break; case PROP_FLAGS: mongo_cursor_set_flags(cursor, g_value_get_uint(value)); break; case PROP_LIMIT: mongo_cursor_set_limit(cursor, g_value_get_uint(value)); break; case PROP_QUERY: mongo_cursor_set_query(cursor, g_value_get_boxed(value)); break; case PROP_SKIP: mongo_cursor_set_skip(cursor, g_value_get_uint(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } }