introspect method

  1. @override
List<DBusIntrospectInterface> introspect()

Called to get introspection information about this object.

Implementation

@override
List<DBusIntrospectInterface> 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)
    ]),
    DBusIntrospectInterface('org.mpris.MediaPlayer2.Player', methods: [
      DBusIntrospectMethod('Next'),
      DBusIntrospectMethod('Previous'),
      DBusIntrospectMethod('Pause'),
      DBusIntrospectMethod('PlayPause'),
      DBusIntrospectMethod('Stop'),
      DBusIntrospectMethod('Play'),
      DBusIntrospectMethod('Seek', args: [
        DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.in_,
            name: 'Offset')
      ]),
      DBusIntrospectMethod('SetPosition', args: [
        DBusIntrospectArgument(DBusSignature('o'), DBusArgumentDirection.in_,
            name: 'TrackId'),
        DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.in_,
            name: 'Position')
      ]),
      DBusIntrospectMethod('OpenUri', args: [
        DBusIntrospectArgument(DBusSignature('s'), DBusArgumentDirection.in_,
            name: 'Uri')
      ])
    ], signals: [
      DBusIntrospectSignal('Seeked', args: [
        DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.out,
            name: 'Position')
      ])
    ], properties: [
      DBusIntrospectProperty('PlaybackStatus', DBusSignature('s'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('LoopStatus', DBusSignature('s'),
          access: DBusPropertyAccess.readwrite),
      DBusIntrospectProperty('Rate', DBusSignature('d'),
          access: DBusPropertyAccess.readwrite),
      DBusIntrospectProperty('Metadata', DBusSignature('a{sv}'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('Volume', DBusSignature('d'),
          access: DBusPropertyAccess.readwrite),
      DBusIntrospectProperty('Position', DBusSignature('x'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('MinimumRate', DBusSignature('d'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('MaximumRate', DBusSignature('d'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('CanGoNext', DBusSignature('b'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('CanGoPrevious', DBusSignature('b'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('CanPlay', DBusSignature('b'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('CanPause', DBusSignature('b'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('CanSeek', DBusSignature('b'),
          access: DBusPropertyAccess.read),
      DBusIntrospectProperty('CanControl', DBusSignature('b'),
          access: DBusPropertyAccess.read)
    ])
  ];
}