def get_all(self, fmt=None, order=None, offset=None, maxcount=None, \ fields=None): """Fetches the entire selected phonebook. Actual data is returned via the `on_transfer_complete` event, if the transfer is successful. This does nothing if a transfer is in progress. """ if self._transfer is not None: return # all filters are optional filters = {} if fmt is not None: filters.update({"Format": fmt}) if order is not None: filters.update({"Order": order}) if offset is not None: filters.update({"Offset": UInt16(offset)}) if maxcount is not None: filters.update({"MaxCount": UInt16(maxcount)}) if fields is not None: filters.update({"Fields": Array(fields, signature="s")}) # start the transfer tx_path, tx_props = self._client.proxy.PullAll("", filters) self._transfer = Bluez5Utils.get_transfer(bus=self._session_bus, transfer_path=tx_path) self._transfer_file = tx_props["Filename"]
def register(self, dbus_path, uuid, codec, capabilities): """Registers our capabilities with bluez5. """ self._media_proxy.proxy.RegisterEndpoint( dbus_path, { "UUID": uuid, "Codec": Byte(codec), "Capabilities": Array(capabilities, signature="y") })
def run_synchronous_tests(self, obj): # We can't test that coercion works correctly unless the server has # sent us introspection data. Java doesn't :-/ have_signatures = True # "Single tests" if have_signatures: self.assert_method_eq(INTERFACE_SINGLE_TESTS, 6, 'Sum', [1, 2, 3]) self.assert_method_eq(INTERFACE_SINGLE_TESTS, 6, 'Sum', [b'\x01', b'\x02', b'\x03']) self.assert_method_eq(INTERFACE_SINGLE_TESTS, 6, 'Sum', [Byte(1), Byte(2), Byte(3)]) self.assert_method_eq(INTERFACE_SINGLE_TESTS, 6, 'Sum', ByteArray(b'\x01\x02\x03')) # Main tests self.assert_method_eq(INTERFACE_TESTS, String('foo', variant_level=1), 'Identity', String('foo')) if is_py2: self.assert_method_eq(INTERFACE_TESTS, String('foo', variant_level=1), 'Identity', UTF8String('foo')) self.assert_method_eq(INTERFACE_TESTS, Byte(42, variant_level=1), 'Identity', Byte(42)) self.assert_method_eq(INTERFACE_TESTS, Byte(42, variant_level=23), 'Identity', Byte(42, variant_level=23)) self.assert_method_eq(INTERFACE_TESTS, Double(42.5, variant_level=1), 'Identity', 42.5) self.assert_method_eq(INTERFACE_TESTS, Double(-42.5, variant_level=1), 'Identity', -42.5) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, String('foo', variant_level=1), 'Identity', 'foo') self.assert_method_eq(INTERFACE_TESTS, Byte(42, variant_level=1), 'Identity', Byte(42)) self.assert_method_eq(INTERFACE_TESTS, Double(42.5, variant_level=1), 'Identity', Double(42.5)) self.assert_method_eq(INTERFACE_TESTS, Double(-42.5, variant_level=1), 'Identity', -42.5) for i in (0, 42, 255): self.assert_method_eq(INTERFACE_TESTS, Byte(i), 'IdentityByte', Byte(i)) for i in (True, False): self.assert_method_eq(INTERFACE_TESTS, i, 'IdentityBool', i) for i in (-0x8000, 0, 42, 0x7fff): self.assert_method_eq(INTERFACE_TESTS, i, 'IdentityInt16', Int16(i)) for i in (0, 42, 0xffff): self.assert_method_eq(INTERFACE_TESTS, i, 'IdentityUInt16', UInt16(i)) for i in (-0x7fffffff - 1, 0, 42, 0x7fffffff): self.assert_method_eq(INTERFACE_TESTS, i, 'IdentityInt32', Int32(i)) for i in (0, 42, 0xffffffff): i = make_long(i) self.assert_method_eq(INTERFACE_TESTS, i, 'IdentityUInt32', UInt32(i)) MANY = 1 for n in (0x8000, 0x10000, 0x10000, 0x10000): MANY *= make_long(n) for i in (-MANY, 0, 42, MANY - 1): self.assert_method_eq(INTERFACE_TESTS, i, 'IdentityInt64', Int64(i)) for i in (0, 42, 2 * MANY - 1): self.assert_method_eq(INTERFACE_TESTS, i, 'IdentityUInt64', UInt64(i)) self.assert_method_eq(INTERFACE_TESTS, 42.3, 'IdentityDouble', 42.3) for i in ('', 'foo'): self.assert_method_eq(INTERFACE_TESTS, i, 'IdentityString', i) for i in ('\xa9', b'\xc2\xa9'): self.assert_method_eq(INTERFACE_TESTS, '\xa9', 'IdentityString', i) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, Byte(0x42), 'IdentityByte', b'\x42') self.assert_method_eq(INTERFACE_TESTS, True, 'IdentityBool', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityInt16', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityUInt16', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityInt32', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityUInt32', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityInt64', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityUInt64', 42) self.assert_method_eq(INTERFACE_TESTS, 42.0, 'IdentityDouble', 42) self.assert_method_eq( INTERFACE_TESTS, [ Byte(b'\x01', variant_level=1), Byte(b'\x02', variant_level=1), Byte(b'\x03', variant_level=1) ], 'IdentityArray', Array([Byte(b'\x01'), Byte(b'\x02'), Byte(b'\x03')], signature='v')) self.assert_method_eq( INTERFACE_TESTS, [ Int32(1, variant_level=1), Int32(2, variant_level=1), Int32(3, variant_level=1) ], 'IdentityArray', Array([Int32(1), Int32(2), Int32(3)], signature='v')) self.assert_method_eq( INTERFACE_TESTS, [ String('a', variant_level=1), String('b', variant_level=1), String('c', variant_level=1) ], 'IdentityArray', Array([String('a'), String('b'), String('c')], signature='v')) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, [ Byte(b'\x01', variant_level=1), Byte(b'\x02', variant_level=1), Byte(b'\x03', variant_level=1) ], 'IdentityArray', ByteArray(b'\x01\x02\x03')) self.assert_method_eq( INTERFACE_TESTS, [ Int32(1, variant_level=1), Int32(2, variant_level=1), Int32(3, variant_level=1) ], 'IdentityArray', [Int32(1), Int32(2), Int32(3)]) self.assert_method_eq(INTERFACE_TESTS, [ String('a', variant_level=1), String('b', variant_level=1), String('c', variant_level=1) ], 'IdentityArray', ['a', 'b', 'c']) self.assert_method_eq(INTERFACE_TESTS, [Byte(1), Byte(2), Byte(3)], 'IdentityByteArray', ByteArray(b'\x01\x02\x03')) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, [1, 2, 3], 'IdentityByteArray', [b'\x01', b'\x02', b'\x03']) self.assert_method_eq(INTERFACE_TESTS, [False, True], 'IdentityBoolArray', [False, True]) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, [False, True, True], 'IdentityBoolArray', [0, 1, 2]) self.assert_method_eq( INTERFACE_TESTS, [1, 2, 3], 'IdentityInt16Array', [Int16(1), Int16(2), Int16(3)]) self.assert_method_eq( INTERFACE_TESTS, [1, 2, 3], 'IdentityUInt16Array', [UInt16(1), UInt16(2), UInt16(3)]) self.assert_method_eq( INTERFACE_TESTS, [1, 2, 3], 'IdentityInt32Array', [Int32(1), Int32(2), Int32(3)]) self.assert_method_eq( INTERFACE_TESTS, [1, 2, 3], 'IdentityUInt32Array', [UInt32(1), UInt32(2), UInt32(3)]) self.assert_method_eq( INTERFACE_TESTS, [1, 2, 3], 'IdentityInt64Array', [Int64(1), Int64(2), Int64(3)]) self.assert_method_eq( INTERFACE_TESTS, [1, 2, 3], 'IdentityUInt64Array', [UInt64(1), UInt64(2), UInt64(3)]) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, [1, 2, 3], 'IdentityInt16Array', [1, 2, 3]) self.assert_method_eq(INTERFACE_TESTS, [1, 2, 3], 'IdentityUInt16Array', [1, 2, 3]) self.assert_method_eq(INTERFACE_TESTS, [1, 2, 3], 'IdentityInt32Array', [1, 2, 3]) self.assert_method_eq(INTERFACE_TESTS, [1, 2, 3], 'IdentityUInt32Array', [1, 2, 3]) self.assert_method_eq(INTERFACE_TESTS, [1, 2, 3], 'IdentityInt64Array', [1, 2, 3]) self.assert_method_eq(INTERFACE_TESTS, [1, 2, 3], 'IdentityUInt64Array', [1, 2, 3]) self.assert_method_eq(INTERFACE_TESTS, [1.0, 2.5, 3.1], 'IdentityDoubleArray', [1.0, 2.5, 3.1]) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, [1.0, 2.5, 3.1], 'IdentityDoubleArray', [1, 2.5, 3.1]) self.assert_method_eq(INTERFACE_TESTS, ['a', 'b', 'c'], 'IdentityStringArray', ['a', 'b', 'c']) self.assert_method_eq( INTERFACE_TESTS, 6, 'Sum', [Int32(1), Int32(2), Int32(3)]) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, 6, 'Sum', [1, 2, 3]) self.assert_InvertMapping_eq(INTERFACE_TESTS, { 'fps': ['unreal', 'quake'], 'rts': ['warcraft'] }, 'InvertMapping', { 'unreal': 'fps', 'quake': 'fps', 'warcraft': 'rts' }) self.assert_method_eq(INTERFACE_TESTS, ('a', 1, 2), 'DeStruct', ('a', UInt32(1), Int16(2))) self.assert_method_eq(INTERFACE_TESTS, Array([String('x', variant_level=1)]), 'Primitize', [String('x', variant_level=1)]) self.assert_method_eq(INTERFACE_TESTS, Array([String('x', variant_level=1)]), 'Primitize', [String('x', variant_level=23)]) self.assert_method_eq( INTERFACE_TESTS, Array([ String('x', variant_level=1), Byte(1, variant_level=1), Byte(2, variant_level=1) ]), 'Primitize', Array([String('x'), Byte(1), Byte(2)], signature='v')) self.assert_method_eq( INTERFACE_TESTS, Array([ String('x', variant_level=1), Byte(1, variant_level=1), Byte(2, variant_level=1) ]), 'Primitize', Array([String('x'), Array([Byte(1), Byte(2)])], signature='v')) self.assert_method_eq(INTERFACE_TESTS, Boolean(False), 'Invert', True) self.assert_method_eq(INTERFACE_TESTS, Boolean(True), 'Invert', False) if have_signatures: self.assert_method_eq(INTERFACE_TESTS, Boolean(False), 'Invert', 42) self.assert_method_eq(INTERFACE_TESTS, Boolean(True), 'Invert', 0)
self.assert_method_eq(INTERFACE_TESTS, True, 'IdentityBool', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityInt16', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityUInt16', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityInt32', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityUInt32', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityInt64', 42) self.assert_method_eq(INTERFACE_TESTS, 42, 'IdentityUInt64', 42) self.assert_method_eq(INTERFACE_TESTS, 42.0, 'IdentityDouble', 42) self.assert_method_eq( INTERFACE_TESTS, [ Byte('\x01', variant_level=1), Byte('\x02', variant_level=1), Byte('\x03', variant_level=1) ], 'IdentityArray', Array([Byte('\x01'), Byte('\x02'), Byte('\x03')], signature='v')) self.assert_method_eq( INTERFACE_TESTS, [ Int32(1, variant_level=1), Int32(2, variant_level=1), Int32(3, variant_level=1) ], 'IdentityArray', Array([Int32(1), Int32(2), Int32(3)], signature='v')) self.assert_method_eq( INTERFACE_TESTS, [ String(u'a', variant_level=1), String(u'b', variant_level=1), String(u'c', variant_level=1) ], 'IdentityArray', Array([String('a'), String('b'),