diff options
| author | 2009-06-24 13:54:09 -0700 | |
|---|---|---|
| committer | 2009-06-24 13:54:09 -0700 | |
| commit | 2387208c9ecb5dba01bd933312c80c5133bd3c41 (patch) | |
| tree | cc2b5de61934f318bcb3806d5a3705527b18c947 /include/ui/Camera.h | |
| parent | ffcdad9faaa03c116bacc5ac88a5aa2e015dc6d1 (diff) | |
| parent | 3d7b8d1aa6a362292f56defbe8fb2d5653f79282 (diff) | |
am 3d7b8d1a: Merge change 5158 into donut
Merge commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282'
* commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282':
Use a ref-counted callback interface for Camera.
Diffstat (limited to 'include/ui/Camera.h')
| -rw-r--r-- | include/ui/Camera.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/ui/Camera.h b/include/ui/Camera.h index 048bdd560b0b..bd4855ce6b75 100644 --- a/include/ui/Camera.h +++ b/include/ui/Camera.h @@ -86,6 +86,14 @@ class Surface; class Mutex; class String8; +// ref-counted object for callbacks +class CameraListener: virtual public RefBase +{ +public: + virtual void notify(int32_t msgType, int32_t ext1, int32_t ext2) = 0; + virtual void postData(int32_t msgType, const sp<IMemory>& dataPtr) = 0; +}; + typedef void (*shutter_callback)(void *cookie); typedef void (*frame_callback)(const sp<IMemory>& mem, void *cookie); typedef void (*autofocus_callback)(bool focused, void *cookie); @@ -152,6 +160,9 @@ public: void setErrorCallback(error_callback cb, void *cookie); void setAutoFocusCallback(autofocus_callback cb, void *cookie); + void setListener(const sp<CameraListener>& listener); + void setPreviewCallbackFlags(int preview_callback_flag); + // ICameraClient interface virtual void notifyCallback(int32_t msgType, int32_t ext, int32_t ext2); virtual void dataCallback(int32_t msgType, const sp<IMemory>& dataPtr); @@ -194,6 +205,8 @@ private: autofocus_callback mAutoFocusCallback; void *mAutoFocusCallbackCookie; + sp<CameraListener> mListener; + friend class DeathNotifier; static Mutex mLock; |