Esempio n. 1
0
        /// <inheritdoc/>
        public virtual void OnKASLinkedState(IKasLinkEvent info, bool isLinked)
        {
            var peer = info.source.part == part
        ? info.source as ILinkPeer
        : info.target as ILinkPeer;

            if (!ReferenceEquals(peer, this) &&
                (peer.cfgAttachNodeName == attachNodeName ||
                 !cfgDependentNodeNames.Contains(peer.cfgAttachNodeName)))
            {
                isLocked = isLinked;
            }
        }
Esempio n. 2
0
        /// <inheritdoc/>
        public virtual void OnKASLinkedState(IKasLinkEvent info, bool isLinked)
        {
            var peer = info.source.part == part
        ? info.source as ILinkPeer
        : info.target as ILinkPeer;

            if (!ReferenceEquals(peer, this) &&
                (peer.cfgAttachNodeName == attachNodeName ||
                 cfgDependentNodeNames.Contains(peer.cfgAttachNodeName)))
            {
                // Only act when it's about (un)locking. Don't affect the state in all other cases.
                if (isLinked && linkState != LinkState.NodeIsBlocked)
                {
                    SetLinkState(LinkState.Locked);
                }
                else if (!isLinked && linkState == LinkState.Locked)
                {
                    SetLinkState(LinkState.Available);
                }
            }
        }
Esempio n. 3
0
 void LinkBroken(IKasLinkEvent ev)
 {
     DebugEx.Info("Link broken: {0} <=> {1}", ev.source, ev.target);
 }
Esempio n. 4
0
 void LinkCreated(IKasLinkEvent ev)
 {
     DebugEx.Info("Link created: {0} <=> {1}", ev.source, ev.target);
 }