mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-02 06:22:53 +00:00
Merge changes from topic 'configstore'
* changes: configstore: build configstore-utils as header library configstore: add new configuration item configstore: add utility library functions for configstore configstore: add configstore@1.0 HAL
This commit is contained in:
62
configstore/1.0/Android.bp
Normal file
62
configstore/1.0/Android.bp
Normal file
@@ -0,0 +1,62 @@
|
||||
// This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
filegroup {
|
||||
name: "android.hardware.configstore@1.0_hal",
|
||||
srcs: [
|
||||
"types.hal",
|
||||
"ISurfaceFlingerConfigs.hal",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.hardware.configstore@1.0_genc++",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0",
|
||||
srcs: [
|
||||
":android.hardware.configstore@1.0_hal",
|
||||
],
|
||||
out: [
|
||||
"android/hardware/configstore/1.0/types.cpp",
|
||||
"android/hardware/configstore/1.0/SurfaceFlingerConfigsAll.cpp",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.hardware.configstore@1.0_genc++_headers",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0",
|
||||
srcs: [
|
||||
":android.hardware.configstore@1.0_hal",
|
||||
],
|
||||
out: [
|
||||
"android/hardware/configstore/1.0/types.h",
|
||||
"android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h",
|
||||
"android/hardware/configstore/1.0/IHwSurfaceFlingerConfigs.h",
|
||||
"android/hardware/configstore/1.0/BnHwSurfaceFlingerConfigs.h",
|
||||
"android/hardware/configstore/1.0/BpHwSurfaceFlingerConfigs.h",
|
||||
"android/hardware/configstore/1.0/BsSurfaceFlingerConfigs.h",
|
||||
],
|
||||
}
|
||||
|
||||
cc_library_shared {
|
||||
name: "android.hardware.configstore@1.0",
|
||||
generated_sources: ["android.hardware.configstore@1.0_genc++"],
|
||||
generated_headers: ["android.hardware.configstore@1.0_genc++_headers"],
|
||||
export_generated_headers: ["android.hardware.configstore@1.0_genc++_headers"],
|
||||
shared_libs: [
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libhwbinder",
|
||||
"liblog",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
"android.hidl.base@1.0",
|
||||
],
|
||||
export_shared_lib_headers: [
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libhwbinder",
|
||||
"libutils",
|
||||
"android.hidl.base@1.0",
|
||||
],
|
||||
}
|
||||
308
configstore/1.0/Android.mk
Normal file
308
configstore/1.0/Android.mk
Normal file
@@ -0,0 +1,308 @@
|
||||
# This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.configstore@1.0-java
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(call local-generated-sources-dir, COMMON)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
LOCAL_JAVA_LIBRARIES := \
|
||||
android.hidl.base@1.0-java \
|
||||
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalBool)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalBool.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalBool
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalInt32)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalInt32.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalInt32
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalInt64)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalInt64.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalInt64
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalString)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalString.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalString
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalUInt32)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalUInt32.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalUInt32
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalUInt64)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalUInt64.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalUInt64
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build ISurfaceFlingerConfigs.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/ISurfaceFlingerConfigs.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISurfaceFlingerConfigs.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) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::ISurfaceFlingerConfigs
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
include $(BUILD_JAVA_LIBRARY)
|
||||
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.configstore@1.0-java-static
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(call local-generated-sources-dir, COMMON)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
LOCAL_STATIC_JAVA_LIBRARIES := \
|
||||
android.hidl.base@1.0-java-static \
|
||||
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalBool)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalBool.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalBool
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalInt32)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalInt32.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalInt32
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalInt64)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalInt64.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalInt64
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalString)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalString.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalString
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalUInt32)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalUInt32.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalUInt32
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (OptionalUInt64)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalUInt64.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.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::types.OptionalUInt64
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build ISurfaceFlingerConfigs.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_0/ISurfaceFlingerConfigs.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISurfaceFlingerConfigs.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) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.0::ISurfaceFlingerConfigs
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
include $(BUILD_STATIC_JAVA_LIBRARY)
|
||||
|
||||
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
21
configstore/1.0/ISurfaceFlingerConfigs.hal
Normal file
21
configstore/1.0/ISurfaceFlingerConfigs.hal
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.hardware.configstore@1.0;
|
||||
|
||||
interface ISurfaceFlingerConfigs {
|
||||
vsyncEventPhaseOffsetNs() generates (OptionalInt64 value);
|
||||
useTripleFramebuffer() generates (OptionalBool value);
|
||||
};
|
||||
40
configstore/1.0/default/Android.mk
Normal file
40
configstore/1.0/default/Android.mk
Normal file
@@ -0,0 +1,40 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
################################################################################
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.configstore@1.0-impl
|
||||
LOCAL_PROPRIETARY_MODULE := true
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
|
||||
include $(LOCAL_PATH)/surfaceflinger.mk
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libbase \
|
||||
libhidlbase \
|
||||
libhidltransport \
|
||||
libutils \
|
||||
android.hardware.configstore@1.0 \
|
||||
android.hidl.base@1.0
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
################################################################################
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.configstore@1.0-service
|
||||
LOCAL_PROPRIETARY_MODULE := true
|
||||
LOCAL_MODULE_CLASS := EXECUTABLES
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_INIT_RC := android.hardware.configstore@1.0-service.rc
|
||||
LOCAL_SRC_FILES:= service.cpp
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
liblog \
|
||||
libdl \
|
||||
libutils \
|
||||
libhidlbase \
|
||||
libhidltransport \
|
||||
android.hardware.configstore@1.0 \
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
||||
42
configstore/1.0/default/SurfaceFlingerConfigs.cpp
Normal file
42
configstore/1.0/default/SurfaceFlingerConfigs.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include "SurfaceFlingerConfigs.h"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace configstore {
|
||||
namespace V1_0 {
|
||||
namespace implementation {
|
||||
|
||||
// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
|
||||
Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) {
|
||||
#ifdef VSYNC_EVENT_PHASE_OFFSET_NS
|
||||
_hidl_cb({true, VSYNC_EVENT_PHASE_OFFSET_NS});
|
||||
LOG(INFO) << "vsync event phase offset ns = " << VSYNC_EVENT_PHASE_OFFSET_NS;
|
||||
#else
|
||||
_hidl_cb({false, 0});
|
||||
#endif
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SurfaceFlingerConfigs::useTripleFramebuffer(useTripleFramebuffer_cb _hidl_cb) {
|
||||
bool value = false;
|
||||
#ifdef USE_TRIPLE_FRAMEBUFFER
|
||||
value = true;
|
||||
#endif
|
||||
_hidl_cb({true, value});
|
||||
LOG(INFO) << "SurfaceFlinger FrameBuffer: " << (value ? "triple" : "double");
|
||||
return Void();
|
||||
}
|
||||
|
||||
// Methods from ::android::hidl::base::V1_0::IBase follow.
|
||||
|
||||
ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) {
|
||||
return new SurfaceFlingerConfigs();
|
||||
}
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V1_0
|
||||
} // namespace configstore
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
42
configstore/1.0/default/SurfaceFlingerConfigs.h
Normal file
42
configstore/1.0/default/SurfaceFlingerConfigs.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
|
||||
#define ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
|
||||
|
||||
#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h>
|
||||
#include <hidl/MQDescriptor.h>
|
||||
#include <hidl/Status.h>
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace configstore {
|
||||
namespace V1_0 {
|
||||
namespace implementation {
|
||||
|
||||
using ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs;
|
||||
using ::android::hardware::configstore::V1_0::OptionalBool;
|
||||
using ::android::hidl::base::V1_0::IBase;
|
||||
using ::android::hardware::hidl_array;
|
||||
using ::android::hardware::hidl_memory;
|
||||
using ::android::hardware::hidl_string;
|
||||
using ::android::hardware::hidl_vec;
|
||||
using ::android::hardware::Return;
|
||||
using ::android::hardware::Void;
|
||||
using ::android::sp;
|
||||
|
||||
struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs {
|
||||
// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
|
||||
Return<void> vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override;
|
||||
Return<void> useTripleFramebuffer(useTripleFramebuffer_cb _hidl_cb) override;
|
||||
|
||||
// Methods from ::android::hidl::base::V1_0::IBase follow.
|
||||
|
||||
};
|
||||
|
||||
extern "C" ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* name);
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V1_0
|
||||
} // namespace configstore
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
|
||||
@@ -0,0 +1,4 @@
|
||||
service configstore-hal-1-0 /vendor/bin/hw/android.hardware.configstore@1.0-service
|
||||
class hal
|
||||
user system
|
||||
group system
|
||||
34
configstore/1.0/default/service.cpp
Normal file
34
configstore/1.0/default/service.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "android.hardware.configstore@1.0-service"
|
||||
|
||||
#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h>
|
||||
#include <hidl/LegacySupport.h>
|
||||
|
||||
using android::hardware::configstore::V1_0::ISurfaceFlingerConfigs;
|
||||
using android::hardware::configureRpcThreadpool;
|
||||
using android::hardware::registerPassthroughServiceImplementation;
|
||||
using android::hardware::joinRpcThreadpool;
|
||||
|
||||
int main() {
|
||||
// TODO(b/34857894): tune the max thread count.
|
||||
configureRpcThreadpool(10, true);
|
||||
registerPassthroughServiceImplementation<ISurfaceFlingerConfigs>();
|
||||
// other interface registration comes here
|
||||
joinRpcThreadpool();
|
||||
return 0;
|
||||
}
|
||||
10
configstore/1.0/default/surfaceflinger.mk
Normal file
10
configstore/1.0/default/surfaceflinger.mk
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
LOCAL_SRC_FILES += SurfaceFlingerConfigs.cpp
|
||||
|
||||
ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),)
|
||||
LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS)
|
||||
endif
|
||||
|
||||
ifeq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),3)
|
||||
LOCAL_CFLAGS += -DUSE_TRIPLE_FRAMEBUFFER
|
||||
endif
|
||||
46
configstore/1.0/types.hal
Normal file
46
configstore/1.0/types.hal
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.hardware.configstore@1.0;
|
||||
|
||||
struct OptionalBool {
|
||||
bool specified;
|
||||
bool value;
|
||||
};
|
||||
|
||||
struct OptionalInt32 {
|
||||
bool specified;
|
||||
int32_t value;
|
||||
};
|
||||
|
||||
struct OptionalUInt32 {
|
||||
bool specified;
|
||||
uint32_t value;
|
||||
};
|
||||
|
||||
struct OptionalInt64 {
|
||||
bool specified;
|
||||
int64_t value;
|
||||
};
|
||||
|
||||
struct OptionalUInt64 {
|
||||
bool specified;
|
||||
uint64_t value;
|
||||
};
|
||||
|
||||
struct OptionalString {
|
||||
bool specified;
|
||||
string value;
|
||||
};
|
||||
5
configstore/Android.bp
Normal file
5
configstore/Android.bp
Normal file
@@ -0,0 +1,5 @@
|
||||
// This is an autogenerated file, do not edit.
|
||||
subdirs = [
|
||||
"1.0",
|
||||
"utils",
|
||||
]
|
||||
27
configstore/utils/Android.bp
Normal file
27
configstore/utils/Android.bp
Normal file
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// Copyright (C) 2017 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.
|
||||
//
|
||||
|
||||
cc_library_headers {
|
||||
name: "android.hardware.configstore-utils",
|
||||
defaults: ["hidl_defaults"],
|
||||
export_include_dirs: ["include"],
|
||||
shared_libs: [
|
||||
"libhidlbase"
|
||||
],
|
||||
export_shared_lib_headers: [
|
||||
"libhidlbase"
|
||||
],
|
||||
}
|
||||
94
configstore/utils/include/configstore/Utils.h
Normal file
94
configstore/utils/include/configstore/Utils.h
Normal file
@@ -0,0 +1,94 @@
|
||||
//
|
||||
// Copyright (C) 2017 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.
|
||||
//
|
||||
|
||||
#ifndef ANDROID_HARDWARE_CONFIGSTORE_UTILS_H
|
||||
#define ANDROID_HARDWARE_CONFIGSTORE_UTILS_H
|
||||
|
||||
#include <hidl/Status.h>
|
||||
#include <stdatomic.h>
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace configstore {
|
||||
// arguments V: type for the value (i.e., OptionalXXX)
|
||||
// I: interface class name
|
||||
// func: member function pointer
|
||||
using namespace V1_0;
|
||||
|
||||
template<typename V, typename I, android::hardware::Return<void> (I::* func)
|
||||
(std::function<void(const V&)>)>
|
||||
decltype(V::value) get(const decltype(V::value) &defValue) {
|
||||
auto getHelper = []()->V {
|
||||
V ret;
|
||||
sp<I> configs = I::getService();
|
||||
|
||||
if (!configs.get()) {
|
||||
// fallback to the default value
|
||||
ret.specified = false;
|
||||
} else {
|
||||
(*configs.*func)([&ret](V v) {
|
||||
ret = v;
|
||||
});
|
||||
}
|
||||
|
||||
return ret;
|
||||
};
|
||||
static V cachedValue = getHelper();
|
||||
|
||||
return cachedValue.specified ? cachedValue.value : defValue;
|
||||
}
|
||||
|
||||
template<typename I, android::hardware::Return<void> (I::* func)
|
||||
(std::function<void(const OptionalBool&)>)>
|
||||
bool getBool(const bool defValue) {
|
||||
return get<OptionalBool, I, func>(defValue);
|
||||
}
|
||||
|
||||
template<typename I, android::hardware::Return<void> (I::* func)
|
||||
(std::function<void(const OptionalInt32&)>)>
|
||||
int32_t getInt32(const int32_t defValue) {
|
||||
return get<OptionalInt32, I, func>(defValue);
|
||||
}
|
||||
|
||||
template<typename I, android::hardware::Return<void> (I::* func)
|
||||
(std::function<void(const OptionalUInt32&)>)>
|
||||
uint32_t getUInt32(const uint32_t defValue) {
|
||||
return get<OptionalUInt32, I, func>(defValue);
|
||||
}
|
||||
|
||||
template<typename I, android::hardware::Return<void> (I::* func)
|
||||
(std::function<void(const OptionalInt64&)>)>
|
||||
int64_t getInt64(const int64_t defValue) {
|
||||
return get<OptionalInt64, I, func>(defValue);
|
||||
}
|
||||
|
||||
template<typename I, android::hardware::Return<void> (I::* func)
|
||||
(std::function<void(const OptionalUInt64&)>)>
|
||||
uint64_t getUInt64(const uint64_t defValue) {
|
||||
return get<OptionalUInt64, I, func>(defValue);
|
||||
}
|
||||
|
||||
template<typename I, android::hardware::Return<void> (I::* func)
|
||||
(std::function<void(const OptionalString&)>)>
|
||||
std::string getString(const std::string &defValue) {
|
||||
return get<OptionalString, I, func>(defValue);
|
||||
}
|
||||
|
||||
} // namespace configstore
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_CONFIGSTORE_UTILS_H
|
||||
Reference in New Issue
Block a user