summaryrefslogtreecommitdiff
path: root/libs/ui/ICamera.cpp
diff options
context:
space:
mode:
author Wu-cheng Li <wuchengli@google.com> 2009-09-28 16:14:58 -0700
committer Wu-cheng Li <wuchengli@google.com> 2009-10-06 13:25:10 -0700
commit36f68b8f24df906c969581b0b8e1a47f95dc03cb (patch)
treeb1c8987ccd5b30c5527fc9abcfe275f163d8d8c5 /libs/ui/ICamera.cpp
parent5bba632d877c2878384ff21566c8eb6a1a22f37b (diff)
Add zoom functions and sendCommand.
b2060030
Diffstat (limited to 'libs/ui/ICamera.cpp')
-rw-r--r--libs/ui/ICamera.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/libs/ui/ICamera.cpp b/libs/ui/ICamera.cpp
index fd7e084d2899..e1b3ec7fa7bf 100644
--- a/libs/ui/ICamera.cpp
+++ b/libs/ui/ICamera.cpp
@@ -36,6 +36,7 @@ enum {
TAKE_PICTURE,
SET_PARAMETERS,
GET_PARAMETERS,
+ SEND_COMMAND,
CONNECT,
LOCK,
UNLOCK,
@@ -205,6 +206,17 @@ public:
remote()->transact(GET_PARAMETERS, data, &reply);
return reply.readString8();
}
+ virtual status_t sendCommand(int32_t cmd, int32_t arg1, int32_t arg2)
+ {
+ LOGD("sendCommand");
+ Parcel data, reply;
+ data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
+ data.writeInt32(cmd);
+ data.writeInt32(arg1);
+ data.writeInt32(arg2);
+ remote()->transact(SEND_COMMAND, data, &reply);
+ return reply.readInt32();
+ }
virtual status_t connect(const sp<ICameraClient>& cameraClient)
{
Parcel data, reply;
@@ -331,6 +343,15 @@ status_t BnCamera::onTransact(
reply->writeString8(getParameters());
return NO_ERROR;
} break;
+ case SEND_COMMAND: {
+ LOGD("SEND_COMMAND");
+ CHECK_INTERFACE(ICamera, data, reply);
+ int command = data.readInt32();
+ int arg1 = data.readInt32();
+ int arg2 = data.readInt32();
+ reply->writeInt32(sendCommand(command, arg1, arg2));
+ return NO_ERROR;
+ } break;
case CONNECT: {
CHECK_INTERFACE(ICamera, data, reply);
sp<ICameraClient> cameraClient = interface_cast<ICameraClient>(data.readStrongBinder());