blob: 520ccce8990ad6d6b93732c3a3f3229227f76aaf
1 | /* |
2 | * Copyright (C) 2012 The Android Open Source Project |
3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. |
6 | * You may obtain a copy of the License at |
7 | * |
8 | * http://www.apache.org/licenses/LICENSE-2.0 |
9 | * |
10 | * Unless required by applicable law or agreed to in writing, software |
11 | * distributed under the License is distributed on an "AS IS" BASIS, |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 | * See the License for the specific language governing permissions and |
14 | * limitations under the License. |
15 | */ |
16 | |
17 | #ifndef HW_EMULATOR_CAMERA_EMULATED_QEMU_CAMERA2_H |
18 | #define HW_EMULATOR_CAMERA_EMULATED_QEMU_CAMERA2_H |
19 | |
20 | /* |
21 | * Contains declaration of a class EmulatedQemuCamera2 that encapsulates |
22 | * functionality of a host webcam with added processing to implement version 2 |
23 | * of the camera device interface. |
24 | */ |
25 | |
26 | #include "EmulatedCamera2.h" |
27 | |
28 | namespace android { |
29 | |
30 | /* Encapsulates functionality of an advanced fake camera based on real host camera data. |
31 | */ |
32 | class EmulatedQemuCamera2 : public EmulatedCamera2 { |
33 | public: |
34 | /* Constructs EmulatedFakeCamera instance. */ |
35 | EmulatedQemuCamera2(int cameraId, bool facingBack, struct hw_module_t* module); |
36 | |
37 | /* Destructs EmulatedFakeCamera instance. */ |
38 | ~EmulatedQemuCamera2(); |
39 | |
40 | /**************************************************************************** |
41 | * EmulatedCamera2 virtual overrides. |
42 | ***************************************************************************/ |
43 | |
44 | public: |
45 | /* Initializes EmulatedQemuCamera2 instance. */ |
46 | status_t Initialize(); |
47 | |
48 | /**************************************************************************** |
49 | * EmulatedCamera abstract API implementation. |
50 | ***************************************************************************/ |
51 | |
52 | protected: |
53 | |
54 | /**************************************************************************** |
55 | * Data memebers. |
56 | ***************************************************************************/ |
57 | |
58 | protected: |
59 | /* Facing back (true) or front (false) switch. */ |
60 | bool mFacingBack; |
61 | |
62 | }; |
63 | |
64 | }; /* namespace android */ |
65 | |
66 | #endif /* HW_EMULATOR_CAMERA_EMULATED_QEMU_CAMERA2_H */ |
67 |