upload android base code part6

This commit is contained in:
August 2018-08-08 17:48:24 +08:00
parent 421e214c7d
commit 4e516ec6ed
35396 changed files with 9188716 additions and 0 deletions

View file

@ -0,0 +1,62 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
filegroup {
name: "android.system.net.netd@1.0_hal",
srcs: [
"INetd.hal",
],
}
genrule {
name: "android.system.net.netd@1.0_genc++",
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport -randroid.system:system/hardware/interfaces android.system.net.netd@1.0",
srcs: [
":android.system.net.netd@1.0_hal",
],
out: [
"android/system/net/netd/1.0/NetdAll.cpp",
],
}
genrule {
name: "android.system.net.netd@1.0_genc++_headers",
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport -randroid.system:system/hardware/interfaces android.system.net.netd@1.0",
srcs: [
":android.system.net.netd@1.0_hal",
],
out: [
"android/system/net/netd/1.0/INetd.h",
"android/system/net/netd/1.0/IHwNetd.h",
"android/system/net/netd/1.0/BnHwNetd.h",
"android/system/net/netd/1.0/BpHwNetd.h",
"android/system/net/netd/1.0/BsNetd.h",
],
}
cc_library {
name: "android.system.net.netd@1.0",
defaults: ["hidl-module-defaults"],
generated_sources: ["android.system.net.netd@1.0_genc++"],
generated_headers: ["android.system.net.netd@1.0_genc++_headers"],
export_generated_headers: ["android.system.net.netd@1.0_genc++_headers"],
vendor_available: true,
vndk: {
enabled: true,
},
shared_libs: [
"libhidlbase",
"libhidltransport",
"libhwbinder",
"liblog",
"libutils",
"libcutils",
],
export_shared_lib_headers: [
"libhidlbase",
"libhidltransport",
"libhwbinder",
"libutils",
],
}

View file

@ -0,0 +1,58 @@
/*
* Copyright 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.system.net.netd@1.0;
/**
* This is the root of the HAL module and is the interface returned when
* loading an implementation of the INetd HAL.
*/
interface INetd {
/**
* Return values for INetd requests
*/
enum StatusCode : int32_t {
OK,
INVALID_ARGUMENTS,
NO_NETWORK,
ALREADY_EXISTS,
PERMISSION_DENIED,
UNKNOWN_ERROR
};
/**
* Creates a physical network to be used for interfaces managed by the OEM
*
* @return networkHandle a handle to the OEM network. Zero implies
* no networks are available and created
* @return packetMark The packet mark that vendor network stack configuration code must use when
* routing packets to this network. No applications may use this mark. They must
* instead pass the networkHandle to the android_set*network LL-NDK APIs.
* @return status operation status
*/
@entry
@callflow(next={"*"})
createOemNetwork() generates (uint64_t networkHandle, uint32_t packetMark, StatusCode status);
/**
* Destroys the specified network previously created using createOemNetwork()
*
* @return status operation status
*/
@exit
@callflow(next="createOemNetwork")
destroyOemNetwork(uint64_t networkHandle) generates (StatusCode status);
};

View file

@ -0,0 +1,18 @@
cc_test {
name: "VtsHalNetNetdV1_0TargetTest",
srcs: [
"VtsHalNetNetdV1_0TargetTest.cpp",
],
shared_libs: [
"liblog",
"libhidlbase",
"libhidltransport",
"libutils",
"android.system.net.netd@1.0",
],
static_libs: ["VtsHalHidlTargetTestBase"],
cflags: [
"-O0",
"-g",
],
}

View file

@ -0,0 +1,65 @@
/*
* Copyright 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 "netd_hidl_test"
#include <VtsHalHidlTargetTestBase.h>
#include <android/system/net/netd/1.0/INetd.h>
#include <log/log.h>
using ::android::system::net::netd::V1_0::INetd;
using ::android::hardware::Return;
using ::android::sp;
class NetdHidlTest : public ::testing::VtsHalHidlTargetTestBase {
public:
virtual void SetUp() override {
netd = ::testing::VtsHalHidlTargetTestBase::getService<INetd>();
ASSERT_NE(nullptr, netd.get()) << "Could not get HIDL instance";
}
sp<INetd> netd;
};
// positive test. Ensure netd creates an oem network and returns valid netHandle, and destroys it.
TEST_F(NetdHidlTest, TestCreateAndDestroyOemNetworkOk) {
auto cb = [this](uint64_t netHandle, uint32_t packetMark, INetd::StatusCode status) {
ASSERT_EQ(INetd::StatusCode::OK, status);
ASSERT_NE((uint64_t)0, netHandle);
ASSERT_NE((uint32_t)0, packetMark);
Return<INetd::StatusCode> retStatus = netd->destroyOemNetwork(netHandle);
ASSERT_EQ(INetd::StatusCode::OK, retStatus);
};
Return<void> ret = netd->createOemNetwork(cb);
ASSERT_TRUE(ret.isOk());
}
// negative test. Ensure destroy for invalid OEM network fails appropriately
TEST_F(NetdHidlTest, TestDestroyOemNetworkInvalid) {
const uint64_t nh = 0x6600FACADE;
Return<INetd::StatusCode> retStatus = netd->destroyOemNetwork(nh);
ASSERT_EQ(INetd::StatusCode::INVALID_ARGUMENTS, retStatus);
}
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
int status = RUN_ALL_TESTS();
ALOGE("Test result with status=%d", status);
return status;
}