Package rst.generic
Message which are capable of handling dynamic data types.
This is not the preferred way of using RST, but cannot be avoided in certain
cases. If possible, use semantically-defined data types.
Messages
digraph message_graph {
fontname="Arial";
fontsize=11;
stylesheet="../_static/graphs.css";
node [fontsize=11,fontname="Arial"]
edge [fontsize=11,fontname="Arial"]
"6" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCallCollection" TITLE="Message rst.generic.MethodCallCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">MethodCallCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCall" TITLE="Message rst.generic.MethodCall" TARGET="_parent">MethodCall</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCallCollection.element" TITLE="Field rst.generic.MethodCallCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"7" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCall" TITLE="Message rst.generic.MethodCall" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">MethodCall</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-OCTET-VECTOR.html#OCTET-VECTOR" TITLE="Fundamental OCTET-VECTOR" TARGET="_parent">OCTET-VECTOR</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCall.name" TITLE="Field rst.generic.MethodCall.name" TARGET="_parent" PORT="name">name</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value" TITLE="Message rst.generic.Value" TARGET="_parent">Value</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCall.arguments" TITLE="Field rst.generic.MethodCall.arguments" TARGET="_parent" PORT="arguments">arguments</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"1" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.DictionaryCollection" TITLE="Message rst.generic.DictionaryCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">DictionaryCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Dictionary" TITLE="Message rst.generic.Dictionary" TARGET="_parent">Dictionary</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.DictionaryCollection.element" TITLE="Field rst.generic.DictionaryCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"2" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.Dictionary" TITLE="Message rst.generic.Dictionary" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Dictionary</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.KeyValuePair" TITLE="Message rst.generic.KeyValuePair" TARGET="_parent">KeyValuePair</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Dictionary.entries" TITLE="Field rst.generic.Dictionary.entries" TARGET="_parent" PORT="entries">entries</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"3" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.KeyValuePair" TITLE="Message rst.generic.KeyValuePair" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">KeyValuePair</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-ASCII-STRING.html#ASCII-STRING" TITLE="Fundamental ASCII-STRING" TARGET="_parent">ASCII-STRING</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.KeyValuePair.key" TITLE="Field rst.generic.KeyValuePair.key" TARGET="_parent" PORT="key">key</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value" TITLE="Message rst.generic.Value" TARGET="_parent">Value</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.KeyValuePair.value" TITLE="Field rst.generic.KeyValuePair.value" TARGET="_parent" PORT="value">value</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"4" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value" TITLE="Message rst.generic.Value" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Value</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type" TITLE="Enum rst.generic.Value.Type" TARGET="_parent">Type</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.type" TITLE="Field rst.generic.Value.type" TARGET="_parent" PORT="type">type</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-INT64.html#INT64" TITLE="Fundamental INT64" TARGET="_parent">INT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.int" TITLE="Field rst.generic.Value.int" TARGET="_parent" PORT="int">int</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.double" TITLE="Field rst.generic.Value.double" TARGET="_parent" PORT="double">double</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-ASCII-STRING.html#ASCII-STRING" TITLE="Fundamental ASCII-STRING" TARGET="_parent">ASCII-STRING</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.string" TITLE="Field rst.generic.Value.string" TARGET="_parent" PORT="string">string</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-BOOL.html#BOOL" TITLE="Fundamental BOOL" TARGET="_parent">BOOL</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.bool" TITLE="Field rst.generic.Value.bool" TARGET="_parent" PORT="bool">bool</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-OCTET-VECTOR.html#OCTET-VECTOR" TITLE="Fundamental OCTET-VECTOR" TARGET="_parent">OCTET-VECTOR</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.binary" TITLE="Field rst.generic.Value.binary" TARGET="_parent" PORT="binary">binary</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value" TITLE="Message rst.generic.Value" TARGET="_parent">Value</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.array" TITLE="Field rst.generic.Value.array" TARGET="_parent" PORT="array">array</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"5" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type" TITLE="Enum rst.generic.Value.Type" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/enum.svg"></IMG></TD><TD ALIGN="left">Type</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.VOID" TITLE="Value rst.generic.Value.Type.VOID" TARGET="_parent">VOID</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.VOID" TITLE="Value rst.generic.Value.Type.VOID" TARGET="_parent">1</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.INT" TITLE="Value rst.generic.Value.Type.INT" TARGET="_parent">INT</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.INT" TITLE="Value rst.generic.Value.Type.INT" TARGET="_parent">2</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.DOUBLE" TITLE="Value rst.generic.Value.Type.DOUBLE" TARGET="_parent">DOUBLE</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.DOUBLE" TITLE="Value rst.generic.Value.Type.DOUBLE" TARGET="_parent">3</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.STRING" TITLE="Value rst.generic.Value.Type.STRING" TARGET="_parent">STRING</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.STRING" TITLE="Value rst.generic.Value.Type.STRING" TARGET="_parent">4</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.BOOL" TITLE="Value rst.generic.Value.Type.BOOL" TARGET="_parent">BOOL</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.BOOL" TITLE="Value rst.generic.Value.Type.BOOL" TARGET="_parent">5</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.BINARY" TITLE="Value rst.generic.Value.Type.BINARY" TARGET="_parent">BINARY</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.BINARY" TITLE="Value rst.generic.Value.Type.BINARY" TARGET="_parent">6</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.ARRAY" TITLE="Value rst.generic.Value.Type.ARRAY" TARGET="_parent">ARRAY</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.ARRAY" TITLE="Value rst.generic.Value.Type.ARRAY" TARGET="_parent">7</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"6":element -> "7"[];
"7":arguments -> "4"[];
"1":element -> "2"[];
"2":entries -> "3"[];
"3":value -> "4"[];
"4" -> "5"[dir=both,arrowtail=odiamond];
"4":array -> "4"[];
"4":type -> "5"[];
}
clearer: should be made invisible via css
Message DictionaryCollection
class rst.generic.
DictionaryCollection
Collection of Dictionary
instances.
Auto-generated.
element
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
Download this file
message DictionaryCollection {
/**
* The individual elements of the collection.
*
* Constraints regarding the empty collection, sorting, duplicated
* entries etc. are use case specific.
*/
repeated Dictionary element = 1 ;
}
Message MethodCallCollection
class rst.generic.
MethodCallCollection
Collection of MethodCall
instances.
Auto-generated.
element
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
Download this file
message MethodCallCollection {
/**
* The individual elements of the collection.
*
* Constraints regarding the empty collection, sorting, duplicated
* entries etc. are use case specific.
*/
repeated MethodCall element = 1 ;
}
Message MethodCall
class rst.generic.
MethodCall
Represents a call to a named method with multiple <Could not resolve reference to Value> as arguments.
Code author: Johannes Wienke <jwienke@ techfak. uni-bielefeld. de >
@create_collection
name
Name of the method to call.
ASCII string.
arguments
The method arguments.
Download this file
message MethodCall {
/**
* Name of the method to call.
*
* ASCII string.
*/
required bytes name = 1 ;
/**
* The method arguments.
*/
repeated Value arguments = 2 ;
}
Message Dictionary
class rst.generic.
Dictionary
A list of key-value pairs.
Code author: Arne Nordmann <anordman@ techfak. uni-bielefeld. de >
@create_collection
entries
The list of key-value pairs.
Ordering is ignored and duplicated keys must be avoided.
Download this file
message Dictionary {
/**
* The list of key-value pairs.
*
* Ordering is ignored and duplicated keys must be avoided.
*/
repeated KeyValuePair entries = 1 ;
}
Message KeyValuePair
class rst.generic.
KeyValuePair
Combines a generic value with an identifying string key.
Code author: Arne Nordmann <anordman@ techfak. uni-bielefeld. de >
key
The key of this entry.
value
The value.
Download this file
message KeyValuePair {
/**
* The key of this entry.
*/
required string key = 1 ;
/**
* The value.
*/
required Value value = 2 ;
}
Message Value
class rst.generic.
Value
A representation of a generic value with a dynamic type.
Each value has a declared type in type
indicating which of the
remaining type-specific fields contains the value, expect for
VOID , where no value is transported at all (most useful
for return types).
Code author: Johannes Wienke <jwienke@ techfak. uni-bielefeld. de >
type
The type of the value transported in this message.
int
Contains the integer value in case type
is INT .
double
Contains the double value in case type
is
DOUBLE .
string
Contains the string value in case type
is
STRING .
bool
Contains the boolean value in case type
is BOOL .
binary
Contains the binary data in case type
is BINARY .
array
Represents the contents of an array in case type
is ARRAY .
Contained elements can be of different types and ordering is
important.
Download this file
syntax = "proto2" ;
package rst . generic ;
option java_outer_classname = "ValueType" ;
/**
* A representation of a generic value with a dynamic type.
*
* Each value has a declared type in @ref .type indicating which of the
* remaining type-specific fields contains the value, expect for
* @ref .Type.VOID, where no value is transported at all (most useful
* for return types).
*
* @author Johannes Wienke <jwienke@techfak.uni-bielefeld.de>
*/
message Value {
/**
* The list of supported types.
*/
enum Type {
/**
* Indicates that no data is transported.
*/
VOID = 1 ;
/**
* Indicates that an integer value is transported.
*/
INT = 2 ;
/**
* Indicates that a double precision floating point number is
* transported.
*/
DOUBLE = 3 ;
/**
* Indicates that a UTF-8 encoded string is transported.
*/
STRING = 4 ;
/**
* Indicates that a boolean value is transported.
*/
BOOL = 5 ;
/**
* Indicates that a blob of binary data is transported.
*/
BINARY = 6 ;
/**
* Indicate that a list of Values is contained in @ref
* Value.array representing an array.
*/
ARRAY = 7 ;
}
/**
* The type of the value transported in this message.
*/
required Type type = 1 ;
/**
* Contains the integer value in case @ref .type is @ref .Type.INT.
*/
optional int64 int = 2 ;
/**
* Contains the double value in case @ref .type is
* @ref .Type.DOUBLE.
*/
optional double double = 3 ;
/**
* Contains the string value in case @ref .type is
* @ref .Type.STRING.
*/
optional string string = 4 ;
/**
* Contains the boolean value in case @ref .type is @ref .Type.BOOL.
*/
optional bool bool = 5 ;
/**
* Contains the binary data in case @ref .type is @ref .Type.BINARY.
*/
optional bytes binary = 6 ;
/**
* Represents the contents of an array in case @ref .type is @ref
* .Type.ARRAY.
*
* Contained elements can be of different types and ordering is
* important.
*/
repeated Value array = 7 ;
}
Message Type
class rst.generic.Value.
Type
The list of supported types.
VOID
= 1
Indicates that no data is transported.
INT
= 2
Indicates that an integer value is transported.
DOUBLE
= 3
Indicates that a double precision floating point number is
transported.
STRING
= 4
Indicates that a UTF-8 encoded string is transported.
BOOL
= 5
Indicates that a boolean value is transported.
BINARY
= 6
Indicates that a blob of binary data is transported.
ARRAY
= 7
Indicate that a list of Values is contained in <Could not resolve reference to Value.array> representing an array.
Download this file
enum Type {
/**
* Indicates that no data is transported.
*/
VOID = 1 ;
/**
* Indicates that an integer value is transported.
*/
INT = 2 ;
/**
* Indicates that a double precision floating point number is
* transported.
*/
DOUBLE = 3 ;
/**
* Indicates that a UTF-8 encoded string is transported.
*/
STRING = 4 ;
/**
* Indicates that a boolean value is transported.
*/
BOOL = 5 ;
/**
* Indicates that a blob of binary data is transported.
*/
BINARY = 6 ;
/**
* Indicate that a list of Values is contained in @ref
* Value.array representing an array.
*/
ARRAY = 7 ;
}