org.freedesktop.dbus
public class Message extends Object
Nested Class Summary | |
---|---|
static interface | Message.ArgumentType Defines constants for each argument type.
|
static interface | Message.Endian Defines constants representing the endianness of the message. |
static interface | Message.Flags Defines constants representing the flags which can be set on a message. |
static interface | Message.HeaderField Defines constants for each valid header field type. |
static interface | Message.MessageType Defines constants for each message type. |
Field Summary | |
---|---|
protected long | bytecounter |
protected byte | flags |
protected static long | globalserial |
protected Map<Byte,Object> | headers |
protected byte | protover |
static byte | PROTOCOL The current protocol major version. |
protected long | serial |
protected byte | type |
protected byte[][] | wiredata |
Constructor Summary | |
---|---|
protected | Message(byte endian, byte type, byte flags)
Create a message; only to be called by sub-classes. |
protected | Message()
Create a blank message. |
Method Summary | |
---|---|
int | align(int current, byte type)
Align a counter to the given type. |
void | append(String sig, Object... data)
Append a series of values to the message. |
protected void | appendByte(byte b)
Appends a byte to the buffer list. |
protected void | appendBytes(byte[] buf)
Appends a buffer to the buffer list. |
void | appendint(long l, int width)
Marshalls an integer of a given width and appends it to the message.
|
long | demarshallint(byte[] buf, int ofs, int width)
Demarshalls an integer of a given width from a buffer.
|
static long | demarshallint(byte[] buf, int ofs, byte endian, int width)
Demarshalls an integer of a given width from a buffer. |
static long | demarshallintBig(byte[] buf, int ofs, int width)
Demarshalls an integer of a given width from a buffer using big-endian format. |
static long | demarshallintLittle(byte[] buf, int ofs, int width)
Demarshalls an integer of a given width from a buffer using little-endian format. |
Object[] | extract(String sig, byte[] buf, int ofs)
Demarshall values from a buffer. |
Object[] | extract(String sig, byte[] buf, int[] ofs)
Demarshall values from a buffer. |
static int | getAlignment(byte type)
Return the alignment for a given type. |
String | getDestination()
Returns the destination of the message. |
int | getFlags()
Returns the message flags. |
Object | getHeader(byte type)
Returns the value of the header field of a given field. |
static String | getHeaderFieldName(byte field)
Returns the name of the given header field. |
String | getInterface()
Returns the interface of the message. |
String | getName()
Returns the member name or error name this message represents. |
Object[] | getParameters()
Parses and returns the parameters to this message as an Object array. |
String | getPath()
Returns the object path of the message. |
long | getReplySerial()
If this is a reply to a message, this returns its serial. |
long | getSerial()
Returns the message serial ID (unique for this connection) |
String | getSig()
Returns the dbus signature of the parameters. |
String | getSource()
Returns the Bus ID that sent the message. |
byte[][] | getWireData() |
void | marshallint(long l, byte[] buf, int ofs, int width)
Marshalls an integer of a given width into a buffer.
|
static void | marshallintBig(long l, byte[] buf, int ofs, int width)
Marshalls an integer of a given width into a buffer using big-endian format. |
static void | marshallintLittle(long l, byte[] buf, int ofs, int width)
Marshalls an integer of a given width into a buffer using little-endian format. |
void | pad(byte type)
Pad the message to the proper alignment for the given type. |
protected void | setArgs(Object[] args) |
void | setSource(String source)
Warning, do not use this method unless you really know what you are doing. |
String | toString()
Formats the message in a human-readable format. |
Parameters: endian The endianness to create the message. type The message type. flags Any message flags.
Parameters: current The current counter. type The type to align to.
Returns: The new, aligned, counter.
Parameters: sig The signature(s) of the value(s). data The value(s).
Parameters: l The integer to marshall. width The byte-width of the int.
Parameters: buf The buffer to demarshall from. ofs The offset to demarshall from. width The byte-width of the int.
Parameters: buf The buffer to demarshall from. ofs The offset to demarshall from. endian The endianness to use in demarshalling. width The byte-width of the int.
Parameters: buf The buffer to demarshall from. ofs The offset to demarshall from. width The byte-width of the int.
Parameters: buf The buffer to demarshall from. ofs The offset to demarshall from. width The byte-width of the int.
Parameters: sig The D-Bus signature(s) of the value(s). buf The buffer to demarshall from. ofs The offset into the data buffer to start.
Returns: The demarshalled value(s).
Parameters: sig The D-Bus signature(s) of the value(s). buf The buffer to demarshall from. ofs An array of two ints, the offset into the signature and the offset into the data buffer. These values will be updated to the start of the next value ofter demarshalling.
Returns: The demarshalled value(s).
Parameters: type The field to return.
Returns: The value of the field or null if unset.
Returns: The reply serial, or 0 if it is not a reply.
Returns: the message serial.
Parameters: l The integer to marshall. buf The buffer to marshall to. ofs The offset to marshall to. width The byte-width of the int.
Parameters: l The integer to marshall. buf The buffer to marshall to. ofs The offset to marshall to. width The byte-width of the int.
Parameters: l The integer to marshall. buf The buffer to demarshall to. ofs The offset to demarshall to. width The byte-width of the int.