-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Welcome to the x11-client wiki!
Protocol classes are generated using the xcb xmls.
A struct, union, event, error, request, or reply. An XObject is composed of a protocol of XUnits. The XUnits are an ordered list of the data that makes up the protocol for the XObject.
XObjects are converted to a JavaType.
A unit of the protocol. This can be
- field
- list
- padding
- alignment
All XUnits can be converted to a JavaUnit. Each XUnit has a similar JavaUnit.
Field and list units provide methods to create JavaProperty or JavaListProperty.
A field within an XObject. The type refers to an XType which can be resolved using an XResult.
When this field is set the field has a mask enum. The type is used to read and write the value but the field is a mask which switches on features described in the enum.
When this field is set the field represents an enum. The type is used to read and write but the value represents an enum value.
A list within an XObject. has similar features of a XUnitField.
Contains an expression for the size of the list.
The field type or list type. Can be a primative, enum, or XObject.
JavaUnits for fields and lists are created from a resolved XType for the field or list. XType provides the type info while the field provides the name within the object.
Contains all of the imports, xids, xidunions, structs, unions, enums, events, errors, requests, replys for an xcb file. It is capable of resolving a type name into an XType.
Similat to XObject in that it contains a List of JavaUnits which define how the object is read and written. Contains method to generate a javapoet TypeSpec. The resulting TypeSpec is used to generate the class file. It contains member variables and the read and write methods to read and write the java object.
Provides read and write CodeBlocks for creating the read and write methods of the JavaType. Can be a
- JavaPad
- JavaPadAlign
- JavaProperty
- JavaPropertyList
writeOnly readCode writeCode
JavaProperty classes provide additional methods that return FieldSpec for the TypeSpec built in JavaType.
fieldSpec isField isStatic //means output only isParameter methods // extra methods declareAndReadCode builderSetCode builderMethods
Contains a Expression describing the length of the list.
Can be a
- value
- fieldref
- paramref
- op expression
- unop expression
- popcount
- sumof expression
A literal value
A reference to a field within the object.
Has a name and type.
Add a parameter to the read and write methods.
A binary operation which is performed on a list of expressions. Operations include +, -, ×, /, &. The list of expressions can include other op expressions.
A urnary operator. ~ is the only unup used.
Còunts the 1 bits of another field.
Sum of another list. Sumof contains an expression. If the other list contains objects a fieldref will describe which field. popcount may also be used.
- listelement
- fieldref
- popcount