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 + -
显示快捷键?