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 RequestEditNickName extends Request<ResponseSeq> {

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

    private String nickname;

    public RequestEditNickName(@Nullable String nickname) {
        this.nickname = nickname;
    }

    public RequestEditNickName() {

    }

    @Nullable
    public String getNickname() {
        return this.nickname;
    }

    @Override
    public void parse(BserValues values) throws IOException {
        this.nickname = values.optString(1);
    }

    @Override
    public void serialize(BserWriter writer) throws IOException {
        if (this.nickname != null) {
            writer.writeString(1, this.nickname);
        }
    }

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

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