summaryrefslogtreecommitdiffstats
path: root/camera/CameraBase.cpp
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2013-02-27 12:55:20 -0800
committerIgor Murashkin <iam@google.com>2013-02-28 15:55:15 -0800
commitbfc9915f482520eb9676c6d2dbf7f1ac078d937d (patch)
tree1353c3f2f63777397770edfd1f146c691e5684e2 /camera/CameraBase.cpp
parent3fa4891f54bbfdbe8ee652930d22c96639964eff (diff)
downloadframeworks_av-bfc9915f482520eb9676c6d2dbf7f1ac078d937d.zip
frameworks_av-bfc9915f482520eb9676c6d2dbf7f1ac078d937d.tar.gz
frameworks_av-bfc9915f482520eb9676c6d2dbf7f1ac078d937d.tar.bz2
Camera: Drop ProCamera connections when a Camera connection happens
* Also adds an ICameraServiceListener with available/not available statuses Bug: 8291653 Change-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84
Diffstat (limited to 'camera/CameraBase.cpp')
-rw-r--r--camera/CameraBase.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/camera/CameraBase.cpp b/camera/CameraBase.cpp
index 9b0e6bf..29096da 100644
--- a/camera/CameraBase.cpp
+++ b/camera/CameraBase.cpp
@@ -231,6 +231,22 @@ status_t CameraBase<TCam, TCamTraits>::getCameraInfo(int cameraId,
return cs->getCameraInfo(cameraId, cameraInfo);
}
+template <typename TCam, typename TCamTraits>
+status_t CameraBase<TCam, TCamTraits>::addServiceListener(
+ const sp<ICameraServiceListener>& listener) {
+ const sp<ICameraService>& cs = getCameraService();
+ if (cs == 0) return UNKNOWN_ERROR;
+ return cs->addListener(listener);
+}
+
+template <typename TCam, typename TCamTraits>
+status_t CameraBase<TCam, TCamTraits>::removeServiceListener(
+ const sp<ICameraServiceListener>& listener) {
+ const sp<ICameraService>& cs = getCameraService();
+ if (cs == 0) return UNKNOWN_ERROR;
+ return cs->removeListener(listener);
+}
+
template class CameraBase<ProCamera>;
template class CameraBase<Camera>;