/*
 *****************************************************************************
 *                                                                           *
 *              IMPINJ CONFIDENTIAL AND PROPRIETARY                          *
 *                                                                           *
 * This source code is the sole property of Impinj, Inc. Reproduction or     *
 * utilization of this source code in whole or in part is forbidden without  *
 * the prior written consent of Impinj, Inc.                                 *
 *                                                                           *
 * (c) Copyright Impinj, Inc. 2015. All rights reserved.                     *
 *                                                                           *
 *****************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Impinj.STP;

namespace Impinj
{
    /// <summary>
    /// Class for encapsulating Tag Operation Report data
    /// </summary>
    public class TagOperationReportReceivedEventArgs : EventArgs
    {
        // Private data members
        private string signature;
        private TagOperationReportType tagOperationReportType;
        private TagOperationResult tagOperationResult;
        private string tid;
        private string epc;

        // Public data members
        public string Signature
        {
            get { return signature; }
            set { signature = value; }
        }

        public TagOperationReportType TagOperationReportType
        {
            get { return tagOperationReportType; }
            set { tagOperationReportType = value; }
        }

        public TagOperationResult TagOperationResult
        {
            get { return tagOperationResult; }
            set { tagOperationResult = value; }
        }

        public string Tid
        {
            get { return tid; }
            set { tid = value; }
        }

        public string Epc
        {
            get { return epc; }
            set { epc = value; }
        }

        public override string ToString()
        {
            return String.Format(
                "{0},{1},{2},{3},",
                tagOperationReportType,
                tagOperationResult,
                tid.ToString(),
                epc.ToString()
                );
        }
    }
}
