/// <summary>
        /// Save the contents of a POF user type instance by writing its
        /// state using the specified <see cref="IPofWriter"/> object.
        /// </summary>
        /// <param name="writer">
        /// The <b>IPofWriter</b> to which to write the object's state.
        /// </param>
        /// <exception cref="IOException">
        /// If an I/O error occurs.
        /// </exception>
        public virtual void WriteExternal(IPofWriter writer)
        {
            int cPartitions = m_cPartitions;

            writer.WriteInt32(0, cPartitions);
            writer.WriteInt32(1, (int)Format.MarkedMany);
            writer.WriteInt64Array(3, m_alBits);
        }
Beispiel #2
0
        /// <summary>
        /// Save the contents of a POF user type instance by writing its
        /// state using the specified <see cref="IPofWriter"/> object.
        /// </summary>
        /// <param name="writer">
        /// The <b>IPofWriter</b> to which to write the object's state.
        /// </param>
        /// <exception cref="IOException">
        /// If an I/O error occurs.
        /// </exception>
        public override void WriteExternal(IPofWriter writer)
        {
            base.WriteExternal(writer);

            writer.WriteInt32(0, (int)EventType);
            int implVersion = ImplVersion;

            if (implVersion > 3)
            {
                writer.WriteInt64Array(1, FilterIds);
            }
            else
            {
                writer.WriteInt64(1, FilterId);
            }
            writer.WriteObject(2, Key);
            writer.WriteObject(3, ValueNew);
            writer.WriteObject(4, ValueOld);
            writer.WriteBoolean(5, IsSynthetic);

            // COH-9355
            if (implVersion > 4)
            {
                writer.WriteInt32(6, (int)TransformState);
            }

            // COH-13916
            if (implVersion > 5)
            {
                writer.WriteBoolean(7, IsTruncate);
            }

            // COH-18376
            if (implVersion > 6)
            {
                writer.WriteBoolean(8, IsPriming);
            }
        }