瀏覽代碼

Add some interfaces for the NP plugin

git-svn-id: http://svn.dmdirc.com/trunk@1568 00569f92-eb28-0410-84fd-f71c24880f
tags/0.5
Chris Smith 17 年之前
父節點
當前提交
75f087a06b

+ 55
- 0
src/com/dmdirc/addons/nowplaying/MediaSource.java 查看文件

@@ -0,0 +1,55 @@
1
+/*
2
+ * Copyright (c) 2006-2007 Chris Smith, Shane Mc Cormack, Gregory Holmes
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.addons.nowplaying;
24
+
25
+/**
26
+ * The media source describes one source of "now playing" information
27
+ * (i.e., one method of getting information from one media player).
28
+ * 
29
+ * @author chris
30
+ */
31
+public interface MediaSource {
32
+    
33
+    /**
34
+     * Determine if the application for this source is running or not
35
+     * 
36
+     * @return True if this source is running, false otherwise
37
+     */
38
+    boolean isRunning();
39
+    
40
+    /**
41
+     * Determine if this source is currently playing or not
42
+     * 
43
+     * @return True if this source is playing, false otherwise
44
+     */
45
+    boolean isPlaying();
46
+    
47
+    /**
48
+     * Retrieves a nicely formatted string containing the relevant information
49
+     * about the source media (such as artist and title).
50
+     * 
51
+     * @return The currently playing media
52
+     */
53
+    String getInformation();
54
+
55
+}

+ 42
- 0
src/com/dmdirc/addons/nowplaying/MediaSourceManager.java 查看文件

@@ -0,0 +1,42 @@
1
+/*
2
+ * Copyright (c) 2006-2007 Chris Smith, Shane Mc Cormack, Gregory Holmes
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.addons.nowplaying;
24
+
25
+import java.util.List;
26
+
27
+/**
28
+ * The media source manager is a standard interface for an object that controls
29
+ * one or more media sources.
30
+ * 
31
+ * @author chris
32
+ */
33
+public interface MediaSourceManager {
34
+    
35
+    /**
36
+     * Retrieves the sources that this manager manages.
37
+     * 
38
+     * @return A list of sources that this manager manages
39
+     */
40
+    public List<MediaSource> getSources();
41
+    
42
+}

Loading…
取消
儲存