package im.actor.core.api.rpc;
/*
 *  Generated by the Actor API Scheme generator.  DO NOT EDIT!
 */

import im.actor.runtime.bser.*;
import im.actor.runtime.collections.*;
import static im.actor.runtime.bser.Utils.*;
import im.actor.core.network.parser.*;
import androidx.annotation.Nullable;
import org.jetbrains.annotations.NotNull;
import com.google.j2objc.annotations.ObjectiveCName;
import java.io.IOException;
import java.util.List;
import java.util.ArrayList;
import im.actor.core.api.*;

public class RequestGetGroupInviteUrl extends Request<ResponseInviteUrl> {

    public static final int HEADER = 0xb1;
    public static RequestGetGroupInviteUrl fromBytes(byte[] data) throws IOException {
        return Bser.parse(new RequestGetGroupInviteUrl(), data);
    }

    private ApiGroupOutPeer groupPeer;

    public RequestGetGroupInviteUrl(@NotNull ApiGroupOutPeer groupPeer) {
        this.groupPeer = groupPeer;
    }

    public RequestGetGroupInviteUrl() {

    }

    @NotNull
    public ApiGroupOutPeer getGroupPeer() {
        return this.groupPeer;
    }

    @Override
    public void parse(BserValues values) throws IOException {
        this.groupPeer = values.getObj(1, new ApiGroupOutPeer());
    }

    @Override
    public void serialize(BserWriter writer) throws IOException {
        if (this.groupPeer == null) {
            throw new IOException();
        }
        writer.writeObject(1, this.groupPeer);
    }

    @Override
    public String toString() {
        String res = "rpc GetGroupInviteUrl{";
        res += "groupPeer=" + this.groupPeer;
        res += "}";
        return res;
    }

    @Override
    public int getHeaderKey() {
        return HEADER;
    }
}
