Offload HAL Service: Implements Offload HAL

Define OffloadServer class that implements the Offload HAL service and
the callback interface to the CHRE platform. This is where the
communication to the CHRE interface will take place and this class is
created to be testable for unit testing.

Bug: 32842314
Test: VTS
Change-Id: I9c259ab2b721d7d1ac8cb16083c464002c237a16
This commit is contained in:
Sohani Rao
2017-05-22 14:20:31 -07:00
parent 29a90c0b97
commit 5b1d1672ea
3 changed files with 133 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
#include "offload_server.h"
#include <android-base/logging.h>
#include <chrono>
namespace android {
namespace hardware {
namespace wifi {
namespace offload {
namespace V1_0 {
namespace implementation {
class OffloadServer;
OffloadServer::OffloadServer() : mChreInterfaceCallbacks(new ChreInterfaceCallbacksImpl(this)) {
LOG(VERBOSE) << "Wifi Offload HAL impl";
}
bool OffloadServer::configureScans(const ScanParam& param, const ScanFilter& filter) {
LOG(INFO) << "configureScans";
return true;
}
std::pair<ScanStats, bool> OffloadServer::getScanStats() {
LOG(INFO) << "getScanStats";
return std::make_pair(mScanStats, true);
}
bool OffloadServer::subscribeScanResults(uint32_t delayMs) {
LOG(INFO) << "subscribeScanResults with delay:" << delayMs;
return true;
}
bool OffloadServer::unsubscribeScanResults() {
LOG(INFO) << "unsubscribeScanResults";
return true;
}
bool OffloadServer::setEventCallback(const sp<IOffloadCallback>& cb) {
LOG(INFO) << "Set Event callback";
bool result = false;
if (cb != nullptr) {
mEventCallback = cb;
result = true;
} else {
LOG(WARNING) << "Invalid callback object";
}
return result;
}
ChreInterfaceCallbacksImpl::ChreInterfaceCallbacksImpl(OffloadServer* server) : mServer(server) {
}
ChreInterfaceCallbacksImpl::~ChreInterfaceCallbacksImpl() {
}
void ChreInterfaceCallbacksImpl::handleConnectionEvents(
ChreInterfaceCallbacks::ConnectionEvent event) {
LOG(VERBOSE) << "Connection event received " << (int)event;
}
void ChreInterfaceCallbacksImpl::handleMessage(uint32_t messageType,
const std::vector<uint8_t>& message) {
LOG(VERBOSE) << "Message from Nano app " << messageType;
}
// Methods from ::android::hidl::base::V1_0::IBase follow.
} // namespace implementation
} // namespace V1_0
} // namespace offload
} // namespace wifi
} // namespace hardware
} // namespace android