Esempio n. 1
0
 /// <summary>
 /// Reads a BSON regular expression from the reader.
 /// </summary>
 /// <returns>A BsonRegularExpression.</returns>
 public override BsonRegularExpression ReadRegularExpression()
 {
     if (Disposed) { ThrowObjectDisposedException(); }
     VerifyBsonType("ReadRegularExpression", BsonType.RegularExpression);
     State = GetNextState();
     var pattern = _bsonStream.ReadCString(_settings.Encoding);
     var options = _bsonStream.ReadCString(_settings.Encoding);
     return new BsonRegularExpression(pattern, options);
 }
Esempio n. 2
0
        // public methods
        /// <summary>
        /// Reads the name.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <param name="encoding">The encoding.</param>
        /// <returns>
        /// The name.
        /// </returns>
        public string Decode(BsonStream stream, UTF8Encoding encoding)
        {
            BsonTrieNode <TValue> node;

            if (_trie.TryGetNode(stream, out node))
            {
                if (node.HasValue)
                {
                    _found = true;
                    _value = node.Value;
                    return(node.ElementName);
                }
            }

            return(stream.ReadCString(encoding));
        }
Esempio n. 3
0
        // public methods
        /// <summary>
        /// Reads the name.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <param name="encoding">The encoding.</param>
        /// <returns>
        /// The name.
        /// </returns>
        public string Decode(BsonStream stream, UTF8Encoding encoding)
        {
            BsonTrieNode <TValue> node;
            var oldPosition = stream.Position;

            if (_trie.TryGetNode(stream, out node))
            {
                if (node.HasValue)
                {
                    _found = true;
                    _value = node.Value;
                    return(node.ElementName);
                }

                stream.Position = oldPosition;
            }

            _found = false;
            _value = default;

            return(stream.ReadCString(encoding));
        }
        static int _m_ReadCString(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                MongoDB.Bson.IO.BsonStream gen_to_be_invoked = (MongoDB.Bson.IO.BsonStream)translator.FastGetCSObj(L, 1);



                {
                    System.Text.UTF8Encoding _encoding = (System.Text.UTF8Encoding)translator.GetObject(L, 2, typeof(System.Text.UTF8Encoding));

                    string gen_ret = gen_to_be_invoked.ReadCString(_encoding);
                    LuaAPI.lua_pushstring(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }