All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.moaxcp.x11.protocol.XProtocolPlugin Maven / Gradle / Ivy

package com.github.moaxcp.x11.protocol;

import java.io.IOException;
import java.util.Optional;

public interface XProtocolPlugin {
  String getPluginName();
  Optional getExtensionXName();
  Optional getExtensionName();
  Optional getExtensionMultiword();
  Optional getMajorVersion();
  Optional getMinorVersion();
  byte getMajorOpcode();
  void setMajorOpcode(byte firstOpcode);
  byte getFirstEvent();
  void setFirstEvent(byte firstEvent);
  byte getFirstError();
  void setFirstError(byte firstError);
  boolean supportedRequest(XRequest request);
  boolean supportedRequest(byte majorOpcode, byte minorOpcode);
  boolean supportedEvent(byte number);
  boolean supportedError(byte code);
   T readRequest(byte majorOpcode, byte minorOpcode, X11Input in) throws IOException;
   T readEvent(byte number, boolean sentEvent, X11Input in) throws IOException;
   T readError(byte code, X11Input in) throws IOException;
   T readGenericEvent(boolean sentEvent, byte extension, short sequenceNumber, int length, short eventType, X11Input in) throws IOException;

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy