diff options
author | Igor Murashkin <iam@google.com> | 2013-02-27 12:55:20 -0800 |
---|---|---|
committer | Igor Murashkin <iam@google.com> | 2013-02-28 15:55:15 -0800 |
commit | bfc9915f482520eb9676c6d2dbf7f1ac078d937d (patch) | |
tree | 1353c3f2f63777397770edfd1f146c691e5684e2 /camera/CameraBase.cpp | |
parent | 3fa4891f54bbfdbe8ee652930d22c96639964eff (diff) | |
download | frameworks_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.cpp | 16 |
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>; |