/*
 * 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
 */
namespace NFSLibrary.Protocols.V4.RPC.Callback{
using org.acplt.oncrpc;

public class nfs_cb_argop4 : XdrAble {
    public int argop;
    public CB_GETATTR4args opcbgetattr;
    public CB_RECALL4args opcbrecall;
    public CB_LAYOUTRECALL4args opcblayoutrecall;
    public CB_NOTIFY4args opcbnotify;
    public CB_PUSH_DELEG4args opcbpush_deleg;
    public CB_RECALL_ANY4args opcbrecall_any;
    public CB_RECALLABLE_OBJ_AVAIL4args opcbrecallable_obj_avail;
    public CB_RECALL_SLOT4args opcbrecall_slot;
    public CB_SEQUENCE4args opcbsequence;
    public CB_WANTS_CANCELLED4args opcbwants_cancelled;
    public CB_NOTIFY_LOCK4args opcbnotify_lock;
    public CB_NOTIFY_DEVICEID4args opcbnotify_deviceid;

    public nfs_cb_argop4() {
    }

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

    public void xdrEncode(XdrEncodingStream xdr) {
        xdr.xdrEncodeInt(argop);
        switch ( argop ) {
        case nfs_cb_opnum4.OP_CB_GETATTR:
            opcbgetattr.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_RECALL:
            opcbrecall.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_LAYOUTRECALL:
            opcblayoutrecall.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_NOTIFY:
            opcbnotify.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_PUSH_DELEG:
            opcbpush_deleg.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_RECALL_ANY:
            opcbrecall_any.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_RECALLABLE_OBJ_AVAIL:
            opcbrecallable_obj_avail.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_RECALL_SLOT:
            opcbrecall_slot.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_SEQUENCE:
            opcbsequence.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_WANTS_CANCELLED:
            opcbwants_cancelled.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_NOTIFY_LOCK:
            opcbnotify_lock.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_NOTIFY_DEVICEID:
            opcbnotify_deviceid.xdrEncode(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_ILLEGAL:
            break;
        }
    }

    public void xdrDecode(XdrDecodingStream xdr) {
        argop = xdr.xdrDecodeInt();
        switch ( argop ) {
        case nfs_cb_opnum4.OP_CB_GETATTR:
            opcbgetattr = new CB_GETATTR4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_RECALL:
            opcbrecall = new CB_RECALL4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_LAYOUTRECALL:
            opcblayoutrecall = new CB_LAYOUTRECALL4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_NOTIFY:
            opcbnotify = new CB_NOTIFY4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_PUSH_DELEG:
            opcbpush_deleg = new CB_PUSH_DELEG4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_RECALL_ANY:
            opcbrecall_any = new CB_RECALL_ANY4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_RECALLABLE_OBJ_AVAIL:
            opcbrecallable_obj_avail = new CB_RECALLABLE_OBJ_AVAIL4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_RECALL_SLOT:
            opcbrecall_slot = new CB_RECALL_SLOT4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_SEQUENCE:
            opcbsequence = new CB_SEQUENCE4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_WANTS_CANCELLED:
            opcbwants_cancelled = new CB_WANTS_CANCELLED4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_NOTIFY_LOCK:
            opcbnotify_lock = new CB_NOTIFY_LOCK4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_NOTIFY_DEVICEID:
            opcbnotify_deviceid = new CB_NOTIFY_DEVICEID4args(xdr);
            break;
        case nfs_cb_opnum4.OP_CB_ILLEGAL:
            break;
        }
    }

}
} // End of nfs_cb_argop4.cs
