// This file was generated using the following command and may be overwritten. // dart-dbus generate-object defs/org.mpris.MediaPlayer2.xml import 'package:bitsdojo_window/bitsdojo_window.dart'; import 'package:dbus/dbus.dart'; class Media_Player extends DBusObject { /// Creates a new object to expose on [path]. Media_Player() : super(DBusObjectPath('/org/mpris/MediaPlayer2')); /// Gets value of property org.mpris.MediaPlayer2.CanQuit Future getCanQuit() async { return DBusMethodSuccessResponse([const DBusBoolean(true)]); } /// Gets value of property org.mpris.MediaPlayer2.Fullscreen Future getFullscreen() async { return DBusMethodSuccessResponse([const DBusBoolean(false)]); } /// Sets property org.mpris.MediaPlayer2.Fullscreen Future setFullscreen(bool value) async { return DBusMethodSuccessResponse(); } /// Gets value of property org.mpris.MediaPlayer2.CanSetFullscreen Future getCanSetFullscreen() async { return DBusMethodSuccessResponse([const DBusBoolean(false)]); } /// Gets value of property org.mpris.MediaPlayer2.CanRaise Future getCanRaise() async { return DBusMethodSuccessResponse([const DBusBoolean(false)]); } /// Gets value of property org.mpris.MediaPlayer2.HasTrackList Future getHasTrackList() async { return DBusMethodSuccessResponse([const DBusBoolean(false)]); } /// Gets value of property org.mpris.MediaPlayer2.Identity Future getIdentity() async { return DBusMethodSuccessResponse([const DBusString("Spotube")]); } /// Gets value of property org.mpris.MediaPlayer2.DesktopEntry Future getDesktopEntry() async { return DBusMethodSuccessResponse([const DBusString("spotube")]); } /// Gets value of property org.mpris.MediaPlayer2.SupportedUriSchemes Future getSupportedUriSchemes() async { return DBusMethodSuccessResponse([ DBusArray.string(["http"]) ]); } /// Gets value of property org.mpris.MediaPlayer2.SupportedMimeTypes Future getSupportedMimeTypes() async { return DBusMethodSuccessResponse([ DBusArray.string(["audio/mpeg"]) ]); } /// Implementation of org.mpris.MediaPlayer2.Raise() Future doRaise() async { return DBusMethodSuccessResponse(); } /// Implementation of org.mpris.MediaPlayer2.Quit() Future doQuit() async { appWindow.close(); return DBusMethodSuccessResponse(); } @override List introspect() { return [ DBusIntrospectInterface('org.mpris.MediaPlayer2', methods: [ DBusIntrospectMethod('Raise'), DBusIntrospectMethod('Quit') ], properties: [ DBusIntrospectProperty('CanQuit', DBusSignature('b'), access: DBusPropertyAccess.read), DBusIntrospectProperty('Fullscreen', DBusSignature('b'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('CanSetFullscreen', DBusSignature('b'), access: DBusPropertyAccess.read), DBusIntrospectProperty('CanRaise', DBusSignature('b'), access: DBusPropertyAccess.read), DBusIntrospectProperty('HasTrackList', DBusSignature('b'), access: DBusPropertyAccess.read), DBusIntrospectProperty('Identity', DBusSignature('s'), access: DBusPropertyAccess.read), DBusIntrospectProperty('DesktopEntry', DBusSignature('s'), access: DBusPropertyAccess.read), DBusIntrospectProperty('SupportedUriSchemes', DBusSignature('as'), access: DBusPropertyAccess.read), DBusIntrospectProperty('SupportedMimeTypes', DBusSignature('as'), access: DBusPropertyAccess.read) ]) ]; } @override Future handleMethodCall(DBusMethodCall methodCall) async { if (methodCall.interface == 'org.mpris.MediaPlayer2') { if (methodCall.name == 'Raise') { if (methodCall.values.isNotEmpty) { return DBusMethodErrorResponse.invalidArgs(); } return doRaise(); } else if (methodCall.name == 'Quit') { if (methodCall.values.isNotEmpty) { return DBusMethodErrorResponse.invalidArgs(); } return doQuit(); } else { return DBusMethodErrorResponse.unknownMethod(); } } else { return DBusMethodErrorResponse.unknownInterface(); } } @override Future getProperty(String interface, String name) async { if (interface == 'org.mpris.MediaPlayer2') { if (name == 'CanQuit') { return getCanQuit(); } else if (name == 'Fullscreen') { return getFullscreen(); } else if (name == 'CanSetFullscreen') { return getCanSetFullscreen(); } else if (name == 'CanRaise') { return getCanRaise(); } else if (name == 'HasTrackList') { return getHasTrackList(); } else if (name == 'Identity') { return getIdentity(); } else if (name == 'DesktopEntry') { return getDesktopEntry(); } else if (name == 'SupportedUriSchemes') { return getSupportedUriSchemes(); } else if (name == 'SupportedMimeTypes') { return getSupportedMimeTypes(); } else { return DBusMethodErrorResponse.unknownProperty(); } } else { return DBusMethodErrorResponse.unknownProperty(); } } @override Future setProperty( String interface, String name, DBusValue value) async { if (interface == 'org.mpris.MediaPlayer2') { if (name == 'CanQuit') { return DBusMethodErrorResponse.propertyReadOnly(); } else if (name == 'Fullscreen') { if (value.signature != DBusSignature('b')) { return DBusMethodErrorResponse.invalidArgs(); } return setFullscreen((value as DBusBoolean).value); } else if (name == 'CanSetFullscreen') { return DBusMethodErrorResponse.propertyReadOnly(); } else if (name == 'CanRaise') { return DBusMethodErrorResponse.propertyReadOnly(); } else if (name == 'HasTrackList') { return DBusMethodErrorResponse.propertyReadOnly(); } else if (name == 'Identity') { return DBusMethodErrorResponse.propertyReadOnly(); } else if (name == 'DesktopEntry') { return DBusMethodErrorResponse.propertyReadOnly(); } else if (name == 'SupportedUriSchemes') { return DBusMethodErrorResponse.propertyReadOnly(); } else if (name == 'SupportedMimeTypes') { return DBusMethodErrorResponse.propertyReadOnly(); } else { return DBusMethodErrorResponse.unknownProperty(); } } else { return DBusMethodErrorResponse.unknownProperty(); } } @override Future getAllProperties(String interface) async { var properties = {}; if (interface == 'org.mpris.MediaPlayer2') { properties['CanQuit'] = (await getCanQuit()).returnValues[0]; properties['Fullscreen'] = (await getFullscreen()).returnValues[0]; properties['CanSetFullscreen'] = (await getCanSetFullscreen()).returnValues[0]; properties['CanRaise'] = (await getCanRaise()).returnValues[0]; properties['HasTrackList'] = (await getHasTrackList()).returnValues[0]; properties['Identity'] = (await getIdentity()).returnValues[0]; properties['DesktopEntry'] = (await getDesktopEntry()).returnValues[0]; properties['SupportedUriSchemes'] = (await getSupportedUriSchemes()).returnValues[0]; properties['SupportedMimeTypes'] = (await getSupportedMimeTypes()).returnValues[0]; } return DBusMethodSuccessResponse([DBusDict.stringVariant(properties)]); } }