• Home
  • History
  • Annotate
  • only in /system/libhidl/base/include/hidl/
History log of /system/libhidl/base/include/hidl/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a67521288530900cd58b2b1c20c150f337672317 28-Dec-2017 Steven Moreland <smoreland@google.com> Introduce hidl_bitfield.

This is an alias for the underlying type of the enum and
provides more type information than the underlying type alone.

Bug: 70979815
Test: all hidl-gen host tests
Change-Id: Ib9ff14c0ec1c9e50fa1952fb76eb8cfbaea1316a
idlSupport.h
1f04810bf3bf8e37266b1eae0a27a0e54921556a 01-Dec-2017 Justin Yun <justinyun@google.com> Insert vndk version to hal library path strings

If ro.vndk.version has <version>, "vndk-sp-<version>" directory must
be used instead of "vndk-sp" directory.

Bug: 69984421
Test: 1. build with all vndk snapshot patches included.
2. mv /system/lib[64]/vndk and /system/lib[64]/vndk-sp
directories to /system/lib[64]/vndk-28 and
/system/lib[64]/vndk-sp-28.
3. set "ro.vndk.version" to 28 in /vendor/default.prop.
4. make vbmeta.img skip verity.
5. "make snod" and "make vnod" to build system/vendor images.
6. flash the image to device and check if YouTube plays with
sound.

Change-Id: I02473090c8b9a5281a9290c9c0b9ee64702e4304
idlInternal.h
62a38dfd2d846f23f609a492ffcc21b85baed5ff 22-Nov-2017 Janis Danisevskis <jdanis@google.com> Fix comparisson operation of const char* with hidl_string

The arguments to the strcmp function were flipped.

Test: Would have caught this ;-)
Change-Id: I1f7379a4a6537790a269ebe2c1874135713e4ca4
idlSupport.h
abce0c749bff42225e35fa4e2a21fa0d632af706 18-Nov-2017 Steven Moreland <smoreland@google.com> Add global definition of hidl_enum_iterator.

Every HIDL generated enum generates an implementation of this
function.

Bug: 68715899
Test: hidl_test
Change-Id: I697f86990542435955090ec6d07e8a80d7dfecd9
idlSupport.h
8e42f5ae87e907e353fa8d094013b9431a9b8cda 09-Nov-2017 Howard Chen <howardsoc@google.com> Refine HidlMemory

Add construct from a const hidl_memory& so that we can easily
copy it out of a synchronous callback

Bug: 67758915
Test: hidl_test
Change-Id: I0e10cc4c9321197787657f957ea184a5e7262744
idlSupport.h
280af0a664802cc7331ba134fdfeed57027f21cd 20-Oct-2017 Howard Chen <howardsoc@google.com> Fix ~HidlMemory

The ~HidlMemory is used to work around the weak vtable problem.
Set its permission as public to avoid side effect.

Bug: 67758915
Test: compile sailfish in aosp
Change-Id: If51eacfce72aecc5f50372126c0a86994b54c076
idlSupport.h
3f8c4164067e0239c7f1cdd020d397ce42a9e641 11-Oct-2017 Steven Moreland <smoreland@google.com> Better constructors for hidl_memory.

Allow hidl_memory to take ownership of a handle. A hidl_handle
object can now be moved into a hidl_memory object. This way the
lifetime of the handle corresponds to the lifetime of the
hidl_memory object.

Test: w/ mapMemory + drm
Bug: 34234561
Change-Id: I8cd6bbc35165c5a595538c0c17306549b01ba8a2
idlSupport.h
9bc35c40a958afcc5711c5c4b306ddc7b68974b0 13-Oct-2017 Howard Chen <howardsoc@google.com> Add HidlMemory

HidlMemory is a wrapper class to support sp<> for hidl_memory. It
also provides a factory method to create an instance of the 'ashmem'
hidl_memory from a opened file descriptor. The number of factory
methods can be increase to support other type of hidl_memory without
break the ABI.

Change-Id: I18176aecdde1c5c1e10582a4a2e87fe466730e17
Bug: 67758915
Test: with the master branch on the Pixel phone.
idlSupport.h
aa661fc957c8d3acbc0abd409f5e4a16a65ce3b1 06-Oct-2017 Steven Moreland <smoreland@google.com> Remove flaky test and clarify documentation.

Resize doesn't set primitive types to zero.

Test: hidl's run_all_device_tests.sh
Change-Id: I0b7031bc563e3201815ac238ea5a375602393773
idlSupport.h
96e9de049f4dd2ee7d02eaf9a662e286964c2039 29-Sep-2017 Steven Moreland <smoreland@google.com> Add size constructor to hidl_vec.

This pattern is everywhere:
hidl_vec<...> x;
x.resize(3);

It doesn't look very pretty.

Test: libhidl_test
Change-Id: I2776e81afbe6f12e34cfb31a2f40d539554f0cbc
idlSupport.h
fd9ecee04372ce0d47d4df7a05a56e13d9c0e1b4 28-Sep-2017 Stephen Hines <srhines@google.com> Switch from NULL -> nullptr.

Test: Builds.
Change-Id: Idcdd337e6576d612aa6c18a431b3dfe0215efde0
idlSupport.h
ff189a023ccda656aa26f421c516f7feb9a138d1 16-Sep-2017 Steven Moreland <smoreland@google.com> libhidladapter: Support for HIDL adapters

A HIDL adapter takes an x.(y+1) interface and registers
it as an x.y interface for testing.

This library allows someone or something to run an adapter.

Note: this requires b/62303973 to properly mock a lower interface version.
Note: this requires adapters to run as root to get around sepolicy.

Bug: 37518178
Test: can switch out implementations
~/android/master$ lshal | grep hidl.allocator
Y android.hidl.allocator@1.0::IAllocator/ashmem 0/1 652 471
~/android/master$ lshal | grep hidl.allocator
Y android.hidl.allocator@1.0::IAllocator/ashmem 0/1 7635 471
~/android/master$ lshal | grep hidl.allocator
Y android.hidl.allocator@1.0::IAllocator/ashmem 0/1 652 471

Change-Id: Ic72feb3a2fd4649e67b396c33b9a292e9c0a944a
tatus.h
10618f3d4688b8b0c1f06054a9049b906d6159c3 23-Sep-2017 Steven Moreland <smoreland@google.com> Pad hidl_pointer in all cases.

Test: fixes VtsHalAudioV2_0TargetProfiling
Bug: 65860534
Change-Id: Ia356774e1ed47a653866eeb6ad42239207db77c9
idlInternal.h
56eb149beaf89e56e9d27c95316e83dd4c443889 04-Aug-2017 Jiyong Park <jiyong@google.com> Add /system/lib/vndk-sp/hw to search paths for HAL impls

android.hidl.memory@1.0-impl.so is vndk-sp and thus is located under
/system/lib/vndk-sp/hw instead of /system/lib/hw.

Bug: 62930720
Test: 2017 pixel builds and boots with BOARD_VNDK_VERSION on
Merged-Id: Idc4bd81eed76190097a9a60b5fd08a05800e183d
Change-Id: Idc4bd81eed76190097a9a60b5fd08a05800e183d
idlInternal.h
41649d5bb219a3b316eae8af54673f54e0a75935 03-Aug-2017 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy performance-* warnings in system/libhidl.

* Use const reference parameter type to avoid unnecessary copy.
* Use more efficient overloaded string methods.
* Use const reference type for loop index variables to avoid unnecessary copy.

Bug: 30407689
Bug: 30411878
Bug: 30413223
Test: build with WITH_TIDY=1
Test: libhidl_test
Change-Id: I1deae1f09d56c2fa9cd56728b13ca50305d18f3e
tatus.h
932de1ee3f10bf94d11b51cce2e92f3efaf6ef7c 21-Aug-2017 Steven Moreland <smoreland@google.com> Merge "Create thread in passthrough objects lazily."
am: 546ebf4c7d

Change-Id: Ib96c4bd2ff6fd55961f219b8f201a2fca29b020f
c03f943790b273c261e613099b7916e9c52f64e2 16-Aug-2017 Steven Moreland <smoreland@google.com> Create thread in passthrough objects lazily.

Also, moved SynchronizedQueue to not be exported
becaue it's not used outside of the library.

Notice, it would be cleaner to add variables to TaskRunner
and then use those to determine if it's initialized or not.
However, the ABI of TaskRunner is tied up in HIDL clients.
Perhaps in the future, we can consider renaming
SynchronizedQueue to be called TaskRunnerImpl.

Bug: 38039413
Test: boot + hidl_test

Change-Id: Id5dbffe0196447c7798ba89df0ff8c69b6796210
ynchronizedQueue.h
askRunner.h
4617ff619c60bebf3aae8f9b4a621ec3f1f36feb 09-Aug-2017 Steven Moreland <smoreland@google.com> Merge "Expose HidlInstrumentor data."
am: 1ba6751d20

Change-Id: Ied57cd2e11e84facf4999ef957724b6d8e825ea2
a29d03ace9c8d418b7581d0739e407a93b5a3c32 03-Aug-2017 Steven Moreland <smoreland@google.com> Expose HidlInstrumentor data.

These are required for refactoring code
into static blocks.

Bug: 64066141
Test: pass
Change-Id: I3e047adbdba8972eb5e70575e490ae87ae2928bd
idlInternal.h
9ce2b882d6f708a815bc66397a686568b486a746 02-Aug-2017 Chih-Hung Hsieh <chh@google.com> Merge "Suppress misc-macro-parentheses warnings in system/libhidl."
am: 22673d29e2

Change-Id: I2afdd5013cd5941ca29a9e71428d2f102b1c814d
b30feca598b0134659240958a692dcaa6fd6739c 02-Aug-2017 Chih-Hung Hsieh <chh@google.com> Suppress misc-macro-parentheses warnings in system/libhidl.

Bug: 28705665
Test: make with WITH_TIDY=1 WITH_TIDY_CHECKS=-*,misc-macro-* \
WITH_TIDY_FLAGS=-header-filter=system/libhidl/.*

Change-Id: I52a5bc5ff35fdf50184543ac9033b194444e0806
idlSupport.h
f910a6efd82c4c36f6f048678486e6467a44d589 01-Aug-2017 Steven Moreland <smoreland@google.com> Fix typo in BsFoo tag comment.
am: 396f195c52

Change-Id: If12053665e04d1f296cf2f994b1df2bb685761bc
396f195c520a354f31a60e328cf61263e3901857 01-Aug-2017 Steven Moreland <smoreland@google.com> Fix typo in BsFoo tag comment.

Test: pass
Change-Id: I0bd72bac6f64edca993ee8f2012247fd6da31884
idlInternal.h
41a206ab3ca99b3e8dda638530716ea77e4d956f 01-Aug-2017 Steven Moreland <smoreland@google.com> Merge "Add tags for hidl interfaces."
am: 1b8051072b

Change-Id: I9e90293ff28c7476b34297d5dba5982c164eb409
5f82d3eb62d0c101d4f7f256d812e5010162ecab 27-Jul-2017 Steven Moreland <smoreland@google.com> Add tags for hidl interfaces.

IFoo -> i_tag
BsFoo -> bs_tag
BnFoo -> bnhw_tag
BpFoo -> bphw_tag

Also added enable_if. This will allow us to give better error
messages and add static_asserts in certain places.

Note, the tags are in HidlSupport instead of split between
HidlSupport/HidlPassthroughSupport/HidlBinderSupport because
of this loop in that case:
HidlBinderSupport.h --> HwBnBase.h --> HidlBinderSupport.h

Bug: 62807182
Test: compiles (these are all static checks)
Change-Id: I49a5ec824959484d237c8fa3c81eaa530be8e073
idlInternal.h
2801531033fb26d2eb9945fbe0ccc409fb582635 20-Jul-2017 Tomasz Wasilczyk <twasilczyk@google.com> Add range constructor to hidl_vec.
am: a9f6073068

Change-Id: Ie5c350e84ea9faf0b57a1b91d291c4bdd47e4e6c
a9f60730682d198419a310ca19ecb5d4fc9f2fd6 30-Jun-2017 Tomasz Wasilczyk <twasilczyk@google.com> Add range constructor to hidl_vec.

Bug: b/36864090
Test: Unit test
Test: a device boots
Test: marlin boots and completes unit test
Change-Id: I7d37f75ec6c8ba0252c3c60afd515eff87dfc4dd
idlSupport.h
019fa8d0ba426e2fdfcdf577e1ecf6481d7544bc 20-Jun-2017 Steven Moreland <smoreland@google.com> isDeadObject conditionally sets mCheckedStatus. am: 13f7f62af6
am: cdde11fc29

Change-Id: I265290433c0102f2447406d885a5b4114827610b
13f7f62af6b04ae4683a1e7189dbb51a9fab3648 20-Jun-2017 Steven Moreland <smoreland@google.com> isDeadObject conditionally sets mCheckedStatus.

This way a process can check isDeadObject but still rely
on default behavior (dying) when a more serious error occurs.

Test: boot internal device, hidl_test
Change-Id: I6d2c7ab486a4c5838dadae6008ef9aaba4c184ca
tatus.h
91950f10dfe892b108c4cf410c30d60225382196 06-Jun-2017 Martijn Coenen <maco@google.com> Merge "Mark move constructor/assignment noexcept." into oc-dev
am: ba8b925011

Change-Id: Ied13c0c07586663e9b3ebb6b19ed2881e2a0e2bf
e8c36e1e36f26cbf1bb26a86bcf59c1fedbfab56 31-May-2017 Martijn Coenen <maco@google.com> Mark move constructor/assignment noexcept.

To allow std::vector to use move semantics with
our objects.

Bug: 62202341
Test: hidl_test, libhidl_test
Change-Id: I1742b7371acd785fa5a5ab0b60a791d3a502e156
idlSupport.h
0540d280036757c36fd52992c9986a7864cc794f 09-May-2017 Steven Moreland <smoreland@google.com> TaskRunner: move implementation to cpp

Test: hidl_test
Bug: 35710429
Change-Id: If5b6ece1bc08e27bb818eec0eae33c4a842106ad
askRunner.h
141a4d32b8c22575ae8bb3dd2c392638d2d6b7b0 29-Apr-2017 Steven Moreland <smoreland@google.com> libhidlbase: don't export libbase

Bug: 37791060
Test: links

Change-Id: I7abed348fb8b8800bb3b8c3cb537736f6ed55c7a
QDescriptor.h
tatus.h
4917296debaeb74f48ddac5ce4d8f5e65020ee69 29-Apr-2017 Steven Moreland <smoreland@google.com> libhidl: add withDefault

Shorthand way to provide default values for HIDL calls.

Fixes: 37088970
Test: libhidl_test
Change-Id: If91cfb774fa76314aeec334fbc2b18ea790912c4
tatus.h
eb0c337c4fdfe35b12039036555c2760a7c60884 03-Apr-2017 Scott Randolph <randolphs@google.com> Implicit const char* cast removed, operator<< added to hidl_string.

hidl_string no longer will provide an implicit cast to const char* as it
interfers with other expected behaviors of the class. It now emulated
std::string in requiring a call to .c_str() to get the same behavior.

Bug: 36532780
Test: Build the tree for marlin, bullhead, bat

(cherry picked from commit 0c84ab4192f9b0b03b9840b85fc430afa17f55f1)

Merged-In: I6ba76522ef65aa211bc156144990ad8b7495b051
Change-Id: I6ba76522ef65aa211bc156144990ad8b7495b051
idlSupport.h
89308d02d2665ea331ac7f729e8c1af3bb9a2170 11-Apr-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Remove unused include in MQDescriptor.h of utils/Log.h."
3d17632f134cfd51716e706774cd5cc8aaa7581f 07-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove unused include in MQDescriptor.h of utils/Log.h." into oc-dev
f022e5b55478756e66163cd6f85c91f5dc7c58cb 04-Apr-2017 Dan Willemsen <dwillemsen@google.com> Remove unused include in MQDescriptor.h of utils/Log.h.

Nothing in this header relies on utils/Log.h (or transitively,
log/log.h). So remove this include so that users of this header don't
need to have the libutils headers available.

Test: m -j checkbuild
Bug: 35363681
Change-Id: I2517ec2fa06f5b6f9bdc9cc0f7d305099fae3e6f
QDescriptor.h
8a9b8abef841fc0b3113a29a68c0127662e1b456 07-Apr-2017 Steven Moreland <smoreland@google.com> Merge "libhidl: remove libvintf dependency"
40ccc88443a4c5854dcc6dbd557f3e5111f2cc49 07-Apr-2017 Scott Randolph <randolphs@google.com> Merge "Implicit const char* cast removed, operator<< added to hidl_string." into oc-dev
330e3e21400eb263b9ac45d933fba48360216794 06-Apr-2017 Steven Moreland <smoreland@google.com> libhidl: remove libvintf dependency

Now hwservicemanager deals with libvintf and provides an IPC call for
the same information. This dependency on libvintf must be moved in order
to remove it from vndk-stable.

Test: extensive, see Ia5d1eb41b057ab5d6800f6c3fd22658adecc4be7
Bug: 36377072

Merged-In: I05d40e2bf2a467c75e51a133b4799c0fd7fa74cb
Change-Id: I05d40e2bf2a467c75e51a133b4799c0fd7fa74cb
(cherry picked from commit c601c5f21808844e614015eabc03e9c71f5aae42)
idlSupport.h
c601c5f21808844e614015eabc03e9c71f5aae42 06-Apr-2017 Steven Moreland <smoreland@google.com> libhidl: remove libvintf dependency

Now hwservicemanager deals with libvintf and provides an IPC call for
the same information. This dependency on libvintf must be moved in order
to remove it from vndk-stable.

Test: extensive, see Ia5d1eb41b057ab5d6800f6c3fd22658adecc4be7
Bug: 36377072
Change-Id: I05d40e2bf2a467c75e51a133b4799c0fd7fa74cb
idlSupport.h
cccef01c2e33f15c81962b926ef8c040d36eaad6 04-Apr-2017 Dan Willemsen <dwillemsen@google.com> Remove unused include in MQDescriptor.h of utils/Log.h.

Nothing in this header relies on utils/Log.h (or transitively,
log/log.h). So remove this include so that users of this header don't
need to have the libutils headers available.

Test: m -j checkbuild
Change-Id: I2517ec2fa06f5b6f9bdc9cc0f7d305099fae3e6f
(cherry picked from commit 50b2e0e7d16f3ed856add6ae05e0a6e8c17745e7)
QDescriptor.h
8476eb8f90b04d0368ce87b8c03c28fd465b359b 05-Apr-2017 Yifan Hong <elsk@google.com> Merge "Fix getService should retry on DEAD_OBJECT"
a7b2bb72eb9ed9345307c80ecc3386338ecddb9f 29-Mar-2017 Yifan Hong <elsk@google.com> Fix getService should retry on DEAD_OBJECT

If getService sees DEAD_OBJECT or nullptr when calling
interfaceChain on the retrieved service, it should
retry. Otherwise (e.g. TRANSACTION_FAILED for selinux
denials), it should bail out.

Test: calling Debug.getMemoryInfo from apps does not hang
Test: kill system_server, audio_server restarts exactly once
(tested 10/10 times)
Test: taking screenshots / using camera / using maps
Test: adb push
$OUT/data/nativetest/VtsHalNfcV1_0TargetTest/VtsHalNfcV1_0TargetTest
/data/local/tmp && adb shell
/data/local/tmp/VtsHalNfcV1_0TargetTest

Bug: 36153684
Bug: 36611652

Change-Id: Iee10d4b9a1c4edfd154afb588a56fcd8c489641e
tatus.h
6cd7d98e15913f69b100f10d88389b028e88f288 29-Mar-2017 Yifan Hong <elsk@google.com> Fix getService should retry on DEAD_OBJECT

If getService sees DEAD_OBJECT or nullptr when calling
interfaceChain on the retrieved service, it should
retry. Otherwise (e.g. TRANSACTION_FAILED for selinux
denials), it should bail out.

Test: calling Debug.getMemoryInfo from apps does not hang
Test: kill system_server, audio_server restarts exactly once
(tested 10/10 times)
Test: taking screenshots / using camera / using maps
Test: adb push
$OUT/data/nativetest/VtsHalNfcV1_0TargetTest/VtsHalNfcV1_0TargetTest
/data/local/tmp && adb shell
/data/local/tmp/VtsHalNfcV1_0TargetTest

Bug: 36153684
Bug: 36611652

Change-Id: Iee10d4b9a1c4edfd154afb588a56fcd8c489641e
tatus.h
0c84ab4192f9b0b03b9840b85fc430afa17f55f1 03-Apr-2017 Scott Randolph <randolphs@google.com> Implicit const char* cast removed, operator<< added to hidl_string.

hidl_string no longer will provide an implicit cast to const char* as it
interfers with other expected behaviors of the class. It now emulated
std::string in requiring a call to .c_str() to get the same behavior.

Bug: 36532780
Test: Build the tree for marlin, bullhead, bat
Change-Id: I6ba76522ef65aa211bc156144990ad8b7495b051
idlSupport.h
2c046f89022ed235aafbe524d1bab723171c1fd4 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Check if alignment to word boundary would cause an overflow" into oc-dev
b088500c47b383762c20336a5d6d4a4172ddcb4b 03-Apr-2017 Hridya Valsaraju <hridya@google.com> Check if alignment to word boundary would cause an overflow

Bug: 36860231
Test: FMQ unit tests
Change-Id: Ie69bc1baebb10526e831ff7688b670dee4a062bb
Merged-In: Ie69bc1baebb10526e831ff7688b670dee4a062bb
QDescriptor.h
2143e74e264ea7ade09653dba4b8113b563f5ac0 03-Apr-2017 Hridya Valsaraju <hridya@google.com> Check if alignment to word boundary would cause an overflow

Bug: 36860231
Test: FMQ unit tests
Change-Id: Ie69bc1baebb10526e831ff7688b670dee4a062bb
QDescriptor.h
6688d60a53e605fe8a3cc663e415a1f938009fca 30-Mar-2017 Andreas Huber <andih@google.com> Ensure proper alignment of hidl_handle's fields.

Bug: 33846034
Test: make
Change-Id: I25d0ad1315b005ca953bf6054abd19fcd22ee511
idlSupport.h
6b9cc69839de9d4180608a0b5f8e68d363178ec8 30-Mar-2017 Andreas Huber <andih@google.com> Ensure proper alignment of hidl_handle's fields.

Bug: 33846034
Test: make
Change-Id: I5107e1110743995e083922fa699bcfab7ae57efd
idlSupport.h
6f6675464c82fc796d72458d7268e28d759b997f 21-Mar-2017 Yifan Hong <elsk@google.com> TaskRunner starts the background thread only when needed

Test: libhidl_test
Test: hidl_test
Test: boots
Change-Id: I5b6de5cd4a475b0653102e8004953ba008288ab1
ynchronizedQueue.h
askRunner.h
8184c1220e120414ebd968930737daa563788fca 21-Mar-2017 Yifan Hong <elsk@google.com> Simplify the implementation of TaskRunner.

TestRunner used to hold the std::thread pointer and
a pointer to a boolean flag. Simplify them:

* std::thread* is not needed because detach() allows
the thread to run in background
* bool* is not needed; use a non-callable std::function
to indicate end of queue.
* Use std::shared_ptr instead of raw pointer for mQueue
to avoid weird pointer ownership management.

Test: libhidl_test
Test: hidl_test
Test: boots
Change-Id: I8fe7a6285bc537408ed559499951c17219e0df7f
askRunner.h
0a35139d24ae0071475adeae3e1370b8f8617f8f 21-Mar-2017 Yifan Hong <elsk@google.com> Move TaskRunner and SynchronizedQueue to details

Bug: 36433220
Test: compiles
Test: hidl_test
Test: libhidl_test
Change-Id: Ia48bf9abba293f177ec2f6cfab49da5422a59b82
ynchronizedQueue.h
askRunner.h
b7370304cbf33a6ff53ec3955cda0bf18920df48 08-Mar-2017 Hridya Valsaraju <hridya@google.com> Remove liblog usage in MQDescriptor.h

Also remove hidl_log_base class since static methods
in child classes will not be able to invoke
logAlwaysFatal().

Bug: 36070915
Test: hidl_test passes.
Change-Id: I90e8982698920e6710f7bc8e533e4eccdf3a35c7
idlInternal.h
idlSupport.h
QDescriptor.h
4ff88a31348e1c367ba3b6a4d97af215bdf00a99 10-Mar-2017 Hridya Valsaraju <hridya@google.com> Move toString() methods to android::hardware

Bug: 36108426
Test: hidl_test passes

Since these methods are used outside of libhidl,
we should move them out of details.

Change-Id: I82e267b3911369a6ae516b03be61ba9686dc53a3
idlSupport.h
QDescriptor.h
72db40f4a612d04187ae2fc1f9a3766933264bdf 10-Mar-2017 Steven Moreland <smoreland@google.com> Status.h: remove service specific error codes.

These are leftover from binder and are never used in HIDL/hwbinder.

Test: libhidl_test + hidl_test + internal marlin boots/works.
Bug: 36099713
Change-Id: I12b20e1ae54d9df802a961bc9bc99f616291b0fd
tatus.h
6d4acb12519597610322097f86850d9e404d251a 03-Mar-2017 Hridya Valsaraju <hridya@google.com> Change size_t member of hidl_memory type to uint64_t

Also static_assert offsets to private members
in hidl_* types used in parcelling/unparcelling code.

Bug: 34986428 33846034
Test: hidl_test passes

Change-Id: Ib2ee81c45ee797f4933ed142160aeed250675819
idlSupport.h
24332ef104a44b4bfb28c56ac2aa44584190e337 08-Mar-2017 Yifan Hong <elsk@google.com> Disable getDebugInfo address leak for production builds.

On production builds debugfs won't be available, so lshal cannot
infer binder relationships anyway. The address leak on production
builds also expose a security hole for address space attacks.
Added a build-time flag to disable the address leak on user builds.
The address will still be exposed for eng and userdebug builds so
that lshal can work properly.

Bug: 34899586
Test: lshal still works
Change-Id: Id1c381fbccad7584c2932deb9212d6996eeefd75
idlSupport.h
af4e43cc5b2eacbfe600f9ab0e459f09c35c0c3f 04-Mar-2017 Yifan Hong <elsk@google.com> return_status::checkStatus => assertOk

checkStatus doesn't really set mCheckStatus to true, and hence is
a misnomer. Change it to assertOk (correspond to isOk()).

And hence the move assignment operator should not call checkStatus
(because it is valid to move into a Return<T> object that !isOk()
but has mCheckedStatus to true), because caller is fully aware of
the error that will be overwritten.

Test: libhidl_test
Change-Id: I86a44967b68619d1467d2cc9caaa39124b156121
tatus.h
705e5da46d6f6fa5a2177afe460304668bd9102c 03-Mar-2017 Yifan Hong <elsk@google.com> Update for providing architecture info

to IBase::getDebugInfo() and IServiceManager::debugDump().

Moved PassthroughServiceManager::list to debugDump() because
it need to provide 32-bit libraries as well, which doesn't
meet the contract of list().

Bug: 35803184
Test: lshal -itrpc
Change-Id: I18374188ae6a33ba498ece5cddd92b48526f5f44
idlInternal.h
37b3620ce11288ad970bc7052b8bb76b17419474 01-Mar-2017 Yifan Hong <elsk@google.com> getTransport checks interface and instance names.

If <interface> is missing from the manifest, it returns
<transport> only if instanceName == "default", and EMPTY
otherwise.

Bug: 35219444
Test: hidl_test
Test: camera, soundtrigger works on marlin
Test: video playback works on marlin
Change-Id: Iaae6ae9bbf5f8c97fae63f2ac41595d822f781ca
idlSupport.h
0126889103d84c2078896688017d61d612a12c4f 27-Feb-2017 Hridya Valsaraju <hridya@google.com> Add move constructor/assignment operator to hidl_memory

Bug: 34093434
Test: hidl_test passes

Change-Id: I6bb7e2e3c914040daa8d72d9a86a5a3d3f8338e5
idlSupport.h
ed4e714af90df13fc69fe9b4d8633d4fb409bd0f 24-Feb-2017 Hridya Valsaraju <hridya@google.com> Remove getNativeHandle() and getGrantors()

Bug: 35645062 32841484
Test: FMQ unit tests

Change-Id: Iae21034a43e6d9421b1e1425054051407fde2564
QDescriptor.h
603cde990a56fc03731d9b428d3376dd75936c2e 17-Feb-2017 Yifan Hong <elsk@google.com> make Return<T> non-copyable.

It doesn't make sense to copy a Return<T> object. Deleting the
copy constructor help reduce bugs in client code (so that they
won't call isOk() on the object and think they have checked
the status while they actually haven't done so.)

Test: make -j64
Change-Id: Ibef2d4da8820b484076f1d0ca6ac7ff67f39079b
tatus.h
c43bd9dd3a05f121da0c99937382ce6bab8e0b9e 17-Feb-2017 Yifan Hong <elsk@google.com> Add move constructor and move operator= to Return<T>.

* Destination object must have isOk() called before moving
* Source object will be safe to destroy (no isOk() is needed) after
moving.

Test: lshal without root no longer fails.
Change-Id: I24648bede7952ec54f9341cdd2ab5d0a0288452a
tatus.h
a21d84f11f066315bd1476368d511286d129cb8a 16-Feb-2017 Steven Moreland <smoreland@google.com> hidl_string: allow null cstr

Automatically converting nullptr to empty string rather than erroring.
This gets rid of null values at the hal layer (rather than passing them
to the server) and simplifies code that would have to check for nulls.

Test: libhidl_test
Fixes: 35421240
Change-Id: Iada25da5407c3eccdd28704d993ffdee8b15c5fe
idlSupport.h
7a57de61a2017790b61ac211729a3b275f29c9ba 15-Feb-2017 Zhuoyao Zhang <zhuoyao@google.com> Revert "Revert "Move HidlInstrumentor to HidlInternal and namespace details.""

This reverts commit f9fd88291caa3a2bab89c1b8ff128b1659da81b4.
Test: make libhidlbase
Change-Id: I85eb85bd9e89c28026e9865f799dce2b0df584fc
idlInternal.h
idlSupport.h
f9fd88291caa3a2bab89c1b8ff128b1659da81b4 15-Feb-2017 Zhuoyao Zhang <zhuoyao@google.com> Revert "Move HidlInstrumentor to HidlInternal and namespace details."

This reverts commit f509befb751b01701f6157b32c3a332abc237b2b.

Change-Id: I0770e5a7d5cea3d42a97d664fcc3ad2f1f7414f7
idlInternal.h
idlSupport.h
f509befb751b01701f6157b32c3a332abc237b2b 14-Feb-2017 Zhuoyao Zhang <zhuoyao@google.com> Move HidlInstrumentor to HidlInternal and namespace details.

Bug:34644498
Test: run vts -m VibratorHidlTargetProfilingTest
Change-Id: Ifd20e60cf7148c0b4e060802dc7b7653add2b5a4
idlInternal.h
idlSupport.h
c43ccaef3bb42b7d86b12ca7f9fb267be186301d 14-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "hidl_string: relational operators"
551396afe50bb40b046e9f16b4501e6df055c88a 14-Feb-2017 Steven Moreland <smoreland@google.com> hidl_string: relational operators

Fixes: 34524287
Test: libhidl_test
Change-Id: Id0731e6df1fc1831d8c1bdf35b3aa17abd5273d2
idlSupport.h
dda25621dd0549fa7b058f553b20f3a6eca735c8 11-Feb-2017 Hridya Valsaraju <hridya@google.com> Modify hidl_pointer default constructor

Initialize hidl_pointer using _pad to ensure when a 32-bit
process sends a null hidl_handle within a compound type to
a 64-bit process, uninitialized memory does not get copied
over to it.

Bug: 35279588
Test: hidl_test

Change-Id: I364f21765db2f4702d8908aedcb2a55f9f71f785
idlInternal.h
20273f9b308ec7df36dff6aa9f27d02a8d01cf79 30-Jan-2017 Yifan Hong <elsk@google.com> Change getTransportFromManifest to getTransport.

Test: NFC / light / audio works with and without
persistent.hal.binderization.

Bug: 34810039: VINTF: specify version in getTransport
Bug: 34772739: getTransport checks a static map for android.hidl.*
packages
Bug: 34772726: VINTF needs to be able to specify things at
interface-level granularity

Change-Id: I0c7b31f177f243c85c0c99dc46f32cbbb0586180
idlSupport.h
93c1e3aa4277de38cf40399980f9876a1f9c9ce4 24-Jan-2017 Zhuoyao Zhang <zhuoyao@google.com> Update HidlInstrumentor.

* Instead of dlsym method HIDL_INSTRUMENTATION_FUNCTION, dlsym
HIDL_INSTRUMENTATION_FUNCTION + insterface_name.
* This enables a single profiler library that contains the profiling
method for all the interfaces defined within the same hidl package.

Test: mma for hardware/interface.
local test with vts.
Change-Id: I076841ea8a565c489b45303e5ca496806d5d10be
idlSupport.h
04b91c0fa5d2ccfe92816791064c30a25cbef0be 19-Jan-2017 Martijn Coenen <maco@google.com> Fix hidl_handle/hidl_memory ownership semantics.

hidl_handles that are constructed from a native_handle_t
object never own a handle, unless explicitly requested by
a call to setTo().

Copying a hidl_handle does clone the enclosed native_handle_t
and consequently takes ownership of it.

As a consequence, hidl_memory no longer needs to keep
track of handle ownership; the default constructors
don't take ownership of the passed in native_handle_t,
requiring callers to clean the handles up when it is
done with them. This makes sense because in most cases,
hidl_memory is a very transient object just used for
IPC.

Test: hidl_test, libhidl_test
Bug: 33812533
Change-Id: Idf26434c6a1dc541d4b909ac1523dbf92f214e1a
idlSupport.h
44c0e577e148d3e1b8ce561165b3af661960d5d8 21-Jan-2017 Yifan Hong <elsk@google.com> Add getTransportFromManifest

which consult the vendor interface object to see
what transport method is expected for each HAL.

Test: hidl_test

Bug: 32718841
Change-Id: Ic93bea634852554a331824f3f1f003442ffe4841
idlSupport.h
ec0e39dffecdab974aa0488097dd08ce6020d29f 24-Jan-2017 Yifan Hong <elsk@google.com> Revert "Add getTransportFromManifest"

This reverts commit fba2495bc608f7c488fb74f0c8b6c252b3fe6669.

Change-Id: Idefe5d80e86af072c41c635cb24754f2ec352196
idlSupport.h
fba2495bc608f7c488fb74f0c8b6c252b3fe6669 21-Jan-2017 Yifan Hong <elsk@google.com> Add getTransportFromManifest

which consult the vendor interface object to see
what transport method is expected for each HAL.

Test: hidl_test

Bug: 32718841

Change-Id: I4529b7dcb5a892d968b50f2a2301035b9f0aa466
idlSupport.h
6ffdc2a87c22f6941705d7fef1fa260f5be494f0 23-Jan-2017 Steven Moreland <smoreland@google.com> Fixed spelling.

Test: pass

Change-Id: I05bd226a8624b080891a09c8d50983f3aa6b07c3
idlSupport.h
a2a8184180557e980387f769ac3915eb9e072f8b 20-Jan-2017 Steven Moreland <smoreland@google.com> hidl_string: add operator<

This allows us to std::sort vecs of hidl_strings, etc..

Test: libhidl_test
Change-Id: I6e9a7669bceb09d62791fe8c88cfd1977ea07194
idlSupport.h
337e6b61c4fc3a7ba76862662117c17496a1f8a2 19-Jan-2017 Steven Moreland <smoreland@google.com> Add passthrough service manager.

Right now we have logic related to getting passthrough services
generated inside of getService. We should abstract this logic out
into an instance of IServiceManager.

This will:
- abstract passthrough transport implementation from hidl-gen
- decrease code complexity in hidl-gen

Bug: 34394392
Test: hidl_test
Change-Id: Ia6160047c63c6788728d4e17a7cdf67bf6cd06e7
idlSupport.h
e780c45b31a03f318db85b9940bf20f93ac50395 18-Jan-2017 Steven Moreland <smoreland@google.com> Better error message when hidl call fails.

Now when a return object !isOk and is not checked, the error message
includes the description of the return object. This way, error codes are
exposed in logs on the device.

Test: hidl_test

Change-Id: Id886342d1d78297c3aa8301d565b48e4374665ee
tatus.h
45eb91d73a91523e7e0e706dac55941816f07e9d 12-Jan-2017 Hridya Valsaraju <hridya@google.com> Force alignment for GrantorDescriptor struct.

Bug: 34234481
Test: Ran 64-bit mq_test_service with 32-bit mq_test_client and vice versa.
Change-Id: I7fd73ef4e9b2d54211a11e0fd6105c7b677ba095
QDescriptor.h
be7a6887b28a1240ba0d944126c3db631342256d 06-Jan-2017 Yifan Hong <elsk@google.com> add toString() for hidl types.

They are defined in ::android::hardware::details::toString().

Test: hidl_test and look at the output of logcat

Bug: 33459772

Change-Id: Idf849114a623331ebf43e160c5901170c7c8925e
idlInternal.h
idlSupport.h
QDescriptor.h
10b60079e3d0fbeb76845a1f49c19ce24bad63ec 12-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "hidl_string: Add cstr + length constructor"
53120f70b7d429c81fe47718182e829660ed5ef9 12-Jan-2017 Steven Moreland <smoreland@google.com> hidl_string: Add cstr + length constructor

This will allow non-terminated strings to be turned into a hidl_string
with only one copy among other things.

Test: libhidl_test
Fixes: 34221748
Change-Id: I443f7920a65d23b7bcb583db55c3cec7266ec2d4
idlSupport.h
dfb50c3317615b5508c13e6a6f61aa30894f0c83 12-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Align all shared memory offsets to word boundary."
5d148b352c83b86a2dc1ca24b98cd011fb01d96d 10-Jan-2017 Hridya Valsaraju <hridya@google.com> Align all shared memory offsets to word boundary.

Since the read pointer, write pointer, data buffer and
EventFlag word occupy contiguous memory locations as per the default
MessageQueue/MQDescriptor constructors, ensure that all
offsets are aligned.

Bug: 34194487
Test: FMQ unit tests
Change-Id: I050d60f5481a13b8e45a42d00d6217bf7fcd7651
QDescriptor.h
dae2db6015b9bfdc027dc3c014810f22e9f86092 11-Jan-2017 Zhuoyao Zhang <zhuoyao@google.com> Merge "Support dynamically enable profiling."
5a643b9fbd9f08bd04a38804d647c847c1c93b8f 04-Jan-2017 Zhuoyao Zhang <zhuoyao@google.com> Support dynamically enable profiling.

* Create method configureInstrumentation to enable/disable instrumentation based
on the corresponding system property. This method will be called every
time setHALInstrumention is invoked for any hal.
* Add setHALInstrumention to IBase.hal

Bug: 33923655
Test: make libhidlbase.
Change-Id: I130fb903f65783568a97308e291965960abab41d
idlSupport.h
f85a177f06a15919ef46bad13484290214e95001 10-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Revert "Revert "Remove getStatus from Return<*>."""
f7fdb09adad9c63ae64bc6d038e95cb97546fbb3 06-Jan-2017 Steven Moreland <smoreland@google.com> Revert "Revert "Remove getStatus from Return<*>.""

This reverts commit 78039670bc4061f062bfc4e7d2c9682257d99fc8.

Change-Id: I0dba853f743c41ee128c7059238804ea04c91a06
tatus.h
33eb6bdc9db8d89a31131a937aef9dda764fb49f 06-Jan-2017 Steven Moreland <smoreland@google.com> Merge "Revert "Remove getStatus from Return<*>.""
78039670bc4061f062bfc4e7d2c9682257d99fc8 06-Jan-2017 Steven Moreland <smoreland@google.com> Revert "Remove getStatus from Return<*>."

This reverts commit c25de849b43bed1c86cf35f3ee999737f3819190.

Change-Id: I0a2e5152a3a2015f8435ad1db3a87e54bd04337d
tatus.h
11f82b79d4b515c6589f6a824bf3a13782d3239c 05-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Permit assignment from a null hidl_memory"
0f3461db91b75d9acd7e0bec8b1e97cbb3bafdf7 03-Jan-2017 Jeff Tinker <jtinker@google.com> Permit assignment from a null hidl_memory

Bug: 34102220
Test: libhidl_test, hidl_test

Change-Id: Ic0da09f0f6a79643ee44c6b13ef606b2217956e0
idlSupport.h
c25de849b43bed1c86cf35f3ee999737f3819190 29-Dec-2016 Steven Moreland <smoreland@google.com> Remove getStatus from Return<*>.

The status is already exposed via isOk. Recoverable transport errors can
be recovered from via linkToDeath and registering for service
notifications. Debug information is exposed via Return<*>::description.

Bug: 31348667
Test: compiles
Change-Id: Ia776dccfb80c0c5f0975e97cd709d8f25716119b
tatus.h
d272cb9e881c0aa23e4964f101131ab68affd85d 02-Jan-2017 Martijn Coenen <maco@google.com> Callback elision for HIDL interfaces.

Test: mma, hidl_test
Bug: 31380743
Change-Id: If5f0dc0279e717dafaf416776be89cc854c6f856
tatus.h
7e6404dd880b1f25c932f264c0ba2e00e79c536e 27-Dec-2016 Hridya Valsaraju <hridya@google.com> Add templatization to MQDescriptor

Test: FMQ unit tests
Bug: 33948735

Merged-In: I50a97e4c1278fc9bdcb1bf4d524d33fd9761dec2
Change-Id: I50a97e4c1278fc9bdcb1bf4d524d33fd9761dec2
QDescriptor.h
0e326a015d3cc860f25fcf94c9203f25af5c6721 21-Dec-2016 Hridya Valsaraju <hridya@google.com> Create a default MQDescriptor constructor.

Create a default MQDescriptor constructor without
arguments which can be passed back if there is an
error in FMQ setup.

Test: FMQ unit tests
Bug: 33809187
Change-Id: I9845f42a92b5f84623f43a1c6b662ba5d0e045d0
QDescriptor.h
baf52d2098c254bd2b714d3915cd7eddc117daf9 23-Dec-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "operator== and != for hidl_vec."
1e29797419b4472798496b040a98b5dee8d0bb97 22-Dec-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Add a parameter to allow EventFlag configuration."
9ec5730efb547442eed5fdbb09a34a252e7f3999 14-Dec-2016 Hridya Valsaraju <hridya@google.com> Add a parameter to allow EventFlag configuration.

Add a parameter to the default MQDescriptor constructor
to allow for the allocation of memory for an EventFlag word.

Bug: 31223612 33295104
Test: FMQ unit tests.

Change-Id: I1087a10bed4f4f02d1a4da5fcd80121c35d18575
QDescriptor.h
9fcbb36250a4392b12012cf5177c4669ef10e654 21-Dec-2016 Yifan Hong <elsk@google.com> operator== and != for hidl_vec.

Test: libhidl_test

Bug: 32834072
Change-Id: Iae9b454f5c1e9d8b3b10394ef6de9d4ba4cdd959
idlSupport.h
49831bfd00e0d067c3db6ede7a05e249ed9073f2 22-Dec-2016 Yifan Hong <elsk@google.com> Merge "Remove String8 from Status. Add description to Return<T>."
9b8f9c38ea8ac1fe1fdf11ea219097885a5f2fa7 09-Dec-2016 Martijn Coenen <maco@google.com> Add (un)linkToDeath to IBase.

With corresponding callback interfaces. hidl_death_recipient
is a transport-independent interface, used directly by clients
and servers. hidl_binder_death_recipient wraps a hidl_death_recipient
object and implements the Binder-specific death recipient. It
holds a weak reference to the callback interface, as well as the
interface it was called on (so we can include that in the callback).

Bug: 31632518
Test: mma, hidl_test
Change-Id: I0430efff24c2bfd3993438c6ed3fe007d9f9e3ef
idlSupport.h
43298f90efb47e1ae3589df56b12e9e53f16c53e 21-Dec-2016 Yifan Hong <elsk@google.com> Remove String8 from Status. Add description to Return<T>.

Test: compiles
Bug: 33760393
Bug: 31348667

Change-Id: I578b2795ed33ca87da8744c74f39cdc10ca45ea9
tatus.h
ca1d1bf76f0e38cbe8d301a761b1c428f83bf853 19-Dec-2016 Yifan Hong <elsk@google.com> Fix hidl_vec's constructor with initializer_list doesn't cast size properly.

Test: hidl_test
Test: libhidl_test
Change-Id: I0c155094555ecf3f6f1ea28b612b26b05a85f7ef
idlSupport.h
b81c82748fcd6a34ad017c7826bd82091040c9cc 13-Dec-2016 Yifan Hong <elsk@google.com> Move macros from libhidl[transport] to auto-generated code.

Bug: 32756130

Test: hidl_test
Change-Id: Ic7af37daebc3e465a855e5b62055356e3e00c9d3
idlSupport.h
9e0a6d1234cd1e131fd70b1a3df047f2c00f0866 15-Dec-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "hidl_version: Add comparison operators"
19f4db58674560ebe6b85dad77af0155a3dddecf 15-Dec-2016 Eino-Ville Talvala <etalvala@google.com> hidl_version: Add comparison operators

Test: libhidl_test passes
Change-Id: I8bb01599ae581484d80014bd99c4aff09a953824
idlSupport.h
7596933a1e08ff4c05488229ec84f46f4926e27b 13-Dec-2016 Steven Moreland <smoreland@google.com> Return<T>: fail hard on unchecked error.

If a transaction error occurs during a hidl call, and it isn't handled,
we want to fail hard, fast, and early. This adds a check in the Return
destructors which does this.

As part of this, I also combined the common parts of Return<*> and its
specialization Return<void> into a parent type, details::return_status.

Bug: 31348667
Test: hidl_test
Change-Id: Iba6d43ffb2e1dc68ba2c291f6f0c5ef1257e1da9
tatus.h
cbc10206b0a783ba82a3e01baf2ef4a100d0bf03 12-Dec-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "fix and expand hidl_vec::iterator; add const_iterator."
64fdf4d1bdea86202c7526482d4d329724d33dcb 10-Dec-2016 Yifan Hong <elsk@google.com> fix and expand hidl_vec::iterator; add const_iterator.

* Fix flipped post++ and ++pre for hidl_vec::iterator
* make it random accessible.
* add const_iterator.

Test: hidl_test
Change-Id: I8649f8598a13e6054c994d30a4daf383d1dae55c
idlSupport.h
150727b8a5428cad3743d043a89851eae4328f70 10-Dec-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Use hidl_pointer<native_handle_t> in MQDescriptor"
44843443cb4c88a9e903d78d4b3b43c9cd8992c6 09-Dec-2016 Hridya Valsaraju <hridya@google.com> Use hidl_pointer<native_handle_t> in MQDescriptor

Bug: 33467211
Test: Built and ran 32-bit FMQ unit tests

To fix issues with passing handles between 32 bit processes
over hwbinder, use a hidl_pointer<native_handle_t> instead.

Change-Id: Id039c9577a661e0268c8effe493d5f7cebdb510d
QDescriptor.h
c8256867368b9df0b4c58af67c12313a974bb9be 09-Dec-2016 Yifan Hong <elsk@google.com> Merge "Remove explicit cast from Return<*>."
4b48edc21b333247a4b48cb12b82ab413040521a 07-Dec-2016 Chia-I Wu <olv@google.com> Silence a -Wshorten-64-to-32 warning.

Silence

system/libhidl/base/include/hidl/HidlSupport.h:426:17: error: implicit
conversion loses integer precision: 'size_t' (aka 'unsigned long') to
'uint32_t' (aka 'unsigned int') [-Werror,-Wshorten-64-to-32]

Test: builds
Change-Id: I383e79e4f9b89bb4dce3b9c91199ca3a7f91e959
idlSupport.h
1cfaee704c2d20d6d8d7dedf77bd73f61ee905f7 01-Dec-2016 Steven Moreland <smoreland@google.com> Remove explicit cast from Return<*>.

- also moving failure check to implicit cast operator.

(after talking to malchev@)

Bug: 31348667
Test: pass
Change-Id: I5a136a3596c2fa7c502ce9d53ab754b796d66fed
tatus.h
2cd440cf0c589e89d0d4509d273142a35b5ef81c 23-Nov-2016 Yifan Hong <elsk@google.com> Hidlize IBase and use IBase instead of IBinder.

Note: system/libhidl/base is the libhidlbase project.
system/libhidl/transport/base is the
android.hidl.base@1.0 HAL files.

Test: hidl_test

Change-Id: Ic3464b5e50c0896de9b26f44a409496f8df37c39
idlSupport.h
44ab623ccf386f0e470bdc6aa22f261b7dc047cd 23-Nov-2016 Yifan Hong <elsk@google.com> Convert (by copying) hidl_array from and to std::array.

* For example, hidl_array<T, 2, 3> can be converted to
std::array<std::array<T, 3>, 2>.

* Uses operator= for copying.

* Also uses operator= when initializing an hidl_array
(instead of memcpy'ing). This fixes potential memory
issues for hidl_array<hidl_string>, for example.

Bug: 32883329

Test: libhidl_test
Change-Id: Idf7d080433aaed2c585fd4875f3411e5544a9e72
idlSupport.h
3079100878a2595be644d866e67c12a9de620fd5 01-Dec-2016 Martijn Coenen <maco@google.com> Hidlized version of IMemory.

- Add hidl_memory type.
- Add android.hidl.memory@1.0 package
- IMapper
- IAllocator
- IMemory
- Add libhidlmemory
- Add default implementation of android.hidl.memory@1.0
- Ashmem
- Ion (TODO, probably in another CL)

Test: compiles (WIP)
Change-Id: I4632eeb6a0051551b54ce04d919aaf551dfc5f28
idlSupport.h
337c3ae7f5ce6e94d6ccaaa7fb4ac92c4069b2dd 22-Nov-2016 Steven Moreland <smoreland@google.com> Cleanup Return object.

- Expose isOk() instead of having to say getStatus().isOk()
- Add 'get' function which checks to make sure content is valid.
- Mark implicit cast operator as deprecated.

Bug: 32744406
Bug: 31348667
Test: hidl_test
Change-Id: I13bfe33b6c1f9b94a372161064a9e913825df959
idlInternal.h
idlSupport.h
tatus.h
4d1e9cccc1762eaa7613981d8d7953cb47054750 18-Nov-2016 Martijn Coenen <maco@google.com> Add support for hidl_handle.

hidl_handle wraps a const native_handle_t* safely
for IPC between 32- and 64-bit processes.

Bug: 32089785
Test: builds, hidl_test32 passes
Change-Id: I31e98c63ecca063e6c5614e5b6f6767106f8e8c2
idlSupport.h
70822ead603c241dafd1e4c5a572808c62a6e091 16-Nov-2016 Martijn Coenen <maco@google.com> Add notifySyspropsChanged to IBase.

This is used for dynamically updating the atrace
tags in a process, allowing systrace to be invoked
at any time without having to restart a process.

Bug: 31262344
Test: mma
Change-Id: I68ad9566a82d5b1ddf7b00d6af2af6e567526ab0
idlSupport.h
bb840f73dc33c5de153cc6959672cf05c55ae4e6 21-Nov-2016 Scott Randolph <randolphs@google.com> Add hidl_vec iterator and hidl_string ==

Add bidirectional iterator for hidl_vec
Add operator== and operator!= for hidl_string to hidl_string
comparision.

Test: Added unit tests to libhidl_test
Change-Id: I908bc71fae4016f335e2342f28b351f63f22fa66
idlSupport.h
3da68488e12ae8d487f43700582b775a4cdb6ec1 18-Nov-2016 Sasha Levitskiy <sanek@google.com> Libhidl: Add a constructor to hidl_array.

Test: Added a test to libhidl native test suite.
Change-Id: I4469200a40b4c05184f39754db6b4e732ae85ccd
Signed-off-by: Sasha Levitskiy <sanek@google.com>
idlSupport.h
00f4a391c6f9a698bbcbbd05bf3d80e213c82884 16-Nov-2016 Yifan Hong <elsk@google.com> Split libhidl into base and transport.

libhidlbase contains "pure" classes that has nothing
to do with tranport level stuff. libhwbinder can now
safely depend on libhidlbase.

IBinder inheriting from IBase will be in a follow up
CL.

Bug: 32756130

Test: mma under hardware/interfaces
Test: hidl_test
Change-Id: Ie2bd80769df3816aab83789ba0d7fca9b5a2e52f
idlSupport.h
QDescriptor.h
tatus.h
ynchronizedQueue.h
askRunner.h