commit e5b8dc17be63d3536d709205374ac8cbf43135d4
parent a68900a8bb341244e680e2a0764f699f4b158184
Author: Brian Swetland <swetland@frotz.net>
Date: Sun, 14 Aug 2011 18:51:48 -0700
add getter for transport uri
Diffstat:
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/net/frotz/sonos/Sonos.java b/net/frotz/sonos/Sonos.java
@@ -164,13 +164,26 @@ public class Sonos {
xml.print(System.out,1024);
xml.rewind();
}
- public void set(String uri) {
+ public void setTransportURI(String uri) {
rpc.prepare(xport,"SetAVTransportURI");
rpc.simpleTag("InstanceID",0);
rpc.simpleTag("CurrentURI",uri);
rpc.simpleTag("CurrentURIMetaData","");
rpc.invoke();
}
+ public String getTransportURI() {
+ rpc.prepare(xport,"GetMediaInfo");
+ rpc.simpleTag("InstanceID",0);
+ XML xml = rpc.invoke();
+ try {
+ xml.open("u:GetMediaInfoResponse");
+ xml.read("NrTracks");
+ xml.read("MediaDuration");
+ return xml.read("CurrentURI").toString();
+ } catch (XML.Oops x) {
+ return null;
+ }
+ }
public void add(String uri) {
rpc.prepare(xport,"AddURIToQueue");
rpc.simpleTag("InstanceID",0);
diff --git a/net/frotz/sonos/app.java b/net/frotz/sonos/app.java
@@ -61,8 +61,11 @@ public class app implements SonosListener {
sonos.browse(args[1],a);
} else if (cmd.equals("add")) {
sonos.add(args[1]);
- } else if (cmd.equals("set")) {
- sonos.set(args[1]);
+ } else if (cmd.equals("setxport")) {
+ sonos.setTransportURI(args[1]);
+ } else if (cmd.equals("getxport")) {
+ String x = sonos.getTransportURI();
+ System.out.println(x);
} else if (cmd.equals("remove")) {
sonos.remove(args[1]);
} else if (cmd.equals("removeall")) {