summaryrefslogtreecommitdiff
path: root/include/ui/Camera.h
diff options
context:
space:
mode:
author Android (Google) Code Review <android-gerrit@google.com> 2009-06-24 13:54:09 -0700
committer The Android Open Source Project <initial-contribution@android.com> 2009-06-24 13:54:09 -0700
commit2387208c9ecb5dba01bd933312c80c5133bd3c41 (patch)
treecc2b5de61934f318bcb3806d5a3705527b18c947 /include/ui/Camera.h
parentffcdad9faaa03c116bacc5ac88a5aa2e015dc6d1 (diff)
parent3d7b8d1aa6a362292f56defbe8fb2d5653f79282 (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.h13
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;