content: 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 org.jetbrains.annotations.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 RequestSetOnline extends Request<ResponseVoid> {
  
      public static final int HEADER = 0x1d;
      public static RequestSetOnline fromBytes(byte[] data) throws IOException {
          return Bser.parse(new RequestSetOnline(), data);
      }
  
      private boolean isOnline;
      private long timeout;
      private ApiDeviceType deviceType;
      private String deviceCategory;
  
      public RequestSetOnline(boolean isOnline, long timeout, @Nullable ApiDeviceType deviceType, @Nullable String deviceCategory) {
          this.isOnline = isOnline;
          this.timeout = timeout;
          this.deviceType = deviceType;
          this.deviceCategory = deviceCategory;
      }
  
      public RequestSetOnline() {
  
      }
  
      public boolean isOnline() {
          return this.isOnline;
      }
  
      public long getTimeout() {
          return this.timeout;
      }
  
      @Nullable
      public ApiDeviceType getDeviceType() {
          return this.deviceType;
      }
  
      @Nullable
      public String getDeviceCategory() {
          return this.deviceCategory;
      }
  
      @Override
      public void parse(BserValues values) throws IOException {
          this.isOnline = values.getBool(1);
          this.timeout = values.getLong(2);
          int val_deviceType = values.getInt(3, 0);
          if (val_deviceType != 0) {
              this.deviceType = ApiDeviceType.parse(val_deviceType);
          }
          this.deviceCategory = values.optString(4);
      }
  
      @Override
      public void serialize(BserWriter writer) throws IOException {
          writer.writeBool(1, this.isOnline);
          writer.writeLong(2, this.timeout);
          if (this.deviceType != null) {
              writer.writeInt(3, this.deviceType.getValue());
          }
          if (this.deviceCategory != null) {
              writer.writeString(4, this.deviceCategory);
          }
      }
  
      @Override
      public String toString() {
          String res = "rpc SetOnline{";
          res += "isOnline=" + this.isOnline;
          res += ", timeout=" + this.timeout;
          res += ", deviceType=" + this.deviceType;
          res += ", deviceCategory=" + this.deviceCategory;
          res += "}";
          return res;
      }
  
      @Override
      public int getHeaderKey() {
          return HEADER;
      }
  }
  