コード例 #1
0
ファイル: Felica.cs プロジェクト: Dolphin0809/nfc-csharp
        /// <summary>
        /// WriteWithoutEncryption 暗号化なし書き込み
        /// </summary>
        /// <param name="request">要求データ</param>
        /// <returns>応答データまたはnull</returns>
        /// <exception cref="ArgumentNullException" />
        public WriteWithoutEncryptionResponse WriteWithoutEncryption(WriteWithoutEncryptionRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }

            byte[] recv = transmit(request.Command);

            if (recv == null)
            {
                return(null);
            }

            var response = new WriteWithoutEncryptionResponse(request, recv);

            return(response);
        }
コード例 #2
0
        /// <summary>
        /// 応答パケットから暗号化なし書き込み応答を生成します。
        /// </summary>
        /// <param name="request">要求データ</param>
        /// <param name="data">応答データ</param>
        /// <exception cref="ArgumentNullException" />
        /// <exception cref="ArgumentException" />
        public WriteWithoutEncryptionResponse(WriteWithoutEncryptionRequest request, byte[] data)
        {
            Request = request ?? throw new ArgumentNullException("request");
            RawData = data ?? throw new ArgumentNullException("data");

            if (data.Length < 11)
            {
                throw new ArgumentException("データが不足しています。", "data");
            }

            if (data[0] != ResponseCode)
            {
                throw new ArgumentException("データの形式が正しくありません。", "data");
            }

            IDm         = data.Where((val, idx) => 1 <= idx && idx <= 8).ToArray();
            StatusFlag1 = data[9];
            StatusFlag2 = data[10];
        }