示例#1
0
        public void SetNodeInfo(NodeTag node, byte generic, byte specific)
        {
            var parentNodeInfo = Nodes[node.Parent].NodeInfo;

            Nodes[node].NodeInfo = NodeInfo.
                                   UpdateTo(Nodes[node].NodeInfo, parentNodeInfo.Basic, generic, specific);
        }
示例#2
0
        public byte[] GetCommandClasses(NodeTag node)
        {
            var cc = Nodes[node].GetCommandClasses();

            //"@@@@@= {0}:{1}"._DLOG(node, cc.GetHex());
            return(cc);
        }
示例#3
0
 public bool HasSecureCommandClass(NodeTag node, byte cmdClass)
 {
     if (Nodes[(byte)node].GetSecuritySchemes() == null)
     {
         return(false);
     }
     else
     {
         if (node == NodeTag)
         {
             var commandClasses = GetCommandClasses(node);
             if (commandClasses != null)
             {
                 return(_secureCommandClasses.Contains(cmdClass) && commandClasses.Contains(cmdClass));
             }
             else
             {
                 return(false);
             }
         }
         else
         {
             return(Nodes[node].HasSecureCommandClass(cmdClass));
         }
     }
 }
示例#4
0
 public NodeViewPoint this[NodeTag index]
 {
     get
     {
         return(Nodes[index.Id, index.EndPointId]);
     }
     set
     {
         Nodes[index.Id, index.EndPointId] = value;
     }
 }
示例#5
0
        private void ResetAndSelfRestore(byte fromNode, byte toNode)
        {
            var fromNodeTag = new NodeTag(fromNode);
            var toNodeTag   = new NodeTag(toNode);
            var nInfo       = GetNodeInfo(fromNodeTag);
            var cmdClasses  = GetCommandClasses(fromNodeTag);

            Reset();
            SetNodeInfo(toNodeTag, nInfo);
            SetCommandClasses(toNodeTag, cmdClasses);
        }
示例#6
0
 public byte[] GetSecureCommandClasses(NodeTag node)
 {
     if (node == NodeTag)
     {
         var commandClasses = GetCommandClasses(node);
         if (commandClasses != null)
         {
             //Shouldn't we return the Command Classes that are secured for a specific device? Not only the ones defined on _secureCommandClasses ....
             return(_secureCommandClasses.Where(x => commandClasses.Contains(x)).ToArray());
             //return commandClasses;
         }
         else
         {
             return(null);
         }
     }
     else
     {
         return(Nodes[node].GetSecureCommandClasses());
     }
 }
示例#7
0
 public bool IsSlaveApi(NodeTag node)
 {
     return(Nodes[node].IsSlaveApi);
 }
示例#8
0
 public bool IsVirtual(NodeTag node)
 {
     return(Nodes[node].IsVirtual);
 }
示例#9
0
 public void SetVirtual(NodeTag node, bool value)
 {
     Nodes[node].IsVirtual = value;
 }
示例#10
0
 public bool IsFailed(NodeTag node)
 {
     return(Nodes[node].IsFailed);
 }
示例#11
0
 public void SetFailed(NodeTag node, bool value)
 {
     Nodes[node].IsFailed = value;
 }
示例#12
0
 public void SetSecureCommandClasses(NodeTag node, byte[] cmdClasses)
 {
     Nodes[node].SetSecureCommandClasses(cmdClasses);
 }
示例#13
0
 public bool HasCommandClass(NodeTag node, byte cmdClass)
 {
     return(Nodes[node].HasCommandClass(cmdClass) || HasSecureCommandClass(node, cmdClass));
 }
示例#14
0
 public void SetForcedListening(NodeTag node, bool value)
 {
     Nodes[node].IsForcedListening = value;
 }
示例#15
0
 public NodeInfo GetNodeInfo(NodeTag node)
 {
     return(Nodes[node].NodeInfo);
 }
示例#16
0
 public void SetNodeInfo(NodeTag node, byte basic, byte generic, byte specific)
 {
     Nodes[node].NodeInfo = NodeInfo.UpdateTo(Nodes[node].NodeInfo, basic, generic, specific);
 }
示例#17
0
 public void SetRoleType(NodeTag node, RoleTypes roleType)
 {
     Nodes[node].RoleType = roleType;
 }
示例#18
0
 public void SetNodeInfo(NodeTag node, NodeInfo nodeInfo)
 {
     Nodes[node].NodeInfo = nodeInfo;
 }
示例#19
0
 public bool IsDeviceListening(NodeTag node)
 {
     return(Nodes[node].IsForcedListening || Nodes[node].IsListening || Nodes[node].IsFlirs250ms || Nodes[node].IsFlirs1000ms);
 }
示例#20
0
 public bool IsFlirs(NodeTag node)
 {
     return(Nodes[node].IsFlirs);
 }
示例#21
0
 public bool IsForcedListening(NodeTag node)
 {
     return(Nodes[node].IsForcedListening);
 }
示例#22
0
 public RoleTypes GetRoleType(NodeTag node)
 {
     return(Nodes[node].RoleType);
 }