summaryrefslogtreecommitdiff
path: root/cmpcj/src/de/schwarzrot/cmpc/domain
diff options
context:
space:
mode:
authorgeronimo <geronimo013@gmx.de>2012-07-26 16:32:37 +0200
committergeronimo <geronimo013@gmx.de>2012-07-26 16:32:37 +0200
commit55a02203e1d5fcdf8cbc0093af5c14d41d6d8dd7 (patch)
tree564507b5f40bcd65d7b6cb2d5041202c8250927f /cmpcj/src/de/schwarzrot/cmpc/domain
parent2d0b837e6c885383ae807ca793cbe91aa32de995 (diff)
downloadcmp-55a02203e1d5fcdf8cbc0093af5c14d41d6d8dd7.tar.gz
cmp-55a02203e1d5fcdf8cbc0093af5c14d41d6d8dd7.tar.bz2
worked out little java client that serves to start other mediaplayers
Diffstat (limited to 'cmpcj/src/de/schwarzrot/cmpc/domain')
-rw-r--r--cmpcj/src/de/schwarzrot/cmpc/domain/Config.java73
-rw-r--r--cmpcj/src/de/schwarzrot/cmpc/domain/Media.java82
-rw-r--r--cmpcj/src/de/schwarzrot/cmpc/domain/MediaServer.java51
-rw-r--r--cmpcj/src/de/schwarzrot/cmpc/domain/MediaType.java51
-rw-r--r--cmpcj/src/de/schwarzrot/cmpc/domain/PlayList.java65
-rw-r--r--cmpcj/src/de/schwarzrot/cmpc/domain/PlayerDefinition.java65
6 files changed, 387 insertions, 0 deletions
diff --git a/cmpcj/src/de/schwarzrot/cmpc/domain/Config.java b/cmpcj/src/de/schwarzrot/cmpc/domain/Config.java
new file mode 100644
index 0000000..f803811
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/cmpc/domain/Config.java
@@ -0,0 +1,73 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: Config.java
+ * Created:
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.cmpc.domain;
+
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public class Config {
+ public Config() {
+ knownServers = new ArrayList<MediaServer>();
+ playerMap = new HashMap<Media.SupportedMediaType, PlayerDefinition>();
+ }
+
+
+ public void addServer(MediaServer ms) {
+ knownServers.add(ms);
+ }
+
+
+ public List<MediaServer> getKnownServers() {
+ return knownServers;
+ }
+
+
+ public Map<Media.SupportedMediaType, PlayerDefinition> getPlayerMap() {
+ return playerMap;
+ }
+
+
+ public void putPlayer(Media.SupportedMediaType type, PlayerDefinition pd) {
+ playerMap.put(type, pd);
+ }
+
+
+ public void setKnownServers(List<MediaServer> knownServers) {
+ this.knownServers = knownServers;
+ }
+
+
+ public void setPlayerMap(Map<Media.SupportedMediaType, PlayerDefinition> playerMap) {
+ this.playerMap = playerMap;
+ }
+
+ private List<MediaServer> knownServers;
+ private Map<Media.SupportedMediaType, PlayerDefinition> playerMap;
+}
diff --git a/cmpcj/src/de/schwarzrot/cmpc/domain/Media.java b/cmpcj/src/de/schwarzrot/cmpc/domain/Media.java
new file mode 100644
index 0000000..e784924
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/cmpc/domain/Media.java
@@ -0,0 +1,82 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: Media.java
+ * Created:
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.cmpc.domain;
+
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+
+
+public class Media {
+ public enum SupportedMediaType {
+ Invalid, Audio, Movie, DVDImage, LegacyVdrRecording, VdrRecording, Picture, Unknown
+ };
+
+
+ public String getName() {
+ return name;
+ }
+
+
+ public String getPath() {
+ return path;
+ }
+
+
+ public String getSearch() {
+ return search;
+ }
+
+
+ public int getType() {
+ return type;
+ }
+
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public void setPath(String path) {
+ this.path = path;
+ try {
+ search = URLDecoder.decode(path, "utf8");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ private String name;
+ private int type;
+ private String path;
+ private String search;
+}
diff --git a/cmpcj/src/de/schwarzrot/cmpc/domain/MediaServer.java b/cmpcj/src/de/schwarzrot/cmpc/domain/MediaServer.java
new file mode 100644
index 0000000..e6f2683
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/cmpc/domain/MediaServer.java
@@ -0,0 +1,51 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: MediaServer.java
+ * Created:
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.cmpc.domain;
+
+
+public class MediaServer {
+ public String getHostName() {
+ return hostName;
+ }
+
+
+ public int getPort() {
+ return port;
+ }
+
+
+ public void setHostName(String hostName) {
+ this.hostName = hostName;
+ }
+
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ private String hostName;
+ private int port;
+}
diff --git a/cmpcj/src/de/schwarzrot/cmpc/domain/MediaType.java b/cmpcj/src/de/schwarzrot/cmpc/domain/MediaType.java
new file mode 100644
index 0000000..c336329
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/cmpc/domain/MediaType.java
@@ -0,0 +1,51 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: MediaType.java
+ * Created:
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.cmpc.domain;
+
+
+public class MediaType {
+ public String getName() {
+ return name;
+ }
+
+
+ public int getStart() {
+ return start;
+ }
+
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public void setStart(int start) {
+ this.start = start;
+ }
+
+ private String name;
+ private int start;
+}
diff --git a/cmpcj/src/de/schwarzrot/cmpc/domain/PlayList.java b/cmpcj/src/de/schwarzrot/cmpc/domain/PlayList.java
new file mode 100644
index 0000000..e1aa7d2
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/cmpc/domain/PlayList.java
@@ -0,0 +1,65 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: PlayList.java
+ * Created:
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.cmpc.domain;
+
+
+import java.util.List;
+
+
+public class PlayList {
+ public List<Media> getResults() {
+ return results;
+ }
+
+
+ public long getTotal() {
+ return total;
+ }
+
+
+ public List<MediaType> getTypes() {
+ return types;
+ }
+
+
+ public void setResults(List<Media> results) {
+ this.results = results;
+ }
+
+
+ public void setTotal(long total) {
+ this.total = total;
+ }
+
+
+ public void setTypes(List<MediaType> types) {
+ this.types = types;
+ }
+
+ private long total;
+ private List<Media> results;
+ private List<MediaType> types;
+}
diff --git a/cmpcj/src/de/schwarzrot/cmpc/domain/PlayerDefinition.java b/cmpcj/src/de/schwarzrot/cmpc/domain/PlayerDefinition.java
new file mode 100644
index 0000000..5bc4df0
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/cmpc/domain/PlayerDefinition.java
@@ -0,0 +1,65 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: PlayerDefinition.java
+ * Created:
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.cmpc.domain;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class PlayerDefinition {
+ public PlayerDefinition() {
+ parameters = new ArrayList<String>();
+ }
+
+
+ public void addParameter(String parameter) {
+ parameters.add(parameter);
+ }
+
+
+ public String getExecutable() {
+ return executable;
+ }
+
+
+ public List<String> getParameters() {
+ return parameters;
+ }
+
+
+ public void setExecutable(String executable) {
+ this.executable = executable;
+ }
+
+
+ public void setParameters(List<String> parameters) {
+ this.parameters = parameters;
+ }
+
+ private String executable;
+ private List<String> parameters;
+}