|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
|
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #ifndef DOM_CAMERA_DOMCAMERACONTROLLISTENER_H |
|
6 #define DOM_CAMERA_DOMCAMERACONTROLLISTENER_H |
|
7 |
|
8 #include "nsProxyRelease.h" |
|
9 #include "CameraControlListener.h" |
|
10 |
|
11 namespace mozilla { |
|
12 |
|
13 class nsDOMCameraControl; |
|
14 class CameraPreviewMediaStream; |
|
15 |
|
16 class DOMCameraControlListener : public CameraControlListener |
|
17 { |
|
18 public: |
|
19 DOMCameraControlListener(nsDOMCameraControl* aDOMCameraControl, CameraPreviewMediaStream* aStream); |
|
20 |
|
21 virtual void OnAutoFocusComplete(bool aAutoFocusSucceeded) MOZ_OVERRIDE; |
|
22 virtual void OnAutoFocusMoving(bool aIsMoving) MOZ_OVERRIDE; |
|
23 virtual void OnFacesDetected(const nsTArray<ICameraControl::Face>& aFaces) MOZ_OVERRIDE; |
|
24 virtual void OnTakePictureComplete(uint8_t* aData, uint32_t aLength, const nsAString& aMimeType) MOZ_OVERRIDE; |
|
25 |
|
26 virtual void OnHardwareStateChange(HardwareState aState) MOZ_OVERRIDE; |
|
27 virtual void OnPreviewStateChange(PreviewState aState) MOZ_OVERRIDE; |
|
28 virtual void OnRecorderStateChange(RecorderState aState, int32_t aStatus, int32_t aTrackNum) MOZ_OVERRIDE; |
|
29 virtual void OnConfigurationChange(const CameraListenerConfiguration& aConfiguration) MOZ_OVERRIDE; |
|
30 virtual void OnShutter() MOZ_OVERRIDE; |
|
31 virtual bool OnNewPreviewFrame(layers::Image* aImage, uint32_t aWidth, uint32_t aHeight) MOZ_OVERRIDE; |
|
32 virtual void OnError(CameraErrorContext aContext, CameraError aError) MOZ_OVERRIDE; |
|
33 |
|
34 protected: |
|
35 virtual ~DOMCameraControlListener(); |
|
36 |
|
37 nsMainThreadPtrHandle<nsDOMCameraControl> mDOMCameraControl; |
|
38 CameraPreviewMediaStream* mStream; |
|
39 |
|
40 class DOMCallback; |
|
41 |
|
42 private: |
|
43 DOMCameraControlListener(const DOMCameraControlListener&) MOZ_DELETE; |
|
44 DOMCameraControlListener& operator=(const DOMCameraControlListener&) MOZ_DELETE; |
|
45 }; |
|
46 |
|
47 } // namespace mozilla |
|
48 |
|
49 #endif // DOM_CAMERA_DOMCAMERACONTROLLISTENER_H |