aboutsummaryrefslogtreecommitdiff
path: root/spec/context-properties.html
diff options
context:
space:
mode:
Diffstat (limited to 'spec/context-properties.html')
-rw-r--r--spec/context-properties.html1676
1 files changed, 1676 insertions, 0 deletions
diff --git a/spec/context-properties.html b/spec/context-properties.html
new file mode 100644
index 00000000..3c2e4dea
--- /dev/null
+++ b/spec/context-properties.html
@@ -0,0 +1,1676 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.4" />
+<title>Core Context Properties</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+</head>
+<body>
+<div id="header">
+<h1>Core Context Properties</h1>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>This is the list of the core contextual properties of the Maemo
+platform.</p></div>
+<div class="paragraph"><p>This document is maintained as part of the <tt>contextkit</tt> package.
+Please report change requests as bugs against the <tt>contextkit</tt>
+package.</p></div>
+<div class="paragraph"><p><strong>NOTE:</strong> Most of these properties are unstable and their definition will
+change for some time still. Only the ones explicitly marked as stable
+should be used for now.</p></div>
+</div>
+</div>
+<h2 id="_display_screens">Display screens</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>These properties talk about the display screens of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Screen.TopEdge</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The edge of the main display screen where the user expects
+the top-most UI elements to be. Possible values are the
+strings "top", "bottom", "left", and "right", which refer to
+the edges of the screen in its normal orientation as defined
+by the graphics hardware. <em>(stable)</em>
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+top
+<br />
+bottom
+<br />
+left
+<br />
+right
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Screen.IsCovered</strong> (<em>bool</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not the main display screen is covered and can thus not be
+seen by the user. This might mean that the device is laying face down
+on a table, or that its lid is closed if it has one. <em>(stable)</em>
+</p>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_location">Location</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Best effort location information. If any of the keys are not
+appliciable to the current location, they will be unavailable.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Location.Coordinates</strong> (List of <em>double</em>s)
+</dt>
+<dd>
+<p>
+The coordinates of the current position as a list of two or three
+doubles. The first two elemets are latitude and longitude,
+respectivly, in degrees. The third element, when present, is the
+altitude in meter.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Street</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The street nearest the location of the device, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.PostalCode</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The postcode of the location of the device, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Area</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the local area where the device is, for example a
+neighborhood or campus, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Locality</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the village, town or city where the device is, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Region</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The administrative region which contains the location of the device, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Country</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The country which contains the location of the device, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.CountryCode</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The ISO 3166 two letter country code of the country which contains the location of the device.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Timezone</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+TBD
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.TimezoneOffset</strong> (<em>duration</em>)
+</dt>
+<dd>
+<p>
+TBD
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Continent</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the current continent, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Planet</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the current planet (or dwarf planet), as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.PointOfInterest</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The URI of the current point of interest, if any. (The URI points to
+a Nepomuk object inside the Content Framework.)
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.NearbyContacts</strong> (List of <em>nepomuk-uri</em>s)
+</dt>
+<dd>
+<p>
+A list of URIs for contacts that are physically nearby.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_position">Position</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the physical position of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Position.Stable</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+A boolean indicating whether or not the position is stable, i.e., the device does not move.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_battery">Battery</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the batteries of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Battery.ChargePercentage</strong> (<em>percentage</em>)
+</dt>
+<dd>
+<p>
+The average charge level of the currently connected batteries.
+Expressed as percentage of the maximum charge level.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Battery.OnBattery</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the device is currently running on battery power,
+i.e., whether at least one of its batteries is currently discharging.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Battery.LowBattery</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the device is currently running on low battery power.
+True if OnBattery is true and the charge levels of all
+batteries are below 10%.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Battery.IsCharging</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the device is currently charging at least one of its batteries.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Battery.TimeUntilLow</strong> (<em>duration</em>)
+</dt>
+<dd>
+<p>
+Estimates the time that the device can run on battery before the property
+OnLowBattery becomes true. In seconds.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Battery.TimeUntilFull</strong> (<em>duration</em>)
+</dt>
+<dd>
+<p>
+Estimates the needed charging time of the device. In seconds.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_system">System</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the current state of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>System.MemoryPressure</strong> (<em>int-enum</em>)
+</dt>
+<dd>
+<p>
+Current memory load. Possible values: 0 (normal), 1 (high; low watermark exceeded), 2 (critical; high watermark exceeded).
+</p>
+<div class="paragraph"><p>Type: int-enum</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+normal
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+ARRAY(0x9e67120)
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+high
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+ARRAY(0x9e67110)
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+critical
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+ARRAY(0x9e67710)
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_internet_connectivity">Internet connectivity</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the connection of the devide to the Internet.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Internet.NetworkType</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The type of the current connection to the Internet. This is one of
+the strings "wifi", "wimax", "cellular", "bluetooth", "ethernet", or
+"usb". (From ConnMan. New types might be defined in the future, of
+course.)
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+wifi
+<br />
+wimax
+<br />
+cellular
+<br />
+bluetooth
+<br />
+ethernet
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Internet.NetworkName</strong> (<em>string</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The name of the current network.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Internet.NetworkState</strong> (Enumeration of <em>string</em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The state of the Internet connection, as one of "connected",
+ "disconnected", and "connecting".
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+disconnected
+<br />
+connecting
+<br />
+connected
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Internet.SignalStrength</strong> (<em>percentage</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The signal strength of the current connection to the Internet. For
+example, when Internet.NetworkType is "cellular", this is the signal
+strength at the cellular radio, when it is "wifi", it is the signal
+strength at the WLAN radio.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Internet.TrafficOut</strong> (<em>percentage</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A rough indication of the current traffic rate to the Internet, in
+percent of the maximum possible rate.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Internet.TrafficIn</strong> (<em>percentage</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A rough indication of the current traffic rate from the Internet, in
+percent of the maximum possible rate.
+</p>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_bluetooth">Bluetooth</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about Bluetooth related things.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Bluetooth.Enabled</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+A boolean indicating whether or not the Bluetooth radio is enabled.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Bluetooth.Visible</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+A boolean indicating whether or not the device is visible to other
+Bluetooth devices when they search for others.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_cellular">Cellular</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the cellular radio.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Cellular.NetworkName</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the cellular network.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Cellular.SignalStrength</strong> (<em>percentage</em>)
+</dt>
+<dd>
+<p>
+The signal strength at the cellular radio, in percent of the maximum.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Cellular.Technology</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The currently used Radio Access Technology.
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+gsm
+<br />
+umts
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Cellular.DataTechnology</strong> (Enumeration of <em>string</em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The currently used Radio Access Technology for data transfer.
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+gprs
+<br />
+egprs
+<br />
+umts
+<br />
+hspa
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Cellular.RegistrationStatus</strong> (Enumeration of <em>string</em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The current cellular network registration status.
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+home
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Registered with the home network
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+roam
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Roaming
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+no-sim
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+No SIM card is present
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+offline
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Cellular radio is powered off
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+forbidden
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Cellular access is denied, e.g., because of invalid SIM
+</p>
+</td>
+</tr>
+</table></div>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_user_alarms">User alarms</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the alams set by the user. We assume, that the user
+can disable or enable all the alarms. In addition, the user can enable
+or disable each alarm individually.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>UserAlarm.Present</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Indicates whether there is an upcoming alarm set by the user. Can be
+true even if alarms are disabled.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>UserAlarm.Enabled</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Indicates whether the alarms are enabled or disabled by the user. If
+there are no alarms, UserAlarm.Enabled is true.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>UserAlarm.NextTime</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The time of the next (enabled) alarm, in Unix time (the number of
+seconds since January 1.1.1970 00:00 UTC). If no alarms are present,
+the value is Unknown.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>UserAlarm.NextDescription</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The description of the next (enabled) alarm. If no alarms are present,
+the value is Unknown.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>UserAlarm.NextCookie</strong> (<em>int32</em>)
+</dt>
+<dd>
+<p>
+The cookie of the next (enabled) alarm. The cookie can be used for
+referring to the alarm when communicating with timed.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_environment">Environment</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the environment the device is in.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Environment.SunRise</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The time of sun rise.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Environment.SunSet</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The time of sun set.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Environment.Weather</strong> (Map)
+</dt>
+<dd>
+<p>
+The current weather. See <a href="http://www.ominous-valve.com/wx_codes.txt">http://www.ominous-valve.com/wx_codes.txt</a> for
+more information about codifying weather conditions. We should lift
+something from there, if just for extra geek points.
+</p>
+<div class="paragraph"><p>Possible map keys:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+Condition
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The current weather condition, as a localized, human readable string.
+Examples are "Cloudy", "Raining", etc.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+ConditionCode
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The current weather condition, as a symbolic string. The set of
+symbols is to be defined, but it will be fixed and quite small so that
+you can provide an icon for each of them, etc.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Humidity
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The relative humidity in percent.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Temperature
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The temperature as a localized string. This string represents the
+temperature in the way preferred by the user. Most often this means
+either degrees Celsius or degrees Fahrenheit, but it could be some
+other unit entirely.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+TemperatureK
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The temperature in Kelvin.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+ApparentTemperature
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The felt temperature as a localized string, analogous to Temperature.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+ApparentTemperatureK
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The felt temperature in Kelvin.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+DewPoint
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The dew point as a localized string, analogous to Temperature.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+DewPointK
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The dew point in Kelvin.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Pressure
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The atmospheric pressure in milli bar.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Precipitation
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The rain or snow fall in millimeter per square meter per hour (or some
+other more common unit).
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Visibility
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The visibility in meter.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+WindSpeed
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The wind speed in meters per second.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+WindDirection
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The wind direction as a localized string. The direction is given in
+compass terms: North, South-West, etc.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+WindDirectionD
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The wind direction in degrees. North is 0, east is 90, etc.
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Environment.IsDark</strong> (<em>bool</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not it is especially dark.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Environment.IsBright</strong> (<em>bool</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not it is especially bright.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Environment.IsLoud</strong> (<em>bool</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not it is especially loud.
+</p>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_use">Use</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the current usage context of the device.</p></div>
+<div class="paragraph"><p>Situations are a UI concept similar to Profiles that allows the user
+to have different customizations for his/her device and
+automatically/explcicitly switch between them. Typical Situations are
+"AtHome", "AtWork", "InMeeting" etc. Some of them are probably
+pre-defined, others can be defined by the user. Situations might form
+a hierarchy: InMeeting includes AtWork.</p></div>
+<div class="paragraph"><p>Not much is known about all this right now.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Use.Situations</strong> (<em>string-list</em>)
+</dt>
+<dd>
+<p>
+The symbolic names of the currently active Situations. Note that more
+than one situation might be active at the same time.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Use.Mode</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The current main usage mode of the device.
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+editing
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is interacting closely with the device and is creating new
+content, such as when composing a email message or creating any other
+kind of document.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+recording
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is taking pictures, or recording video or audio.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+browsing
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is interacting closely with the device without
+creating new content, such as when browsing search results, or
+browsing through his/her music collection.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+watching
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is watching a video, without closely interacting with the
+device.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+listening
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is listening to audio, without closely interacting with the
+device.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+reading
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is reading a document, such as when reading a article on the
+web or a e-book.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+chatting
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is involved in a real-time, text-based dialog with external
+parties.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+gaming
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is interacting closely with the device, for entertainment.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+calling
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is involved in a real-time, audio- or video-based dialog with
+external parties.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+active
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user interacting closely with the device, for an activity that
+doesn&#8217;t fit into any of the above categories.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+idle
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The device is not being used.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+maintenance
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is doing system-wide maintenance work such as restoring a
+backup or upgrading the OS software.
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Use.ConnectedContacts</strong> (List of <em>nepomuk-uri</em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A list of URIs for contacts that the user is currently engaged in
+conversations with. (The URIs point to Nepomuk objects.)
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Use.RecentDocuments</strong> (List of <em>nepomuk-uri</em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A list of URIs for recently used documents, at most ten elements long.
+(The URIs point to Nepomuk objects.)
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Use.Keyboarding</strong> (<em>bool</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not the user is ready to use the keyboard. This property
+is true when a slideout keyboard has been slided out, for example, or
+when a transformer laptop with a tablet mode is in "laptop mode".
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Use.Phoning</strong> (<em>bool</em>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not the user is using the device as a telephone handset,
+holding it next to ear and mouth.
+</p>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_events">Events</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about current and upcoming calendar entries.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Event.Current</strong> (List of <em>nepomuk-uri</em>s)
+</dt>
+<dd>
+<p>
+The currently active events, as a list of Nepomuk URIs. The list
+contains all events whose start time is earlier than or equal to the
+current time, and whose end time is later.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Event.CurrentStart</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The earliest start time of the events in Events.Current.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Event.CurrentEnd</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The latest end time of the events in Events.Current.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Event.Next</strong> (List of <em>nepomuk-uri</em>s)
+</dt>
+<dd>
+<p>
+The upcoming events, as a list of Nepomuk URIs. The list contains
+those events whose start time is later than the current time and
+closest to now. If there are multiple events in the list, they all
+start at exactly the same time.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Event.NextStart</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The earliest start time of the events in Events.Next.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Event.NextEnd</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The latest end time of the events in Events.Next.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_profiles">Profiles</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the expected behavior of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Profile.Name</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the currently active profile as a localized string. You
+should not try to interpret this string, it is only meant to be
+displayed as a reminder to the user.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_session">Session</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the current user session. If there is no current
+session, all values are null.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Session.State</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The state of the current session, as string valued enumeration. When
+a session is started, it remains in the "starting" state until it is
+fully ready and the system is idle again. It then changes between
+"running", "suspended", and "eclipsed" as explained below until it
+shuts down and is in the "terminating" state.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The session is in the "running" state when the normal desktop UI
+components such as the panel, desktop icons, taskbars, notification
+areas and status menus are available to the user.</p></div>
+<div class="paragraph"><p>The session goes to the "suspended" state when the user stops
+interacting with it. The screen is typically blanked when the session
+is suspended. In general, there is no point in trying to interact
+with the user when the session is suspended.</p></div>
+<div class="paragraph"><p>The session is in the "eclipsed" state when the complete screen has
+been given to some other application, such as full-screen video
+playback. In that state, the notification areas and status menus, etc
+of the desktop aren&#8217;t visible to the user, of course, and
+notifications should be unintrusive and important.</p></div>
+<div class="paragraph"><p>Applications should be prepared to see all states in any kind of order
+without getting confused.</p></div>
+<div class="paragraph"><p>+</p></div>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+starting
+<br />
+running
+<br />
+suspended
+<br />
+eclipsed
+<br />
+terminating
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</div>
+<h2 id="_media">Media</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about media related activity.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Media.NowPlaying</strong> (Map)
+</dt>
+<dd>
+<p>
+The currently playing media, such as a video or audio track. The
+value is a dictionary with the listed entries. If "resource" is
+included, then "title", "artist", "genre", and "album" are consistent
+with what Tracker has stored.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The current position in the media is always "current-time -
+start-time". If the user seeks then that is expressed by changing
+"start-time". In other words, "start-time" is not the point in time
+when the user has clicked the play button, it is the point in time
+when the media would have had to start to play uninterrupted to reach
+its current position now. This slight complication is done in favor
+of transmitting the position directly to avoid telling you once every
+second that it is now one second later.</p></div>
+<div class="paragraph"><p>+</p></div>
+<div class="paragraph"><p>Possible map keys:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+resource
+<br />
+title
+<br />
+artist
+<br />
+genre
+<br />
+album
+<br />
+duration
+<br />
+start-time
+<br />
+state
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-11-09 15:31:12 EEST
+</div>
+</div>
+</body>
+</html>