From 5376573eff55f370f041889618c9a7a9e1894615 Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Wed, 20 Feb 2013 17:41:57 -0800 Subject: Camera: ProClient add asynchronous locks and such Change-Id: I551e5e5e76d9be733fab5224beaa7309268c0f38 --- include/camera/IProCameraCallbacks.h | 8 ++++++++ include/camera/ProCamera.h | 7 +++++-- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'include/camera') diff --git a/include/camera/IProCameraCallbacks.h b/include/camera/IProCameraCallbacks.h index ac1d5eb..e5be099 100644 --- a/include/camera/IProCameraCallbacks.h +++ b/include/camera/IProCameraCallbacks.h @@ -39,6 +39,14 @@ public: virtual void dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp& data) = 0; + + enum LockStatus { + LOCK_ACQUIRED, + LOCK_RELEASED, + LOCK_STOLEN, + }; + + virtual void onLockStatusChanged(LockStatus newLockStatus) = 0; }; // ---------------------------------------------------------------------------- diff --git a/include/camera/ProCamera.h b/include/camera/ProCamera.h index ba5fdc0..2dd01e3 100644 --- a/include/camera/ProCamera.h +++ b/include/camera/ProCamera.h @@ -34,9 +34,10 @@ class ProCameraListener : public CameraListener public: // Lock has been acquired. Write operations now available. virtual void onLockAcquired() = 0; - // Lock has been released with exclusiveUnlock, or has been stolen by - // another client. + // Lock has been released with exclusiveUnlock. virtual void onLockReleased() = 0; + // Lock has been stolen by another client. + virtual void onLockStolen() = 0; // Lock free. virtual void onTriggerNotify(int32_t msgType, int32_t ext1, int32_t ext2) @@ -129,6 +130,8 @@ protected: virtual void dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp& dataPtr); + virtual void onLockStatusChanged( + IProCameraCallbacks::LockStatus newLockStatus); class DeathNotifier: public IBinder::DeathRecipient { -- cgit v1.1