michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "CameraControlImpl.h" michael@0: michael@0: using namespace mozilla; michael@0: using namespace mozilla::dom; michael@0: michael@0: namespace mozilla { michael@0: class RecorderProfileManager; michael@0: michael@0: namespace layers { michael@0: class GraphicBufferLocked; michael@0: } michael@0: } michael@0: michael@0: /** michael@0: * Fallback camera control subclass. Can be used as a template for the michael@0: * definition of new camera support classes. michael@0: */ michael@0: class FallbackCameraControl : public CameraControlImpl michael@0: { michael@0: public: michael@0: FallbackCameraControl(uint32_t aCameraId) : CameraControlImpl(aCameraId) { } michael@0: michael@0: void OnAutoFocusComplete(bool aSuccess); michael@0: void OnAutoFocusMoving(bool aIsMoving) { } michael@0: void OnTakePictureComplete(uint8_t* aData, uint32_t aLength) { } michael@0: void OnTakePictureError() { } michael@0: void OnNewPreviewFrame(layers::GraphicBufferLocked* aBuffer) { } michael@0: void OnRecorderEvent(int msg, int ext1, int ext2) { } michael@0: void OnError(CameraControlListener::CameraErrorContext aWhere, michael@0: CameraControlListener::CameraError aError) { } michael@0: michael@0: virtual nsresult Set(uint32_t aKey, const nsAString& aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Get(uint32_t aKey, nsAString& aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Set(uint32_t aKey, double aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Get(uint32_t aKey, double& aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Set(uint32_t aKey, int32_t aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Get(uint32_t aKey, int32_t& aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Set(uint32_t aKey, int64_t aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Get(uint32_t aKey, int64_t& aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Set(uint32_t aKey, const Size& aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Get(uint32_t aKey, Size& aValue) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Set(uint32_t aKey, const nsTArray& aRegions) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Get(uint32_t aKey, nsTArray& aRegions) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: michael@0: virtual nsresult SetLocation(const Position& aLocation) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: michael@0: virtual nsresult Get(uint32_t aKey, nsTArray& aSizes) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Get(uint32_t aKey, nsTArray& aValues) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult Get(uint32_t aKey, nsTArray& aValues) MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: michael@0: nsresult PushParameters() { return NS_ERROR_FAILURE; } michael@0: nsresult PullParameters() { return NS_ERROR_FAILURE; } michael@0: michael@0: protected: michael@0: ~FallbackCameraControl(); michael@0: michael@0: virtual nsresult StartPreviewImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult StopPreviewImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult AutoFocusImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult StartFaceDetectionImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult StopFaceDetectionImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult TakePictureImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult StartRecordingImpl(DeviceStorageFileDescriptor* aFileDescriptor, michael@0: const StartRecordingOptions* aOptions = nullptr) MOZ_OVERRIDE michael@0: { return NS_ERROR_FAILURE; } michael@0: virtual nsresult StopRecordingImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult ResumeContinuousFocusImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult PushParametersImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual nsresult PullParametersImpl() MOZ_OVERRIDE { return NS_ERROR_FAILURE; } michael@0: virtual already_AddRefed GetRecorderProfileManagerImpl() MOZ_OVERRIDE { return nullptr; } michael@0: michael@0: private: michael@0: FallbackCameraControl(const FallbackCameraControl&) MOZ_DELETE; michael@0: FallbackCameraControl& operator=(const FallbackCameraControl&) MOZ_DELETE; michael@0: };