SID² - Simple Interface for D-box 2
-----------------------------------
getList
=======
<methodCall>
<methodName>getList</methodName>
<params>
<param> <!-- parentHandle - Leerstring für rootnode; ansonsten ein
handle das von der box zurückgeliefert wurde -->
<value><string></string></value>
</param>
</params>
</methodCall>
<methodResponse>
<params><param>
<value><array>
<value><struct>
<member> <!-- caption - Name des Bouquet, Service, Event, was auch immer
wird dem Benutzer so angezeigt -->
<name>caption</name>
<value><string></string></value>
</member>
<member> <!-- type - Typ der node; wird vorerst nur verwendet um das Image im
TreeView festzulegen. Gültige Werte: Group, Service, Event -->
<name>type</name>
<value><string></string></value>
</member>
<member> <!-- handle - über diesen string wird die node identifiziert. Das
handle muss genug informationen enthalten um die node auch
ohne angabe des parenthandles eindeutig zu identifizieren -->
<name>handle</name>
<value><string></string></value>
</member>
<!-- evtl. weiter optionale members, bei events z.b. anfangszeit und länge -->
</struct></value>
<value><struct>
<!-- beliebig oft: s. o. -->
</struct></value>
</array></value>
</param></params>
</methodResponse>
Mögliche faults:
1 - busy, try again later
2 - unexpected error
3 - invalid handle
4 - need zap to parent
Falls möglich sollte diese methode auch aufrufbar sein ohne das vorher auf den parent
gezapt werden muss. Falls dies nicht möglich ist sollte fault 4 zurückgeliefert werden.
zapTo
=====
<methodCall>
<methodName>zapTo</methodName>
<params>
<param> <!-- handle - ein handle das von der box zurückgeliefert wurde -->
<value><string></string></value>
</param>
</params>
</methodCall>
<methodResponse>
</methodResponse>
Mögliche faults:
1 - busy, try again later
2 - unexpected error
3 - invalid handle
5 - record mode active
Sollte recht selbsterklärend sein.
Zap befehle auf handle die nicht direkt anwählbar sind sollten nicht zu faults führen.
Bei einem Event sollte z.b. auf den dazugehörigen Service gezapt werden (auch wenn der
Event zZt nicht aktiv ist). Zap befehle auf Bouquets sollten ignoriert werden, usw...
Es muss immer möglich sein direkt zu einem handle zu zappen ohne das erst der parent
angezapt werden muss.
getInfo
=======
<methodCall>
<methodName>getInfo</methodName>
<params>
<param> <!-- handle - ein handle das von der box zurückgeliefert wurde
oder ein Leerstring. Bei einem Leerstring sollten die
informationen zum aktuellen Event (oder Service falls keine
epg infos vorliegen) zurückgegeben werden -->
<value><string></string></value>
</param>
</params>
</methodCall>
<methodResponse>
<params><param>
<value><struct>
<member> <!-- handle - optional - nur wenn ein Leerstring als handle
angegeben wurde -->
<name>parentHandle</name>
<value><string></string></value>
</member>
<member> <!-- parentHandle - handle für die parent node -->
<name>parentHandle</name>
<value><string></string></value>
</member>
<member> <!-- caption - s. getList -->
<name>caption</name>
<value><string></string></value>
</member>
<member> <!-- type - s. getList -->
<name>type</name>
<value><string></string></value>
</member>
<member> <!-- videoPid - optional - nur bei TV Services oder TV Events -->
<name>videoPid</name>
<value><i4></i4></value>
</member>
<member> <!-- audioPids - optional - nur bei Services oder Events -->
<name>audioPids</name>
<value><array>
<value><struct>
<member> <!-- audioPid -->
<name>audioPid</name>
<value><i4></i4></value>
</member>
<member> <!-- type - optional - erlaubte Werte: mpeg, ac3 -->
<name>type</name>
<value><string></string></value>
</member>
<member> <!-- language - optional -->
<name>language</name>
<value><string></string></value>
</member>
</struct></value>
<!-- beliebig oft... -->
</array></value>
</member>
<member> <!-- startDateTime - optional, für Events -->
<name>startDateTime</name>
<value><dateTime.iso8601></dateTime.iso8601></value>
</member>
<member> <!-- duration - optional, Länge des Events in Minuten -->
<name>duration</name>
<value><i4></i4></value>
</member>
<member> <!-- nextEventHandle - optional - ist gedacht für Cinedoms. Hier eine kurze Erklärung:
BouquetHandle "Premiere World"
|
+--ServiceHandle "Cinedom 1"
|
+--EventHandle "Woman On Top"
|
+--ServiceHandle "Stream 1"
| |
| +--EventHandle "19:15 bis 21:00"
| |
| +--EventHandle "21:45 bis 23:30"
|
+--ServiceHandle "Stream 2"
|
+--EventHandle "19:45 bis 21:30"
|
+--EventHandle "22:00 bis 23:45"
Bei diesem Aufbau würde getInfo für das EventHandle "Woman On Top" (und nur
bei diesem) um 19:11 als nextEventHandle das EventHandle "19:15 bis 21:00"
und um 19:16 das EventHandle "19:45 bis 21:30" zurückliefern.
So wird es möglich Aufnahmen für Cinedoms zu programmieren auch wenn zum
Zeitpunkt der Programmierung der exakte Sendezeitpunkt/Service noch nicht feststand.-->
<name>nextEventHandle</name>
<value><string></string></value>
</member>
<member> <!-- infotext - optional, kompletter infotext zum Event -->
<name>infotext</name>
<value><string></string></value>
</member>
</value></struct>
</param></params>
</methodResponse>
Mögliche faults:
1 - busy, try again later
2 - unexpected error
3 - invalid handle
4 - need zap to parent
Falls möglich sollte diese methode auch aufrufbar sein ohne das vorher auf den parent
gezapt werden muss. Falls dies nicht möglich ist sollte fault 4 zurückgeliefert werden.
beginRecordMode
===============
<methodCall>
<methodName>beginRecordMode</methodName>
<params>
<param> <!-- handle - ein handle das von der box zurückgeliefert wurde -->
<value><string></string></value>
</param>
</params>
</methodCall>
<methodResponse>
</methodResponse>
Mögliche faults:
1 - busy, try again later
2 - unexpected error
3 - invalid handle
4 - need zap to parent
5 - record mode active
Falls möglich sollte diese methode auch aufrufbar sein ohne das vorher auf den parent
gezapt werden muss. Falls dies nicht möglich ist sollte fault 4 zurückgeliefert werden.
Solange der RecordMode aktiv ist sollte es nicht möglich sein irgendwelche Aktionen
durchzuführen die zu einem abbruch des Record Modes führen. (über die GUI direkt nur
gegen Sicherheitsabfrage)
endRecordMode
===============
<methodCall>
<methodName>endRecordMode</methodName>
</methodCall>
Mögliche faults:
1 - busy, try again later
2 - unexpected error
Selbsterklärend.
RFC: SID² - Simple Interface for D-box 2
-
- Senior Member
- Beiträge: 697
- Registriert: Freitag 20. Juli 2001, 00:00
-
- Senior Member
- Beiträge: 147
- Registriert: Freitag 3. August 2001, 00:00
-
- Senior Member
- Beiträge: 697
- Registriert: Freitag 20. Juli 2001, 00:00
Fehler:
Weiterhin fehlt noch bei getList ein Boolean namens zappable.
Wenn man getInfo anfordert von einem Service, dann muss wohl oder übel auf diesen Servioe gezappt werden. Das nehmen wir dann in Kauf, oder?
Bei getInfo... Das sollte nur handle heißen und nicht parentHandle.<member> <!-- handle - optional - nur wenn ein Leerstring als handle
angegeben wurde -->
<name>parentHandle</name>
<value><string></string></value>
</member>
Weiterhin fehlt noch bei getList ein Boolean namens zappable.
Wenn man getInfo anfordert von einem Service, dann muss wohl oder übel auf diesen Servioe gezappt werden. Das nehmen wir dann in Kauf, oder?
-
- Senior Member
- Beiträge: 697
- Registriert: Freitag 20. Juli 2001, 00:00
Weiterhin:
<font size=-1>[ This Message was edited by: TheDOC on 2001-12-07 02:22 ]</font>
Bei TV-Events ist das schlecht, weil sich die VPID und die APID(s) ja auch noch ändern können (Oder z.B. zum Zeitpunkt des Event-Lesens garnicht existieren, K-Toon und Beate Uhse.TV als Beispiel). Da sollte also Wingrab lieber auf das parentHandle zappen und dann von dort VPID und APID holen.<member> <!-- videoPid - optional - nur bei TV Services oder TV Events -->
<name>videoPid</name>
<value><i4></i4></value>
</member>
<font size=-1>[ This Message was edited by: TheDOC on 2001-12-07 02:22 ]</font>