/* * This file is auto-generated. DO NOT MODIFY. * Using: out/host/linux-x86/bin/aidl --lang=java -Weverything -Wno-missing-permission-annotation --min_sdk_version current -pout/soong/.intermediates/packages/modules/Virtualization/virtualizationservice/aidl/android.system.virtualizationcommon_interface/preprocessed.aidl --ninja -d out/soong/.intermediates/packages/modules/Virtualization/virtualizationservice/aidl/android.system.virtualizationservice-java-source/gen/android/system/virtualizationservice/InputDevice.java.d -o out/soong/.intermediates/packages/modules/Virtualization/virtualizationservice/aidl/android.system.virtualizationservice-java-source/gen -Npackages/modules/Virtualization/virtualizationservice/aidl packages/modules/Virtualization/virtualizationservice/aidl/android/system/virtualizationservice/InputDevice.aidl */ package android.system.virtualizationservice; // Refer to https://crosvm.dev/book/devices/input.html public final class InputDevice implements android.os.Parcelable { // tags for union fields public final static int singleTouch = 0; // android.system.virtualizationservice.InputDevice.SingleTouch singleTouch; public final static int evDev = 1; // android.system.virtualizationservice.InputDevice.EvDev evDev; public final static int keyboard = 2; // android.system.virtualizationservice.InputDevice.Keyboard keyboard; private int _tag; private Object _value; public InputDevice() { android.system.virtualizationservice.InputDevice.SingleTouch _value = null; this._tag = singleTouch; this._value = _value; } private InputDevice(android.os.Parcel _aidl_parcel) { readFromParcel(_aidl_parcel); } private InputDevice(int _tag, Object _value) { this._tag = _tag; this._value = _value; } public int getTag() { return _tag; } // android.system.virtualizationservice.InputDevice.SingleTouch singleTouch; public static InputDevice singleTouch(android.system.virtualizationservice.InputDevice.SingleTouch _value) { return new InputDevice(singleTouch, _value); } public android.system.virtualizationservice.InputDevice.SingleTouch getSingleTouch() { _assertTag(singleTouch); return (android.system.virtualizationservice.InputDevice.SingleTouch) _value; } public void setSingleTouch(android.system.virtualizationservice.InputDevice.SingleTouch _value) { _set(singleTouch, _value); } // android.system.virtualizationservice.InputDevice.EvDev evDev; public static InputDevice evDev(android.system.virtualizationservice.InputDevice.EvDev _value) { return new InputDevice(evDev, _value); } public android.system.virtualizationservice.InputDevice.EvDev getEvDev() { _assertTag(evDev); return (android.system.virtualizationservice.InputDevice.EvDev) _value; } public void setEvDev(android.system.virtualizationservice.InputDevice.EvDev _value) { _set(evDev, _value); } // android.system.virtualizationservice.InputDevice.Keyboard keyboard; public static InputDevice keyboard(android.system.virtualizationservice.InputDevice.Keyboard _value) { return new InputDevice(keyboard, _value); } public android.system.virtualizationservice.InputDevice.Keyboard getKeyboard() { _assertTag(keyboard); return (android.system.virtualizationservice.InputDevice.Keyboard) _value; } public void setKeyboard(android.system.virtualizationservice.InputDevice.Keyboard _value) { _set(keyboard, _value); } public static final android.os.Parcelable.Creator CREATOR = new android.os.Parcelable.Creator() { @Override public InputDevice createFromParcel(android.os.Parcel _aidl_source) { return new InputDevice(_aidl_source); } @Override public InputDevice[] newArray(int _aidl_size) { return new InputDevice[_aidl_size]; } }; @Override public final void writeToParcel(android.os.Parcel _aidl_parcel, int _aidl_flag) { _aidl_parcel.writeInt(_tag); switch (_tag) { case singleTouch: _aidl_parcel.writeTypedObject(getSingleTouch(), _aidl_flag); break; case evDev: _aidl_parcel.writeTypedObject(getEvDev(), _aidl_flag); break; case keyboard: _aidl_parcel.writeTypedObject(getKeyboard(), _aidl_flag); break; } } public void readFromParcel(android.os.Parcel _aidl_parcel) { int _aidl_tag; _aidl_tag = _aidl_parcel.readInt(); switch (_aidl_tag) { case singleTouch: { android.system.virtualizationservice.InputDevice.SingleTouch _aidl_value; _aidl_value = _aidl_parcel.readTypedObject(android.system.virtualizationservice.InputDevice.SingleTouch.CREATOR); _set(_aidl_tag, _aidl_value); return; } case evDev: { android.system.virtualizationservice.InputDevice.EvDev _aidl_value; _aidl_value = _aidl_parcel.readTypedObject(android.system.virtualizationservice.InputDevice.EvDev.CREATOR); _set(_aidl_tag, _aidl_value); return; } case keyboard: { android.system.virtualizationservice.InputDevice.Keyboard _aidl_value; _aidl_value = _aidl_parcel.readTypedObject(android.system.virtualizationservice.InputDevice.Keyboard.CREATOR); _set(_aidl_tag, _aidl_value); return; } } throw new IllegalArgumentException("union: unknown tag: " + _aidl_tag); } @Override public int describeContents() { int _mask = 0; switch (getTag()) { case singleTouch: _mask |= describeContents(getSingleTouch()); break; case evDev: _mask |= describeContents(getEvDev()); break; case keyboard: _mask |= describeContents(getKeyboard()); break; } return _mask; } private int describeContents(Object _v) { if (_v == null) return 0; if (_v instanceof android.os.Parcelable) { return ((android.os.Parcelable) _v).describeContents(); } return 0; } private void _assertTag(int tag) { if (getTag() != tag) { throw new IllegalStateException("bad access: " + _tagString(tag) + ", " + _tagString(getTag()) + " is available."); } } private String _tagString(int _tag) { switch (_tag) { case singleTouch: return "singleTouch"; case evDev: return "evDev"; case keyboard: return "keyboard"; } throw new IllegalStateException("unknown field: " + _tag); } private void _set(int _tag, Object _value) { this._tag = _tag; this._value = _value; } // Add a single-touch touchscreen virtio-input device. public static class SingleTouch implements android.os.Parcelable { public android.os.ParcelFileDescriptor pfd; // Default values come from https://crosvm.dev/book/devices/input.html#single-touch public int width = 1280; public int height = 1080; public java.lang.String name = ""; public static final android.os.Parcelable.Creator CREATOR = new android.os.Parcelable.Creator() { @Override public SingleTouch createFromParcel(android.os.Parcel _aidl_source) { SingleTouch _aidl_out = new SingleTouch(); _aidl_out.readFromParcel(_aidl_source); return _aidl_out; } @Override public SingleTouch[] newArray(int _aidl_size) { return new SingleTouch[_aidl_size]; } }; @Override public final void writeToParcel(android.os.Parcel _aidl_parcel, int _aidl_flag) { int _aidl_start_pos = _aidl_parcel.dataPosition(); _aidl_parcel.writeInt(0); _aidl_parcel.writeTypedObject(pfd, _aidl_flag); _aidl_parcel.writeInt(width); _aidl_parcel.writeInt(height); _aidl_parcel.writeString(name); int _aidl_end_pos = _aidl_parcel.dataPosition(); _aidl_parcel.setDataPosition(_aidl_start_pos); _aidl_parcel.writeInt(_aidl_end_pos - _aidl_start_pos); _aidl_parcel.setDataPosition(_aidl_end_pos); } public final void readFromParcel(android.os.Parcel _aidl_parcel) { int _aidl_start_pos = _aidl_parcel.dataPosition(); int _aidl_parcelable_size = _aidl_parcel.readInt(); try { if (_aidl_parcelable_size < 4) throw new android.os.BadParcelableException("Parcelable too small");; if (_aidl_parcel.dataPosition() - _aidl_start_pos >= _aidl_parcelable_size) return; pfd = _aidl_parcel.readTypedObject(android.os.ParcelFileDescriptor.CREATOR); if (_aidl_parcel.dataPosition() - _aidl_start_pos >= _aidl_parcelable_size) return; width = _aidl_parcel.readInt(); if (_aidl_parcel.dataPosition() - _aidl_start_pos >= _aidl_parcelable_size) return; height = _aidl_parcel.readInt(); if (_aidl_parcel.dataPosition() - _aidl_start_pos >= _aidl_parcelable_size) return; name = _aidl_parcel.readString(); } finally { if (_aidl_start_pos > (Integer.MAX_VALUE - _aidl_parcelable_size)) { throw new android.os.BadParcelableException("Overflow in the size of parcelable"); } _aidl_parcel.setDataPosition(_aidl_start_pos + _aidl_parcelable_size); } } @Override public int describeContents() { int _mask = 0; _mask |= describeContents(pfd); return _mask; } private int describeContents(Object _v) { if (_v == null) return 0; if (_v instanceof android.os.Parcelable) { return ((android.os.Parcelable) _v).describeContents(); } return 0; } } // Passes an event device node into the VM. The device will be grabbed (unusable from the host) // and made available to the guest with the same configuration it shows on the host. public static class EvDev implements android.os.Parcelable { public android.os.ParcelFileDescriptor pfd; public static final android.os.Parcelable.Creator CREATOR = new android.os.Parcelable.Creator() { @Override public EvDev createFromParcel(android.os.Parcel _aidl_source) { EvDev _aidl_out = new EvDev(); _aidl_out.readFromParcel(_aidl_source); return _aidl_out; } @Override public EvDev[] newArray(int _aidl_size) { return new EvDev[_aidl_size]; } }; @Override public final void writeToParcel(android.os.Parcel _aidl_parcel, int _aidl_flag) { int _aidl_start_pos = _aidl_parcel.dataPosition(); _aidl_parcel.writeInt(0); _aidl_parcel.writeTypedObject(pfd, _aidl_flag); int _aidl_end_pos = _aidl_parcel.dataPosition(); _aidl_parcel.setDataPosition(_aidl_start_pos); _aidl_parcel.writeInt(_aidl_end_pos - _aidl_start_pos); _aidl_parcel.setDataPosition(_aidl_end_pos); } public final void readFromParcel(android.os.Parcel _aidl_parcel) { int _aidl_start_pos = _aidl_parcel.dataPosition(); int _aidl_parcelable_size = _aidl_parcel.readInt(); try { if (_aidl_parcelable_size < 4) throw new android.os.BadParcelableException("Parcelable too small");; if (_aidl_parcel.dataPosition() - _aidl_start_pos >= _aidl_parcelable_size) return; pfd = _aidl_parcel.readTypedObject(android.os.ParcelFileDescriptor.CREATOR); } finally { if (_aidl_start_pos > (Integer.MAX_VALUE - _aidl_parcelable_size)) { throw new android.os.BadParcelableException("Overflow in the size of parcelable"); } _aidl_parcel.setDataPosition(_aidl_start_pos + _aidl_parcelable_size); } } @Override public int describeContents() { int _mask = 0; _mask |= describeContents(pfd); return _mask; } private int describeContents(Object _v) { if (_v == null) return 0; if (_v instanceof android.os.Parcelable) { return ((android.os.Parcelable) _v).describeContents(); } return 0; } } // Keyboard input public static class Keyboard implements android.os.Parcelable { public android.os.ParcelFileDescriptor pfd; public static final android.os.Parcelable.Creator CREATOR = new android.os.Parcelable.Creator() { @Override public Keyboard createFromParcel(android.os.Parcel _aidl_source) { Keyboard _aidl_out = new Keyboard(); _aidl_out.readFromParcel(_aidl_source); return _aidl_out; } @Override public Keyboard[] newArray(int _aidl_size) { return new Keyboard[_aidl_size]; } }; @Override public final void writeToParcel(android.os.Parcel _aidl_parcel, int _aidl_flag) { int _aidl_start_pos = _aidl_parcel.dataPosition(); _aidl_parcel.writeInt(0); _aidl_parcel.writeTypedObject(pfd, _aidl_flag); int _aidl_end_pos = _aidl_parcel.dataPosition(); _aidl_parcel.setDataPosition(_aidl_start_pos); _aidl_parcel.writeInt(_aidl_end_pos - _aidl_start_pos); _aidl_parcel.setDataPosition(_aidl_end_pos); } public final void readFromParcel(android.os.Parcel _aidl_parcel) { int _aidl_start_pos = _aidl_parcel.dataPosition(); int _aidl_parcelable_size = _aidl_parcel.readInt(); try { if (_aidl_parcelable_size < 4) throw new android.os.BadParcelableException("Parcelable too small");; if (_aidl_parcel.dataPosition() - _aidl_start_pos >= _aidl_parcelable_size) return; pfd = _aidl_parcel.readTypedObject(android.os.ParcelFileDescriptor.CREATOR); } finally { if (_aidl_start_pos > (Integer.MAX_VALUE - _aidl_parcelable_size)) { throw new android.os.BadParcelableException("Overflow in the size of parcelable"); } _aidl_parcel.setDataPosition(_aidl_start_pos + _aidl_parcelable_size); } } @Override public int describeContents() { int _mask = 0; _mask |= describeContents(pfd); return _mask; } private int describeContents(Object _v) { if (_v == null) return 0; if (_v instanceof android.os.Parcelable) { return ((android.os.Parcelable) _v).describeContents(); } return 0; } } public static @interface Tag { public static final int singleTouch = 0; public static final int evDev = 1; public static final int keyboard = 2; } }