/*
 * Automatically generated by jrpcgen 1.0.7 on 29.11.2012
 * jrpcgen is part of the "Remote Tea.Net" ONC/RPC package for C#
 * See http://remotetea.sourceforge.net for details
 */
using NFSLibrary.Protocols.Commons;
using org.acplt.oncrpc;

namespace NFSLibrary.Protocols.V3.RPC
{
    public class ExtendedReadFolderArguments : XdrAble
    {
        private NFSHandle _dir;
        private NFSCookie _cookie;
        private byte[] _cookieverf;
        private int _dircount;
        private int _maxcount;

        public ExtendedReadFolderArguments()
        { }

        public ExtendedReadFolderArguments(XdrDecodingStream xdr)
        { xdrDecode(xdr); }

        public void xdrEncode(XdrEncodingStream xdr)
        {
            this._dir.xdrEncode(xdr);
            this._cookie.xdrEncode(xdr);
            xdr.xdrEncodeOpaque(this._cookieverf, NFSv3Protocol.NFS3_COOKIEVERFSIZE);
            xdr.xdrEncodeInt(this._dircount);
            xdr.xdrEncodeInt(this._maxcount);
        }

        public void xdrDecode(XdrDecodingStream xdr)
        {
            this._dir = new NFSHandle();
            this._dir.Version = V3.RPC.NFSv3Protocol.NFS_V3;
            this._dir.xdrDecode(xdr);
            this._cookie = new NFSCookie(xdr);
            this._cookieverf = xdr.xdrDecodeOpaque(NFSv3Protocol.NFS3_COOKIEVERFSIZE);
            this._dircount = xdr.xdrDecodeInt();
            this._maxcount = xdr.xdrDecodeInt();
        }

        public NFSHandle Directory
        {
            get
            { return this._dir; }
            set
            { this._dir = value; }
        }

        public NFSCookie Cookie
        {
            get
            { return this._cookie; }
            set
            { this._cookie = value; }
        }

        public byte[] CookieVerification
        {
            get
            { return this._cookieverf; }
            set
            { this._cookieverf = value; }
        }

        public int DirectoryLength
        {
            get
            { return this._dircount; }
            set
            { this._dircount = value; }
        }

        public int MaximumLength
        {
            get
            { return this._maxcount; }
            set
            { this._maxcount = value; }
        }
    }
    // End of READDIRPLUS3args.cs
}