1 /* sane - Scanner Access Now Easy.
2 
3    Copyright (C) 2019 Povilas Kanapickas <povilas@radix.lt>
4 
5    This file is part of the SANE package.
6 
7    This program is free software; you can redistribute it and/or
8    modify it under the terms of the GNU General Public License as
9    published by the Free Software Foundation; either version 2 of the
10    License, or (at your option) any later version.
11 
12    This program is distributed in the hope that it will be useful, but
13    WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <https://www.gnu.org/licenses/>.
19 */
20 
21 #ifndef BACKEND_GENESYS_FWD_H
22 #define BACKEND_GENESYS_FWD_H
23 
24 namespace genesys {
25 
26 // calibration.h
27 struct Genesys_Calibration_Cache;
28 
29 // command_set.h
30 class CommandSet;
31 
32 // device.h
33 struct Genesys_Gpo;
34 struct MethodResolutions;
35 struct Genesys_Model;
36 struct Genesys_Device;
37 
38 // error.h
39 class DebugMessageHelper;
40 class SaneException;
41 
42 // genesys.h
43 class GenesysButton;
44 struct Genesys_Scanner;
45 
46 // image.h
47 class Image;
48 
49 // image_buffer.h
50 class ImageBuffer;
51 
52 // image_pipeline.h
53 class ImagePipelineNode;
54 // ImagePipelineNode* skipped
55 class ImagePipelineStack;
56 
57 // image_pixel.h
58 struct Pixel;
59 struct RawPixel;
60 
61 // low.h
62 class UsbDeviceEntry;
63 
64 // motor.h
65 struct Genesys_Motor;
66 struct MotorSlope;
67 struct MotorProfile;
68 struct MotorSlopeTable;
69 
70 // register.h
71 class Genesys_Register_Set;
72 struct GenesysRegisterSetState;
73 
74 // row_buffer.h
75 class RowBuffer;
76 
77 // usb_device.h
78 class IUsbDevice;
79 class UsbDevice;
80 
81 // scanner_interface.h
82 class ScannerInterface;
83 class ScannerInterfaceUsb;
84 class TestScannerInterface;
85 
86 // sensor.h
87 struct GenesysFrontendLayout;
88 struct Genesys_Frontend;
89 struct SensorExposure;
90 struct Genesys_Sensor;
91 
92 // settings.h
93 struct Genesys_Settings;
94 struct SetupParams;
95 struct ScanSession;
96 
97 // value_filter.h
98 template<class T> class ValueFilter;
99 template<class T> class ValueFilterAny;
100 
101 // test_usb_device.h
102 class TestUsbDevice;
103 
104 } // namespace genesys
105 
106 #endif
107