summaryrefslogtreecommitdiff
path: root/transport/base
diff options
context:
space:
mode:
authorYifan Hong <elsk@google.com>2017-01-31 13:44:51 -0800
committerYifan Hong <elsk@google.com>2017-02-01 11:13:35 -0800
commit0f2ef0944419b0856fe8f49b06bd8497a7dca7d9 (patch)
treeaa77de2ace096fd02514d900e86a750ee5e9b3e1 /transport/base
parent51fbeaacc40c0619a1b7ca9749b7e74f0f1fb5a6 (diff)
downloadlibhidl-0f2ef0944419b0856fe8f49b06bd8497a7dca7d9.tar.gz
Add getReferenceInfo to IBase.
Test: hidl_test Change-Id: Ib4e3764f9ad37106c91ede18d8c8e6f718b887c4
Diffstat (limited to 'transport/base')
-rw-r--r--transport/base/1.0/Android.bp4
-rw-r--r--transport/base/1.0/Android.mk40
-rw-r--r--transport/base/1.0/IBase.hal7
-rw-r--r--transport/base/1.0/types.hal25
4 files changed, 76 insertions, 0 deletions
diff --git a/transport/base/1.0/Android.bp b/transport/base/1.0/Android.bp
index d685da7..c169304 100644
--- a/transport/base/1.0/Android.bp
+++ b/transport/base/1.0/Android.bp
@@ -5,9 +5,11 @@ genrule {
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hidl:system/libhidl/transport android.hidl.base@1.0",
srcs: [
+ "types.hal",
"IBase.hal",
],
out: [
+ "android/hidl/base/1.0/types.cpp",
"android/hidl/base/1.0/BaseAll.cpp",
],
}
@@ -17,9 +19,11 @@ genrule {
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hidl:system/libhidl/transport android.hidl.base@1.0",
srcs: [
+ "types.hal",
"IBase.hal",
],
out: [
+ "android/hidl/base/1.0/types.h",
"android/hidl/base/1.0/IBase.h",
"android/hidl/base/1.0/IHwBase.h",
"android/hidl/base/1.0/BnHwBase.h",
diff --git a/transport/base/1.0/Android.mk b/transport/base/1.0/Android.mk
index 8164c56..cae969c 100644
--- a/transport/base/1.0/Android.mk
+++ b/transport/base/1.0/Android.mk
@@ -13,12 +13,32 @@ intermediates := $(local-generated-sources-dir)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
+# Build types.hal (ReferenceInfo)
+#
+GEN := $(intermediates)/android/hidl/base/V1_0/ReferenceInfo.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hidl:system/libhidl/transport \
+ android.hidl.base@1.0::types.ReferenceInfo
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
# Build IBase.hal
#
GEN := $(intermediates)/android/hidl/base/V1_0/IBase.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBase.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
@@ -43,12 +63,32 @@ intermediates := $(local-generated-sources-dir)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
+# Build types.hal (ReferenceInfo)
+#
+GEN := $(intermediates)/android/hidl/base/V1_0/ReferenceInfo.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hidl:system/libhidl/transport \
+ android.hidl.base@1.0::types.ReferenceInfo
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
# Build IBase.hal
#
GEN := $(intermediates)/android/hidl/base/V1_0/IBase.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBase.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
diff --git a/transport/base/1.0/IBase.hal b/transport/base/1.0/IBase.hal
index e57759d..643ac6e 100644
--- a/transport/base/1.0/IBase.hal
+++ b/transport/base/1.0/IBase.hal
@@ -93,4 +93,11 @@ interface IBase {
*/
oneway setHALInstrumentation();
+ /*
+ * Get debug information on references on this interface.
+ * @return info has the following information:
+ * - refCount: -1 if not available; or
+ * ref count on the stub for remote binderized servers.
+ */
+ getReferenceInfo() generates (ReferenceInfo info);
};
diff --git a/transport/base/1.0/types.hal b/transport/base/1.0/types.hal
new file mode 100644
index 0000000..0d47184
--- /dev/null
+++ b/transport/base/1.0/types.hal
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hidl.base@1.0;
+
+/*
+ * The returned object for getReferenceInfo.
+ * refCount: strong reference count on the stub object.
+ */
+struct ReferenceInfo {
+ int64_t refCount;
+};