コード例 #1
0
 public Boolean Contains(DestinationInfo destination)
 {
     lock (Parent)
     {
         return(Destinations.Contains(destination));
     }
 }
コード例 #2
0
 private void ReconstructFastDestinationArray()
 {
     // this technique is to avoid locking FastDestinationArray
     DestinationInfo[] TempFixedArray = new DestinationInfo[Destinations.Count];
     Destinations.CopyTo(TempFixedArray);
     FastDestinationArray = TempFixedArray;
 }
コード例 #3
0
        public DestinationInfo AddDestination(String name, String details, Boolean bEnabled, String filterName)
        {
            DestinationInfo dInfo = AddDestination(name, details, bEnabled);

            dInfo.SetFilter(filterName);

            return(dInfo);
        }
コード例 #4
0
 internal static void Receive(DestinationInfo dObject, ReflectInsightPackage[] messages)
 {
     lock (dObject)
     {
         foreach (ListenerInfo listener in dObject.Listeners)
         {
             listener.Listener.Receive(messages);
         }
     }
 }
コード例 #5
0
 protected void RemoveDestinationFromGroupBindings(DestinationInfo dInfo)
 {
     lock (this)
     {
         foreach (DestinationBindingGroup dGroup in FDestinationBindingGroups.Values)
         {
             dGroup.RemoveDestinationBinding(dInfo.Name);
         }
     }
 }
コード例 #6
0
        public void RemoveDestinationBinding(String destinationName)
        {
            lock (Parent)
            {
                DestinationInfo dInfo = Parent.GetDestination(destinationName);
                dInfo.BindingGroupIds.Remove(Id);

                Destinations.Remove(dInfo);
                ReconstructFastDestinationArray();
            }
        }
コード例 #7
0
 public void RemoveDestination(DestinationInfo dInfo)
 {
     lock (this)
     {
         if (FDestinations.Remove(dInfo.Id))
         {
             RemoveDestinationFromGroupBindings(dInfo);
             ReconstructFastDestinationArray();
             dInfo.InternalDispose(false);
         }
     }
 }
コード例 #8
0
        public void AddDestinationBinding(String destinationName)
        {
            lock (Parent)
            {
                if (Parent.ContainsDestination(destinationName))
                {
                    DestinationInfo dInfo = Parent.GetDestination(destinationName);
                    dInfo.BindingGroupIds.Add(Id);

                    Destinations.Add(dInfo);
                    ReconstructFastDestinationArray();
                }
            }
        }
コード例 #9
0
        public DestinationInfo AddDestination(String name, String details, Boolean bEnabled)
        {
            lock (this)
            {
                Int32           id    = RIUtils.GetStringHash(name);
                DestinationInfo dInfo = GetDestination(id);
                if (dInfo != null)
                {
                    return(dInfo);
                }

                dInfo = new DestinationInfo(name, details, bEnabled);

                FDestinations[dInfo.Id] = dInfo;
                ReconstructFastDestinationArray();

                return(dInfo);
            }
        }