History log of /system/libhwbinder/include/hwbinder/IInterface.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a2ce3b82c4a30cc677c536a013a62d5405062bb9 12-Jan-2017 Yifan Hong <elsk@google.com> BpRefBase -> BpHwRefBase.

Test: mma
Test: croot && make
Bug: 33554989
Change-Id: I75bacd2a6b959658615b06fcebad9d24b3666a58
/system/libhwbinder/include/hwbinder/IInterface.h
dde40f31347a51aa7249cb192f97276c30d984f5 12-Jan-2017 Yifan Hong <elsk@google.com> BBinder -> BHwBinder.

Test: mma
Test: croot && make

Bug: 33554989
Change-Id: Ia1356012d0cc1aef56884bfbd1a6af2a2504ab23
/system/libhwbinder/include/hwbinder/IInterface.h
8cf9c7d3c36940b37e06b36e5b4b358b32f8ce53 07-Dec-2016 Martijn Coenen <maco@google.com> Stop supporting interface_cast.

(Hw)Binder defined macros that allow you to convert
a binder object to an interface. This was implemented
by having each interface contain a descriptor, that
would be checked in case of a local interface (stub).

In HIDL, interfaces support inheritance, and therefore
having a single interface descriptor is no longer enough
to deduce what types a binder object can safely be converted
to. We can use IBase::interfaceChain() for that now, together
with the new fromBinder() support function in libhidl.

IInterface remains, to still support the conversion the other
way around: from an interface to a binder object. This can be
refactored as well, but it requires some more work on IBase.

Test: mma, hidl_test, hidl_test_java
Bug: 33173166
Change-Id: Iac5cd92713e58d2889bce84bdfd59e78f3446680
/system/libhwbinder/include/hwbinder/IInterface.h
334305b8251aa5fc289158a4a4d2ec45e60feac6 11-Nov-2016 Steven Moreland <smoreland@google.com> Update for ::descriptor -> const char*.

Test: hidl_test/hidl_test_java
Bug: 32745840
Change-Id: I3283f40234c945e30f816d250fc30a1c8708de05
/system/libhwbinder/include/hwbinder/IInterface.h
07017e7906ce9285cdab4cc53d8e7ac4c3c706ae 22-Aug-2016 Martijn Coenen <maco@google.com> Support split between IFoo and IHwFoo.

We want to separate HIDL interfaces from their
transport: an IFoo interface used to contain both
the methods defined in the HIDL interface, as well
as hwbinder-specific methods.

In order to achieve a clear split, IFoo now only
implements the HIDL interface methods; IHwFoo is a
new base class implementing IFoo together with its
related hwbinder methods.

All the HWBINDER meta-data macros now operate on
IHwFoo instead of IFoo.

Another consequence is that the stub object, BnFoo, will
no longer be directly inherited from by service
implementations. Instead, servers will implement IFoo,
and BnFoo will store a pointer to this implementation
to be able to forward calls to it.

Finally, use the new registerService() / getService()
methods defined on the interface itself to register
and retrieve services. This automatically takes care
of wrapping the right transport objects around the
interfaces.

Bug: 30588200
Change-Id: I2ae92a45f4688825fd1275e72ffa692049156cc2
/system/libhwbinder/include/hwbinder/IInterface.h
85af321217c311db4ed06a3c32f4e1b0b7de3b89 05-Aug-2016 Andreas Huber <andih@google.com> libhwbinder: multiple fixes

-- fixes for hidl_vec
-- fixes for hidl_string
-- fix for utf8_to_utf16

commit 8eb3cdba805b012184c63371d1df824e39361584
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 5 14:30:16 2016 -0700

more tweaking of hidl_vec<> APIs to hide the underlying implementation.

Change-Id: Ia5ad5bdec3d8e393017e89c09bdfbf4105046b42

commit 088a73721bcd3682c1a4e0a67d32453b9b616d4d
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 3 19:40:33 2016 -0700

fix for utf8_to_utf16

Change-Id: I4cba2b42af9f33fab78c4f6b914c7a2fa1bbc16d

commit f51a1ae895c69fd060ec8cf6367c6e174200ec75
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 3 15:50:44 2016 -0700

Squashed commit of the following:

commit 8b5857ae82b3ad183a4d18b4fc1ff38bb2472124
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 3 15:50:15 2016 -0700

Some fixes to hidl_string, buffer must never be NULL.

Change-Id: I955715067ea9c0fb1fd7eff276d24546cd9a5832

commit b04645e7add0ccd72f1382f3ae9f67716885484b
Author: Andreas Huber <andih@google.com>
Date: Mon Aug 1 14:57:57 2016 -0700

Squashed commit of the following:

commit 2492f80dc14d992980f03bbf97cd9fb015ff9d3f
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 11:47:32 2016 -0700

read/writeEmbeddedBuffer APIs changed from uint64_t to size_t

for both handles and offsets.

Change-Id: Ic690ebe490600476d4f489e1b2cdd97c147dfd8a

commit 29627bfef7a1bfe2b8711fd7654219131eee8802
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 10:58:50 2016 -0700

export headers

Change-Id: I5ae8f13345f0db90d576caa5d3abc7f74921be9f

commit a57ee655cca30ed69cf3f2b293d9843a6c68c310
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 27 16:27:08 2016 -0700

Squashed commit of the following:

commit 0d8eefe2b6a1b2f23f8fff39a23540e6c1763e95
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 27 16:24:53 2016 -0700

properly call elements' copy constructors when resizing a vec<>.

Change-Id: I56dc702f3f4281c91da1b24726e237807adf699f

commit cf179466d5fd7bdee9934f92aa48350d5ecd7971
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 25 14:48:30 2016 -0700

Revert "remove ambiguous {read,write}Byte APIs."

This reverts commit 7ee3d19f1c1d5a676ebf8c8fab09dd5f0a136d7e.

commit 7d0b7fb9c7790e8fd100bc71c6da3405c4cc533a
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 25 14:23:50 2016 -0700

Squashed commit of the following:

commit 770848f07af482e7015d5b73618db4a97bd37f01
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 25 14:23:15 2016 -0700

Revert "{IMPLEMENT_META,DECLARE_META,CHECK}_INTERFACE => ...HW_INTERFACE"

This reverts commit ee7a075444d7c064e340ed478d9f1becab280aa9.

commit 6bed5ea2e60d7c198679a5e6a3bbc62e276b3797
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 22 12:49:22 2016 -0700

hidl_string buffers are always '\0' terminated now.

Change-Id: Ic6fd4a92ea4efb6e5980f1963d5275845ebc5daf

commit 7ee3d19f1c1d5a676ebf8c8fab09dd5f0a136d7e
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 21 13:31:10 2016 -0700

remove ambiguous {read,write}Byte APIs.

Change-Id: I63914a598e40b3ae79e765df35f0b6f9cca0612a

commit ee7a075444d7c064e340ed478d9f1becab280aa9
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 21 11:24:00 2016 -0700

{IMPLEMENT_META,DECLARE_META,CHECK}_INTERFACE => ...HW_INTERFACE

to avoid clashes with the same macros in binder/IInterface.h

Change-Id: Ie309fb78eb6b123a71a764e8ec3a623d5cdb0b77

commit 95042899439eac72107b09156dc58e23a06cb9b4
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 21 11:23:31 2016 -0700

add more fleshed out interfaces for hidl_string and hidl_vec<T>

Change-Id: Ifaa9ba77d9a16932bf0673f39269b1b1a426e35e

commit 20edb914bc41e7e6b197082b583f5a55be9a592c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 18 11:59:16 2016 -0700

Squashed commit of the following:

commit d4b74a51522d14f0c1aa5e56bd75c4d02dce4d8c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 18 10:49:21 2016 -0700

add missing unsigned integer read/write methods to Parcel

Change-Id: If423ce3996b8a8b19298e7a0896253e7ef25ed5d

commit ea402af23c9a228f3ad0245383848bb85c1b8dd7
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 14 16:40:01 2016 -0700

Squashed commit of the following:

commit 1e80f41dfaf8c97d0591fa84e107dbfe5ca1285a
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 14 14:36:46 2016 -0700

HidlSupport

Change-Id: I9f825e533bc30dab8cd7556a2e38ef00425aa711

commit 34e517bcb0421d13b079273e4f92f9f0276aed88
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 14 10:03:16 2016 -0700

Fixing writeBuffer and writeEmbeddedBuffer signatures to take a const void *.

Also fixing IInterface to use "absolute" namespace references.

Change-Id: I195e23bc7344eb25eda958ed6406fd11c6b3156d

commit 98190aac4240d38afcef2d756593885143cc6309
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 12 09:52:18 2016 -0700

add Parcel::{read,write}{Int8,Int16}

Change-Id: I927e60ba04d08a0d9249fa8151b5d24f21a94e10

commit 8e89817dfd3822680d6d38aa8a2f4d10782b0f0b
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 11 13:14:30 2016 -0700

utf16_to_utf8 now requires specification of the destination buffer's size.

Change-Id: Ifd16bf39388d8478170ad09902b00305291375ce

Change-Id: Icbff4d910a7ec7120c80c8b861c54228b252bae8

Change-Id: Icbff4d910a7ec7120c80c8b861c54228b252bae8

Change-Id: I88af2ff240e087804b4257331f0545ca2aed405a

Change-Id: Icbff4d910a7ec7120c80c8b861c54228b252bae8

Change-Id: Icbff4d910a7ec7120c80c8b861c54228b252bae8

Change-Id: Icbff4d910a7ec7120c80c8b861c54228b252bae8
/system/libhwbinder/include/hwbinder/IInterface.h
f75a23d54cc9e5f7b6b976e65b6ec346178f306d 01-Aug-2016 Martijn Coenen <maco@google.com> Move android::hidl to android::hardware.

Also moved Status and PersistableBundle out of their
respective 'binder' and 'os' namespaces.

Bug: 30507513
Change-Id: I8822070049a9c1b1b89753aaeb148b05b2aa851d
/system/libhwbinder/include/hwbinder/IInterface.h
c2d9862311bb7325f0b76a931bc518566960be47 25-Jul-2016 Andreas Huber <andih@google.com> CHECK_INTERFACE => CHECK_HWBINDER_INTERFACE

Change-Id: Ic16aa960798a17e80727a1515549a6a82ba5248e
/system/libhwbinder/include/hwbinder/IInterface.h
5bc3a9250567e779dbad7b645c72a7d8684d19d6 25-Jul-2016 Martijn Coenen <maco@google.com> Rename _META macros.

To avoid clashes with libbinder.

Change-Id: Ia90dc043dfe78967429c4c0e9aeb3480d21b68ed
/system/libhwbinder/include/hwbinder/IInterface.h
e01f4f2b38beb5799dece8742eef5d70d131dbd3 12-May-2016 Martijn Coenen <maco@google.com> Move hwbinder to the android::hidl namespace.

This should prevent clashes if projects do want
to link in both libbinder and libhwbinder.

Also had to pull in Static.h from
frameworks/native/include/private/binder, as that
was not part of the history we pulled from
frameworks/native.

Change-Id: Ib7379e61229c3e68478f9c5530875292e1d51ded
/system/libhwbinder/include/hwbinder/IInterface.h
4080edcfb5810a4a1817c03740f5f1bb19815ae1 04-May-2016 Martijn Coenen <maco@google.com> Make libhwbinder build.

- Moved Android.mk to root
- Changed module name to libhwbinder
- Updated all references to include/binder to include/hwbinder
- Removed services that we know will certainly not exist in hwbinder:
* AppOps
* BatteryStats
* MediaResourceMonitor
* ProcessInfoService
* PermissionCache
- Removed tests (we'll have new ones).

Change-Id: Ie8cc7d3a36032ad42c02b46655f0e015033d232c
/system/libhwbinder/include/hwbinder/IInterface.h
461a6724be4bfe9ff484e64f6052abc9953e8fc8 14-Nov-2014 Marco Nelissen <marcone@google.com> Replace IInterface::asBinder() with a static

so we can do NULL checks again, and update calls to IInterface::asBinder()
to use the new static version.

Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
/system/libhwbinder/include/hwbinder/IInterface.h
8afdeda3b5e47ba96b5c029946838c0991a26f00 03-Nov-2009 Michael Richardson <mcr@credil.org> Allow META* macros outside of the framework

The META* macros are useful outside of the framework
for other systems implementing Binder interfaces, but
they depend upon the android namespace. This includes
the appropriate namespace operations, which should be
sane even in that android namespace.

Change-Id: If600156c65191f51f487d0ee301d9f9f532b263d
/system/libhwbinder/include/hwbinder/IInterface.h
a6286c36406f6bb21b53d92dc165c603365b358b 23-May-2009 Mathias Agopian <mathias@google.com> some work to try to reduce the code size of some native libraries

- make sure that all binder Bn classes define a ctor and dtor in their respective library.
This avoids duplication of the ctor/dtor in libraries where these objects are instantiated.
This is also cleaner, should we want these ctor/dtor to do something one day.

- same change as above for some Bp classes and various other non-binder classes

- moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere.

- improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere

- IBinder::getInterfaceDescriptor() now returns a "const String16&" instead of String16, which saves calls to String16 and ~String16

- implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called.
The cache makes BpBinder bigger, so we need to figure out if we need this method at all.
/system/libhwbinder/include/hwbinder/IInterface.h
164757037f944dae1eb5f76176570b2e43a37b55 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
/system/libhwbinder/include/hwbinder/IInterface.h