SICS Metadata

This section describes the list command for retrieving and setting information about a running SICS server and the objects living in it. Each SICS object has metadata associated with it: some of it is generated by the system such as the object type, the interface it implements etc. Some additional metadata can be set by the user. Most commands print their data in the form of a Tcl-list. The list is terminated with the entry ENDLIST. This entry can be searched for by clients interested to find the end of the transmission. The general form of the metadata is a key value pair. The following commands are implemented:

list
Prints a list of all SICS objects.
list server
Prints a list of all server options.
list sicsobject
Prints all the metadata associated with the SICS object sicsobject.
list sicsobject key
Prints the value of the key associated with the SICS object sicsobject.
list setatt sicsobject key value
Sets a user defined attribute with the name key and the value value for the SICS object sicsobject.
list metadatakey
List all unique entries for the specified metadata key. System supplied metadata keys are:
type
The object class
interface
The object interfaces implemented by SICS
This list may be augmented with user generated keys as defined through using the list setatt obj key value command. An example:
list type
will print all the objects classes available in the SICS server.
list metadatakey value
List all the SICS objects which match the value for the metadatakey given as parameters. For example:
list interface drivable
will print all objects implementing the drivable interface in the SICS server.
list objstatus obj
Will query the current state of the SICS object obj. This makes sense for things like motors, counter etc. which can be run asynchronously. The result can be idle, fault, busy etc.
list match mask
Will print the names of all SICS objects where the name matches the wildcard given as mask.