iapplicationlayer.cs
来自「zwave 无线通讯协议 PC controller 控制器源码」· CS 代码 · 共 1,082 行 · 第 1/3 页
CS
1,082 行
////////////////////////////////////////////////////////////////////////////////////////////////
//
// #######
// # ## #### ##### ##### ## ## #####
// ## ## ## ## ## ## ## ## ##
// ## # ###### ## ## #### ## ## ####
// ## ## ## ## ## ## ##### ##
// ####### #### ## ## ##### ## #####
// #####
// Z-Wave, the wireless language.
//
// Copyright Zensys A/S, 2005
//
// All Rights Reserved
//
// Description:
//
// Author: Jette Christensen
//
// Last Changed By: $Author: jrm $
// Revision: $Revision: 1.14 $
// Last Changed: $Date: 2007/03/02 12:12:21 $
//
//////////////////////////////////////////////////////////////////////////////////////////////
#region Using directives
using System;
using System.Collections;
#endregion
namespace Zensys.ZWave.Communication
{
/// <summary>
///
/// </summary>
public class ApplicationLayerException : Exception
{
/// <summary>
///
/// </summary>
public ApplicationLayerException() { }
/// <summary>
///
/// </summary>
/// <param name="describe"></param>
public ApplicationLayerException(string describe) : base(describe) { }
/// <summary>
///
/// </summary>
public ApplicationLayerException(string describe, Exception innerException)
: base(describe, innerException)
{
// Add any type-specific logic for inner exceptions.
}
}
/// <summary>
///
/// </summary>
public struct VersionInfoType
{
/// <summary>
///
/// </summary>
internal String ver;
/// <summary>
///
/// </summary>
internal Library lib;
}
/// <summary>
///
/// </summary>
public struct ZWStatistics
{
// Transport layer
/// <summary>
///
/// </summary>
internal int bytesTransmitted;
/// <summary>
///
/// </summary>
internal int bytesReceived;
// Frame layer
/// <summary>
///
/// </summary>
internal int transmittedAcks;
/// <summary>
///
/// </summary>
internal int transmittedNaks;
/// <summary>
///
/// </summary>
internal int receivedAcks;
/// <summary>
///
/// </summary>
internal int receivedNaks;
/// <summary>
///
/// </summary>
internal int transmittedFrames;
/// <summary>
///
/// </summary>
internal int receivedFrames;
/// <summary>
///
/// </summary>
internal int retransmittedFrames;
/// <summary>
///
/// </summary>
internal int droppedFrames;
// Session layer
/// <summary>
///
/// </summary>
internal int transmittedPackets;
/// <summary>
///
/// </summary>
internal int receivedPackets;
/// <summary>
///
/// </summary>
internal int duplicatePackets;
/// <summary>
///
/// </summary>
internal int asyncPackets;
/// <summary>
///
/// </summary>
internal int receiveTimeouts;
}
// multicast delegate for an application command handler event
/// <summary>
///
/// </summary>
public class ApplicationCommandEventArgs : EventArgs
{
/// <summary>
///
/// </summary>
/// <param name="packet"></param>
public ApplicationCommandEventArgs(DataPacket packet)
{
this.packet = packet;
}
/// <summary>
///
/// </summary>
public DataPacket GetPacket
{
get
{
return packet;
}
}
private DataPacket packet;
}
/// <summary>
///
/// </summary>
public class ApplicationSlaveCommandEventArgs : EventArgs
{
/// <summary>
///
/// </summary>
/// <param name="packet"></param>
public ApplicationSlaveCommandEventArgs(DataPacket packet)
{
this.packet = packet;
}
/// <summary>
///
/// </summary>
public DataPacket GetPacket
{
get
{
return packet;
}
}
private DataPacket packet;
}
/// <summary>
///
/// </summary>
public class UnknownCommandEventArgs : EventArgs
{
/// <summary>
///
/// </summary>
/// <param name="packet"></param>
public UnknownCommandEventArgs(DataPacket packet)
{
this.packet = packet;
}
/// <summary>
///
/// </summary>
public DataPacket GetPacket
{
get
{
return packet;
}
}
private DataPacket packet;
}
/// <summary>
///
/// </summary>
public class AddNodeEventArgs : EventArgs
{
/// <summary>
///
/// </summary>
/// <param name="node"></param>
/// <param name="cmd"></param>
/// <param name="nodeStatus"></param>
public AddNodeEventArgs(Node node, DataFrame.CommandType cmd, NodeStatus nodeStatus)
{
this.node = node;
this.cmd = cmd;
this.nodeStatus = nodeStatus;
}
/// <summary>
///
/// </summary>
public Node Node
{
get { return node; }
}
/// <summary>
///
/// </summary>
public DataFrame.CommandType Command
{
get { return cmd; }
}
/// <summary>
/// Gets the node status.
/// </summary>
/// <value>The node status.</value>
public NodeStatus NodeStatus
{
get { return this.nodeStatus; }
}
private NodeStatus nodeStatus;
private Node node;
private DataFrame.CommandType cmd;
}
/// <summary>
///
/// </summary>
public class RemoveNodeEventArgs : EventArgs
{
/// <summary>
///
/// </summary>
/// <param name="node"></param>
/// <param name="cmd"></param>
public RemoveNodeEventArgs(Node node, DataFrame.CommandType cmd)
{
this.node = node;
this.cmd = cmd;
}
/// <summary>
///
/// </summary>
public Node Node
{
get { return node; }
}
/// <summary>
///
/// </summary>
public DataFrame.CommandType Command
{
get { return cmd; }
}
private Node node;
private DataFrame.CommandType cmd;
}
/// <summary>
///
/// </summary>
public class RequestNodeInfoEventArgs : EventArgs
{
/// <summary>
///
/// </summary>
/// <param name="node"></param>
public RequestNodeInfoEventArgs(Node node)
{
this.node = node;
}
/// <summary>
///
/// </summary>
public Node Node
{
get { return node; }
}
private Node node;
}
/// <summary>
///
/// </summary>
public class UpdateEventArgs : EventArgs
{
/// <summary>
///
/// </summary>
/// <param name="status"></param>
/// <param name="id"></param>
public UpdateEventArgs(byte status, byte id)
{
this.status = status;
this.id = id;
}
/// <summary>
///
/// </summary>
public byte Status
{
get { return status; }
}
/// <summary>
///
/// </summary>
public byte Id
{
get { return id; }
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?