node.cs
来自「zwave 无线通讯协议 PC controller 控制器源码」· CS 代码 · 共 231 行
CS
231 行
////////////////////////////////////////////////////////////////////////////////////////////////
//
// #######
// # ## #### ##### ##### ## ## #####
// ## ## ## ## ## ## ## ## ##
// ## # ###### ## ## #### ## ## ####
// ## ## ## ## ## ## ##### ##
// ####### #### ## ## ##### ## #####
// #####
// Z-Wave, the wireless language.
//
// Copyright Zensys A/S, 2005
//
// All Rights Reserved
//
// Description:
//
// Author: Morten Damsgaard, Linkage A/S
//
// Last Changed By: $Author: jrm $
// Revision: $Revision: 1.4 $
// Last Changed: $Date: 2006/07/24 09:14:16 $
//
//////////////////////////////////////////////////////////////////////////////////////////////
#region Using directives
using System;
#endregion
namespace Zensys.ZWave.Communication
{
/// <summary>
/// Description for Nodes.
/// </summary>
public class Node
{
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <param name="capability"></param>
/// <param name="security"></param>
/// <param name="reserved"></param>
/// <param name="basic"></param>
/// <param name="generic"></param>
/// <param name="specific"></param>
public Node(byte id, byte capability, byte security, byte reserved, byte basic, byte generic, byte specific)
: this(id, capability, security, reserved, basic, generic, specific, null)
{
}
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <param name="capability"></param>
/// <param name="security"></param>
/// <param name="reserved"></param>
/// <param name="basic"></param>
/// <param name="generic"></param>
/// <param name="specific"></param>
/// <param name="cmdCl"></param>
public Node(byte id, byte capability, byte security, byte reserved, byte basic, byte generic, byte specific, byte[] cmdCl)
{
this.id = id;
this.capability = capability;
this.security = security;
this.reserved = reserved;
this.basic = basic;
this.generic = generic;
this.specific = specific;
if (cmdCl != null)
{
this.cmdClasses = new byte[cmdCl.Length];
cmdCl.CopyTo(this.cmdClasses, 0);
}
}
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <param name="capability"></param>
/// <param name="security"></param>
/// <param name="reserved"></param>
/// <param name="basic"></param>
/// <param name="generic"></param>
/// <param name="specific"></param>
/// <param name="cmdCl"></param>
/// <param name="isVirtual"></param>
public Node(byte id, byte capability, byte security, byte reserved, byte basic, byte generic, byte specific, byte[] cmdCl, bool isVirtual)
{
this.id = id;
this.capability = capability;
this.security = security;
this.reserved = reserved;
this.basic = basic;
this.generic = generic;
this.specific = specific;
this.isVirtual = isVirtual;
if (cmdCl != null)
{
this.cmdClasses = new byte[cmdCl.Length];
cmdCl.CopyTo(this.cmdClasses, 0);
}
}
/// <summary>
/// Verify if node is a listening node
/// </summary>
/// <returns>True is Node is a listening device, False if Node is not a listening device</returns>
public bool IsNodeListening()
{
return ((capability & LISTENING_SUPPORT) != 0);
}
/// <summary>
///
/// </summary>
public bool IsVirtual
{
get
{
return isVirtual;
}
set
{
isVirtual = value;
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public override String ToString()
{
return "Node. Id: " + id + " Type: " + basic + " Cap: " + capability + " Sec: " + security + " Res: " + reserved;
}
/// <summary>
/// get Node Id
/// </summary>
public byte Id
{
get { return id; }
}
/// <summary>
///
/// </summary>
public byte Capability
{
get {return capability;}
set {capability = value; }
}
/// <summary>
///
/// </summary>
public byte Security
{
get { return security; }
set { security = value; }
}
/// <summary>
///
/// </summary>
public byte Reserved
{
get { return reserved; }
set { reserved = value; }
}
/// <summary>
///
/// </summary>
public byte Basic
{
get { return basic; }
set { basic = value; }
}
/// <summary>
/// Get Generic and specific Device Type
/// </summary>
public byte Generic
{
get { return generic;}
set { generic = value; }
}
/// <summary>
///
/// </summary>
public byte Specific
{
get { return specific; }
set { specific = value; }
}
/// <summary>
///
/// </summary>
public byte[] SupportedCmdClasses
{
get
{
return cmdClasses;
}
set
{
cmdClasses = value;
}
}
private byte id;
private byte capability;
private byte security;
private byte reserved;
private byte basic;
private byte generic;
private byte specific;
private bool isVirtual;
private byte[] cmdClasses;
private const byte LISTENING_SUPPORT = 0x80;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?