示例#1
0
        private static RefPool reservePool(SerializationOperation mode)
        {
            RefPool result = null;

            if (ts_pools == null)
            {
                ts_pools = new RefPool[8];
                for (var i = 0; i < ts_pools.Length; i++)
                {
                    ts_pools[i] = new RefPool();
                }
                ts_poolFreeIdx = 0;
            }

            if (ts_poolFreeIdx < ts_pools.Length)
            {
                result = ts_pools[ts_poolFreeIdx];
                ts_poolFreeIdx++;
            }
            else
            {
                result = new RefPool();
            }

            result.Acquire(mode);
            return(result);
        }
示例#2
0
文件: Fork.cs 项目: intvsteve/VINTage
        private int GetFlatSize(SerializationOperation operation)
        {
            int flatSize = 0;

            switch (operation)
            {
            case SerializationOperation.Serialize:
                if (!string.IsNullOrWhiteSpace(FilePath) && System.IO.File.Exists(FilePath))
                {
                    var fileInfo = new System.IO.FileInfo(FilePath);
                    flatSize = (int)fileInfo.Length;
                }
                break;

            case SerializationOperation.Deserialize:
                flatSize = FlatSizeInBytes;
                break;
            }
            return(flatSize);
        }
        private void SetSerialized([NotNull] ItemCollection items, SerializationOperation serializationOperation)
        {
            Diagnostics.Debug.ArgumentNotNull(items, nameof(items));

            foreach (var i in items)
            {
                var item = i as TreeViewItem;
                if (item == null)
                {
                    continue;
                }

                var itemTreeViewItem = item as ItemTreeViewItem;
                if (itemTreeViewItem != null)
                {
                    switch (serializationOperation)
                    {
                    case SerializationOperation.RevertTree:
                    case SerializationOperation.UpdateTree:
                        if (itemTreeViewItem.Item.SerializationStatus != SerializationStatus.NotSerialized)
                        {
                            Item.SerializationStatus = SerializationStatus.Serialized;
                            RefreshStatusIcons();
                        }

                        break;

                    case SerializationOperation.SerializeTree:
                        Item.SerializationStatus = SerializationStatus.Serialized;
                        RefreshStatusIcons();
                        break;
                    }
                }

                SetSerialized(item.Items, serializationOperation);
            }
        }
示例#4
0
文件: RefPool.cs 项目: itadapter/nfx
 public void Acquire(SerializationOperation mode)
 {
     m_Mode = mode;
 }
示例#5
0
 public void Acquire(SerializationOperation mode)
 {
     m_Mode = mode;
 }
示例#6
0
            private static RefPool reservePool(SerializationOperation mode)
            {
              RefPool result = null;
              if (ts_pools==null)
              {
                ts_pools = new RefPool[8];
                for(var i=0; i<ts_pools.Length; i++)
                 ts_pools[i] = new RefPool(); 
                ts_poolFreeIdx = 0;
              }

              if (ts_poolFreeIdx<ts_pools.Length)
              {
                result = ts_pools[ts_poolFreeIdx];
                ts_poolFreeIdx++;
              }
              else
               result = new RefPool();

              result.Acquire( mode );
              return result;
            }
        private void ItemSerialized([NotNull] object sender, [NotNull] ItemUri itemUri, SerializationOperation serializationOperation)
        {
            Diagnostics.Debug.ArgumentNotNull(sender, nameof(sender));
            Diagnostics.Debug.ArgumentNotNull(itemUri, nameof(itemUri));

            if (itemUri != ItemUri)
            {
                return;
            }

            Item.SerializationStatus = SerializationStatus.Serialized;
            RefreshStatusIcons();

            if (serializationOperation == SerializationOperation.Revert || serializationOperation == SerializationOperation.Serialize || serializationOperation == SerializationOperation.Update)
            {
                return;
            }

            SetSerialized(Items, serializationOperation);
        }
示例#8
0
        public static void RaiseItemSerialized([NotNull] object sender, [NotNull] ItemUri itemUri, SerializationOperation serializationOperation)
        {
            Assert.ArgumentNotNull(sender, nameof(sender));
            Assert.ArgumentNotNull(itemUri, nameof(itemUri));

            var itemSerialized = ItemSerialized;

            if (itemSerialized != null)
            {
                itemSerialized(sender, itemUri, serializationOperation);
            }
        }
 public RosFieldSerializationException(SerializationOperation operation, string rosFieldIdentifier, Exception innerException) : base(null, innerException)
 {
     _operation = operation;
     Identifier = rosFieldIdentifier ?? string.Empty;
 }