Exemple #1
0
        public static override bool functorMethod(string value, Common.StringView name)
        {
            writeElementPrefix(new ushort(GlobalMembers.BIN_KV_SERIALIZE_TYPE_STRING), new Common.StringView(name));

            auto @out = stream();

            GlobalMembers.writeArraySize(@out, value.Length);
            write(@out, value.data(), value.Length);
            return(true);
        }
Exemple #2
0
 public override bool Binary(object value, ulong size, Common.StringView name)
 {
     if (size > 0)
     {
         writeElementPrefix(new ushort(GlobalMembers.BIN_KV_SERIALIZE_TYPE_STRING), new Common.StringView(name));
         auto @out = stream();
         GlobalMembers.writeArraySize(@out, new ulong(size));
         write(@out, value, size);
     }
     return(true);
 }
Exemple #3
0
        public override void EndObject()
        {
            Debug.Assert(m_objectsStack.Count);

            var level = std::move(m_stack[m_stack.Count - 1]);

            m_stack.RemoveAt(m_stack.Count - 1);

            var objStream = std::move(m_objectsStack[m_objectsStack.Count - 1]);

            m_objectsStack.RemoveAt(m_objectsStack.Count - 1);

            auto @out = stream();

            writeElementPrefix(new ushort(GlobalMembers.BIN_KV_SERIALIZE_TYPE_OBJECT), level.name);

            GlobalMembers.writeArraySize(@out, level.count);
            write(@out, objStream.data(), objStream.size());
        }
Exemple #4
0
        private void checkArrayPreamble(ushort type)
        {
            if (m_stack.Count == 0)
            {
                return;
            }

            Level level = m_stack[m_stack.Count - 1];

            if (level.state == State.ArrayPrefix)
            {
                auto s = stream();
                GlobalMembers.writeElementName(s, level.name);
                char c = GlobalMembers.BIN_KV_SERIALIZE_FLAG_ARRAY | type;
                write(s, c, 1);
                GlobalMembers.writeArraySize(s, new ulong(level.count));
                level.state = State.Array;
            }
        }
Exemple #5
0
        public void dump(IOutputStream target)
        {
            Debug.Assert(m_objectsStack.Count == 1);
            Debug.Assert(m_stack.Count == 1);

            KVBinaryStorageBlockHeader hdr = new KVBinaryStorageBlockHeader();

//C++ TO C# CONVERTER TODO TASK: The following line was determined to be a copy assignment (rather than a reference assignment) - this should be verified and a 'CopyFrom' method should be created:
//ORIGINAL LINE: hdr.m_signature_a = PORTABLE_STORAGE_SIGNATUREA;
            hdr.m_signature_a.CopyFrom(GlobalMembers.PORTABLE_STORAGE_SIGNATUREA);
//C++ TO C# CONVERTER TODO TASK: The following line was determined to be a copy assignment (rather than a reference assignment) - this should be verified and a 'CopyFrom' method should be created:
//ORIGINAL LINE: hdr.m_signature_b = PORTABLE_STORAGE_SIGNATUREB;
            hdr.m_signature_b.CopyFrom(GlobalMembers.PORTABLE_STORAGE_SIGNATUREB);
//C++ TO C# CONVERTER TODO TASK: The following line was determined to be a copy assignment (rather than a reference assignment) - this should be verified and a 'CopyFrom' method should be created:
//ORIGINAL LINE: hdr.m_ver = PORTABLE_STORAGE_FORMAT_VER;
            hdr.m_ver.CopyFrom(GlobalMembers.PORTABLE_STORAGE_FORMAT_VER);

            Common.write(target, hdr, sizeof(CryptoNote.KVBinaryStorageBlockHeader));
            GlobalMembers.writeArraySize(target, new ulong(m_stack[0].count));
            write(target, stream().data(), stream().size());
        }