bigloo.binary_port.input_obj C# (CSharp) Method

input_obj() public method

public input_obj ( ) : Object
return Object
        public Object input_obj()
        {
            // magic key
            byte[] magic= new byte[4];
            int size= stream.Read( magic, 0, 4 );

            if (size == -1)
               return eof._eof;

            if ( (size != 4)
             || (magic[0] != MAGIC_WORD[0])
             || (magic[1] != MAGIC_WORD[1])
             || (magic[2] != MAGIC_WORD[2])
             || (magic[3] != MAGIC_WORD[3]))
               foreign.fail( "input_obj", "corrupted file", this );

            // the object length
            byte[] slen= new byte[4];

            size= stream.Read( slen, 0, 4 );
            if (size != 4)
               foreign.fail( "input_obj", "corrupted file", this );

            int clen= (slen[0] & 0xff)
               + ((slen[1] & 0xff) << 8)
               + ((slen[2] & 0xff) << 16)
               + ((slen[3] & 0xff) << 24);

            // we start reading
            byte[] _string= new byte[clen];

            stream.Read( _string, 0, clen );

            // unserialize the object
            return foreign.__cb__.string_to_obj( _string );
        }

Usage Example

示例#1
0
 public static Object input_obj( binary_port p )
 {
     return p.input_obj();
 }