aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConor Curran <conor.curran@canonical.com>2010-12-01 20:20:00 +0000
committerConor Curran <conor.curran@canonical.com>2010-12-01 20:20:00 +0000
commit4d9c1fa538254e065a1607de9e16dba126b55dd5 (patch)
treec96d8b4cd51b30af42bf907551c829bd0536724b
parent0d5c60e9161f4b1b4315bbfac7862ef662f577ee (diff)
downloadayatana-indicator-sound-4d9c1fa538254e065a1607de9e16dba126b55dd5.tar.gz
ayatana-indicator-sound-4d9c1fa538254e065a1607de9e16dba126b55dd5.tar.bz2
ayatana-indicator-sound-4d9c1fa538254e065a1607de9e16dba126b55dd5.zip
dbus-glib removed from vala deps, initial gdbus port underway
-rw-r--r--src/Makefile.am3
-rw-r--r--src/mpris2-controller.vala73
-rw-r--r--src/music-player-bridge.vala12
-rw-r--r--src/player-controller.vala3
4 files changed, 42 insertions, 49 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index b23e9c1..1362187 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -74,10 +74,9 @@ music_bridge_VALAFLAGS = \
--vapidir=./ \
--thread \
--pkg gee-1.0 \
- --pkg Indicate-0.2 \
--pkg Dbusmenu-Glib-0.2 \
--pkg common-defs \
- --pkg dbus-glib-1 \
+ --pkg gio-2.0 \
--pkg gio-unix-2.0 \
--pkg gdk-pixbuf-2.0
diff --git a/src/mpris2-controller.vala b/src/mpris2-controller.vala
index f440c13..0be018a 100644
--- a/src/mpris2-controller.vala
+++ b/src/mpris2-controller.vala
@@ -16,11 +16,11 @@ PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-using DBus;
+//using DBus;
using Dbusmenu;
[DBus (name = "org.mpris.MediaPlayer2")]
-public interface MprisRoot : DBus.Object {
+public interface MprisRoot : Object {
// properties
public abstract bool HasTracklist{owned get; set;}
public abstract bool CanQuit{owned get; set;}
@@ -28,11 +28,11 @@ public interface MprisRoot : DBus.Object {
public abstract string Identity{owned get; set;}
public abstract string DesktopEntry{owned get; set;}
// methods
- public abstract async void Quit() throws DBus.Error;
- public abstract async void Raise() throws DBus.Error;
+ public abstract async void Quit() throws IOError;
+ public abstract async void Raise() throws IOError;
}
-[DBus (name = "org.mpris.MediaPlayer2.Player")]
+/*[DBus (name = "org.mpris.MediaPlayer2.Player")]
public interface MprisPlayer : DBus.Object {
// properties
@@ -54,7 +54,7 @@ public interface FreeDesktopProperties : DBus.Object{
Value?> changed_properties,
string[] invalid);
}
-
+*/
/*
This class will entirely replace mpris-controller.vala hence why there is no
point in trying to get encorporate both into the same object model.
@@ -63,9 +63,10 @@ public class Mpris2Controller : GLib.Object
{
public static const string root_interface = "org.mpris.MediaPlayer2" ;
public MprisRoot mpris2_root {get; construct;}
- public MprisPlayer player {get; construct;}
- public PlayerController owner {get; construct;}
- public FreeDesktopProperties properties_interface {get; construct;}
+ /*public MprisPlayer player {get; construct;}
+ public FreeDesktopProperties properties_interface {get; construct;}*/
+
+ public PlayerController owner {get; construct;}
public Mpris2Controller(PlayerController ctrl)
{
@@ -74,23 +75,22 @@ public class Mpris2Controller : GLib.Object
construct{
try {
- var connection = DBus.Bus.get (DBus.BusType.SESSION);
- this.mpris2_root = (MprisRoot) connection.get_object (root_interface.concat(".").concat(this.owner.mpris_name),
- "/org/mpris/MediaPlayer2",
- root_interface);
- this.player = (MprisPlayer) connection.get_object (root_interface.concat(".").concat(this.owner.mpris_name),
+
+ this.mpris2_root = Bus.get_proxy_sync (BusType.SESSION, root_interface.concat(".").concat(this.owner.mpris_name),
+ "/org/mpris/MediaPlayer2");
+ /*this.player = (MprisPlayer) connection.get_object (root_interface.concat(".").concat(this.owner.mpris_name),
"/org/mpris/MediaPlayer2",
root_interface.concat(".Player"));
this.properties_interface = (FreeDesktopProperties) connection.get_object("org.freedesktop.Properties.PropertiesChanged",
"/org/mpris/MediaPlayer2");
- this.properties_interface.PropertiesChanged += property_changed_cb;
+ this.properties_interface.PropertiesChanged += property_changed_cb;*/
- } catch (DBus.Error e) {
+ } catch (IOError e) {
error("Problems connecting to the session bus - %s", e.message);
}
}
- public void property_changed_cb(string interface_source, HashTable<string, Value?> changed_properties, string[] invalid )
+ /*public void property_changed_cb(string interface_source, HashTable<string, Value?> changed_properties, string[] invalid )
{
debug("properties-changed for interface %s and owner %s", interface_source, this.owner.mpris_name);
@@ -115,11 +115,11 @@ public class Mpris2Controller : GLib.Object
metadata.property_set_bool(MENUITEM_PROP_VISIBLE,
metadata.populated(MetadataMenuitem.attributes_format()));
}
- }
+ }*/
- private GLib.HashTable<string, Value?> clean_metadata()
+ private GLib.HashTable<string, Value?>? clean_metadata()
{
- GLib.HashTable<string, Value?> changed_updates = this.player.Metadata;
+ /*GLib.HashTable<string, Value?> changed_updates = this.player.Metadata;
Value? artist_v = this.player.Metadata.lookup("xesam:artist");
if(artist_v != null){
string[] artists = (string[])this.player.Metadata.lookup("xesam:artist");
@@ -133,9 +133,11 @@ public class Mpris2Controller : GLib.Object
changed_updates.replace("mpris:length", duration/1000000);
}
return changed_updates;
+ */
+ return null;
}
- private TransportMenuitem.state determine_play_state(string status){
+ private TransportMenuitem.state determine_play_state(string? status){
if(status != null && status == "Playing"){
return TransportMenuitem.state.PLAYING;
}
@@ -145,22 +147,22 @@ public class Mpris2Controller : GLib.Object
public void initial_update()
{
TransportMenuitem.state update;
- if(this.player.PlaybackStatus == null){
+ /*if(this.player.PlaybackStatus == null){
update = TransportMenuitem.state.PAUSED;
- }
- else{
- update = determine_play_state(this.player.PlaybackStatus);
- }
- (this.owner.custom_items[PlayerController.widget_order.TRANSPORT] as TransportMenuitem).change_play_state(update);
- GLib.HashTable<string, Value?> cleaned_metadata = this.clean_metadata();
- this.owner.custom_items[PlayerController.widget_order.METADATA].update(cleaned_metadata,
- MetadataMenuitem.attributes_format());
+ }*/
+
+ update = determine_play_state(null);
+
+ (this.owner.custom_items[PlayerController.widget_order.TRANSPORT] as TransportMenuitem).change_play_state(TransportMenuitem.state.PAUSED);
+ GLib.HashTable<string, Value?>? cleaned_metadata = this.clean_metadata();
+ //this.owner.custom_items[PlayerController.widget_order.METADATA].update(cleaned_metadata,
+ // MetadataMenuitem.attributes_format());
}
public void transport_update(TransportMenuitem.action command)
{
debug("transport_event input = %i", (int)command);
- if(command == TransportMenuitem.action.PLAY_PAUSE){
+ /*if(command == TransportMenuitem.action.PLAY_PAUSE){
this.player.PlayPause.begin();
}
else if(command == TransportMenuitem.action.PREVIOUS){
@@ -168,26 +170,23 @@ public class Mpris2Controller : GLib.Object
}
else if(command == TransportMenuitem.action.NEXT){
this.player.Next.begin();
- }
+ }*/
}
public bool connected()
{
- return (this.player != null && this.mpris2_root != null);
+ return false;
}
public bool was_successfull(){
- if(this.mpris2_root == null || this.player == null){
return false;
- }
- return true;
}
public void expose()
{
if(this.connected() == true){
- this.mpris2_root.Raise.begin();
+ //this.mpris2_root.Raise.begin();
}
}
}
diff --git a/src/music-player-bridge.vala b/src/music-player-bridge.vala
index f13c2f4..3fc7efa 100644
--- a/src/music-player-bridge.vala
+++ b/src/music-player-bridge.vala
@@ -17,14 +17,12 @@ You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-using Indicate;
using Dbusmenu;
using Gee;
using GLib;
public class MusicPlayerBridge : GLib.Object
{
- private Listener listener;
private Dbusmenu.Menuitem root_menu;
private HashMap<string, PlayerController> registered_clients;
private FamiliarPlayersDB playersDB;
@@ -33,9 +31,6 @@ public class MusicPlayerBridge : GLib.Object
{
playersDB = new FamiliarPlayersDB();
registered_clients = new HashMap<string, PlayerController> ();
- listener = Listener.ref_default();
- listener.server_added.connect(on_server_added);
- listener.server_removed.connect(on_server_removed);
}
private void try_to_add_inactive_familiar_clients(){
@@ -76,7 +71,7 @@ public class MusicPlayerBridge : GLib.Object
}
}
- public void on_server_added(Indicate.ListenerServer object, string type)
+ /*public void on_server_added(Indicate.ListenerServer object, string type)
{
debug("MusicPlayerBridge -> on_server_added with value %s", type);
if(server_is_not_of_interest(type)) return;
@@ -139,7 +134,7 @@ public class MusicPlayerBridge : GLib.Object
return true;
}
return false;
- }
+ }*/
public void set_root_menu_item(Dbusmenu.Menuitem menu)
{
@@ -158,6 +153,9 @@ public class MusicPlayerBridge : GLib.Object
return app_info;
}
+ /**
+ TODO: clean up
+ **/
private static string? determine_key(owned string path)
{
var tokens = path.split("/");
diff --git a/src/player-controller.vala b/src/player-controller.vala
index e2ae4d7..46add60 100644
--- a/src/player-controller.vala
+++ b/src/player-controller.vala
@@ -178,9 +178,6 @@ public class PlayerController : GLib.Object
return result;
}
- // Temporarily we will need to handle to different mpris implemenations
- // Do it for now - a couple of weeks should see this messy carry on out of
- // the codebase.
public void determine_state()
{
if(this.mpris_bridge.connected() == true){