Rename SensorChannel to BitTube
This commit is contained in:
parent
6651db884e
commit
5cae0d0699
@ -28,14 +28,15 @@ namespace android {
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
class Parcel;
|
class Parcel;
|
||||||
|
|
||||||
class SensorChannel : public RefBase
|
class BitTube : public RefBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SensorChannel();
|
BitTube();
|
||||||
SensorChannel(const Parcel& data);
|
BitTube(const Parcel& data);
|
||||||
virtual ~SensorChannel();
|
virtual ~BitTube();
|
||||||
|
|
||||||
|
status_t initCheck() const;
|
||||||
int getFd() const;
|
int getFd() const;
|
||||||
ssize_t write(void const* vaddr, size_t size);
|
ssize_t write(void const* vaddr, size_t size);
|
||||||
ssize_t read(void* vaddr, size_t size);
|
ssize_t read(void* vaddr, size_t size);
|
@ -28,14 +28,14 @@
|
|||||||
namespace android {
|
namespace android {
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class SensorChannel;
|
class BitTube;
|
||||||
|
|
||||||
class ISensorEventConnection : public IInterface
|
class ISensorEventConnection : public IInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DECLARE_META_INTERFACE(SensorEventConnection);
|
DECLARE_META_INTERFACE(SensorEventConnection);
|
||||||
|
|
||||||
virtual sp<SensorChannel> getSensorChannel() const = 0;
|
virtual sp<BitTube> getSensorChannel() const = 0;
|
||||||
virtual status_t enableDisable(int handle, bool enabled) = 0;
|
virtual status_t enableDisable(int handle, bool enabled) = 0;
|
||||||
virtual status_t setEventRate(int handle, nsecs_t ns) = 0;
|
virtual status_t setEventRate(int handle, nsecs_t ns) = 0;
|
||||||
};
|
};
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include <utils/RefBase.h>
|
#include <utils/RefBase.h>
|
||||||
#include <utils/Timers.h>
|
#include <utils/Timers.h>
|
||||||
|
|
||||||
#include <gui/SensorChannel.h>
|
#include <gui/BitTube.h>
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
sp<Looper> getLooper() const;
|
sp<Looper> getLooper() const;
|
||||||
sp<ISensorEventConnection> mSensorEventConnection;
|
sp<ISensorEventConnection> mSensorEventConnection;
|
||||||
sp<SensorChannel> mSensorChannel;
|
sp<BitTube> mSensorChannel;
|
||||||
mutable Mutex mLock;
|
mutable Mutex mLock;
|
||||||
mutable sp<Looper> mLooper;
|
mutable sp<Looper> mLooper;
|
||||||
};
|
};
|
||||||
|
@ -2,11 +2,11 @@ LOCAL_PATH:= $(call my-dir)
|
|||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_SRC_FILES:= \
|
LOCAL_SRC_FILES:= \
|
||||||
|
BitTube.cpp \
|
||||||
ISensorEventConnection.cpp \
|
ISensorEventConnection.cpp \
|
||||||
ISensorServer.cpp \
|
ISensorServer.cpp \
|
||||||
ISurfaceTexture.cpp \
|
ISurfaceTexture.cpp \
|
||||||
Sensor.cpp \
|
Sensor.cpp \
|
||||||
SensorChannel.cpp \
|
|
||||||
SensorEventQueue.cpp \
|
SensorEventQueue.cpp \
|
||||||
SensorManager.cpp \
|
SensorManager.cpp \
|
||||||
SurfaceTexture.cpp \
|
SurfaceTexture.cpp \
|
||||||
|
@ -24,12 +24,12 @@
|
|||||||
|
|
||||||
#include <binder/Parcel.h>
|
#include <binder/Parcel.h>
|
||||||
|
|
||||||
#include <gui/SensorChannel.h>
|
#include <gui/BitTube.h>
|
||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
SensorChannel::SensorChannel()
|
BitTube::BitTube()
|
||||||
: mSendFd(-1), mReceiveFd(-1)
|
: mSendFd(-1), mReceiveFd(-1)
|
||||||
{
|
{
|
||||||
int fds[2];
|
int fds[2];
|
||||||
@ -38,17 +38,26 @@ SensorChannel::SensorChannel()
|
|||||||
mSendFd = fds[1];
|
mSendFd = fds[1];
|
||||||
fcntl(mReceiveFd, F_SETFL, O_NONBLOCK);
|
fcntl(mReceiveFd, F_SETFL, O_NONBLOCK);
|
||||||
fcntl(mSendFd, F_SETFL, O_NONBLOCK);
|
fcntl(mSendFd, F_SETFL, O_NONBLOCK);
|
||||||
|
} else {
|
||||||
|
mReceiveFd = -errno;
|
||||||
|
LOGE("BitTube: pipe creation failed (%s)", strerror(-mReceiveFd));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SensorChannel::SensorChannel(const Parcel& data)
|
BitTube::BitTube(const Parcel& data)
|
||||||
: mSendFd(-1), mReceiveFd(-1)
|
: mSendFd(-1), mReceiveFd(-1)
|
||||||
{
|
{
|
||||||
mReceiveFd = dup(data.readFileDescriptor());
|
mReceiveFd = dup(data.readFileDescriptor());
|
||||||
fcntl(mReceiveFd, F_SETFL, O_NONBLOCK);
|
if (mReceiveFd >= 0) {
|
||||||
|
fcntl(mReceiveFd, F_SETFL, O_NONBLOCK);
|
||||||
|
} else {
|
||||||
|
mReceiveFd = -errno;
|
||||||
|
LOGE("BitTube(Parcel): can't dup filedescriptor (%s)",
|
||||||
|
strerror(-mReceiveFd));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SensorChannel::~SensorChannel()
|
BitTube::~BitTube()
|
||||||
{
|
{
|
||||||
if (mSendFd >= 0)
|
if (mSendFd >= 0)
|
||||||
close(mSendFd);
|
close(mSendFd);
|
||||||
@ -57,28 +66,41 @@ SensorChannel::~SensorChannel()
|
|||||||
close(mReceiveFd);
|
close(mReceiveFd);
|
||||||
}
|
}
|
||||||
|
|
||||||
int SensorChannel::getFd() const
|
status_t BitTube::initCheck() const
|
||||||
|
{
|
||||||
|
if (mReceiveFd < 0) {
|
||||||
|
return status_t(mReceiveFd);
|
||||||
|
}
|
||||||
|
return NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
int BitTube::getFd() const
|
||||||
{
|
{
|
||||||
return mReceiveFd;
|
return mReceiveFd;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t SensorChannel::write(void const* vaddr, size_t size)
|
ssize_t BitTube::write(void const* vaddr, size_t size)
|
||||||
{
|
{
|
||||||
ssize_t len = ::write(mSendFd, vaddr, size);
|
ssize_t err, len;
|
||||||
if (len < 0)
|
do {
|
||||||
return -errno;
|
len = ::write(mSendFd, vaddr, size);
|
||||||
return len;
|
err = len < 0 ? errno : 0;
|
||||||
|
} while (err == EINTR);
|
||||||
|
return err == 0 ? len : -err;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t SensorChannel::read(void* vaddr, size_t size)
|
ssize_t BitTube::read(void* vaddr, size_t size)
|
||||||
{
|
{
|
||||||
ssize_t len = ::read(mReceiveFd, vaddr, size);
|
ssize_t err, len;
|
||||||
if (len < 0)
|
do {
|
||||||
return -errno;
|
len = ::read(mReceiveFd, vaddr, size);
|
||||||
return len;
|
err = len < 0 ? errno : 0;
|
||||||
|
} while (err == EINTR);
|
||||||
|
return err == 0 ? len : -err;
|
||||||
}
|
}
|
||||||
|
|
||||||
status_t SensorChannel::writeToParcel(Parcel* reply) const
|
status_t BitTube::writeToParcel(Parcel* reply) const
|
||||||
{
|
{
|
||||||
if (mReceiveFd < 0)
|
if (mReceiveFd < 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
@ -25,7 +25,7 @@
|
|||||||
#include <binder/IInterface.h>
|
#include <binder/IInterface.h>
|
||||||
|
|
||||||
#include <gui/ISensorEventConnection.h>
|
#include <gui/ISensorEventConnection.h>
|
||||||
#include <gui/SensorChannel.h>
|
#include <gui/BitTube.h>
|
||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -44,12 +44,12 @@ public:
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual sp<SensorChannel> getSensorChannel() const
|
virtual sp<BitTube> getSensorChannel() const
|
||||||
{
|
{
|
||||||
Parcel data, reply;
|
Parcel data, reply;
|
||||||
data.writeInterfaceToken(ISensorEventConnection::getInterfaceDescriptor());
|
data.writeInterfaceToken(ISensorEventConnection::getInterfaceDescriptor());
|
||||||
remote()->transact(GET_SENSOR_CHANNEL, data, &reply);
|
remote()->transact(GET_SENSOR_CHANNEL, data, &reply);
|
||||||
return new SensorChannel(reply);
|
return new BitTube(reply);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual status_t enableDisable(int handle, bool enabled)
|
virtual status_t enableDisable(int handle, bool enabled)
|
||||||
@ -83,7 +83,7 @@ status_t BnSensorEventConnection::onTransact(
|
|||||||
switch(code) {
|
switch(code) {
|
||||||
case GET_SENSOR_CHANNEL: {
|
case GET_SENSOR_CHANNEL: {
|
||||||
CHECK_INTERFACE(ISensorEventConnection, data, reply);
|
CHECK_INTERFACE(ISensorEventConnection, data, reply);
|
||||||
sp<SensorChannel> channel(getSensorChannel());
|
sp<BitTube> channel(getSensorChannel());
|
||||||
channel->writeToParcel(reply);
|
channel->writeToParcel(reply);
|
||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
} break;
|
} break;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include <utils/Looper.h>
|
#include <utils/Looper.h>
|
||||||
|
|
||||||
#include <gui/Sensor.h>
|
#include <gui/Sensor.h>
|
||||||
#include <gui/SensorChannel.h>
|
#include <gui/BitTube.h>
|
||||||
#include <gui/SensorEventQueue.h>
|
#include <gui/SensorEventQueue.h>
|
||||||
#include <gui/ISensorEventConnection.h>
|
#include <gui/ISensorEventConnection.h>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ status_t SensorEventQueue::waitForEvent() const
|
|||||||
do {
|
do {
|
||||||
result = looper->pollOnce(-1);
|
result = looper->pollOnce(-1);
|
||||||
if (result == ALOOPER_EVENT_ERROR) {
|
if (result == ALOOPER_EVENT_ERROR) {
|
||||||
LOGE("SensorChannel::waitForEvent error (errno=%d)", errno);
|
LOGE("SensorEventQueue::waitForEvent error (errno=%d)", errno);
|
||||||
result = -EPIPE; // unknown error, so we make up one
|
result = -EPIPE; // unknown error, so we make up one
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user