-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcamera_interface.h
More file actions
56 lines (45 loc) · 2 KB
/
camera_interface.h
File metadata and controls
56 lines (45 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/**
* @file camera_interface.h
* @brief this defines the Camera::Interface base class
* @author David Hale <dhale@astro.caltech.edu>
*
*/
#pragma once
#include "common.h"
#include "camera_information.h"
#include "camerad_commands.h"
#include "exposure_modes.h"
namespace Camera {
class Server; // forward declaration for Interface class
class Interface {
protected:
Camera::Server* server=nullptr;
Camera::Information camera_info;
Common::FitsKeys systemkeys;
std::unique_ptr<ExposureModeBase> exposure_mode;
public:
virtual ~Interface() = default;
// These functions are shared by all interfaces with common implementations,
// and are implemented in camera_interface.cpp
//
void set_server(Camera::Server* s);
void func_shared();
void disconnect_controller();
// These virtual functions have interface-specific implementations
// and must be implemented by derived classes, implemented in xxxx_interface.cpp
//
virtual long abort( std::string args, std::string &retstring ) = 0;
virtual long autodir( std::string args, std::string &retstring ) = 0;
virtual long basename( std::string args, std::string &retstring ) = 0;
virtual long bias( std::string args, std::string &retstring ) = 0;
virtual long bin( std::string args, std::string &retstring ) = 0;
virtual long connect_controller( std::string args, std::string &retstring ) = 0;
virtual long disconnect_controller( std::string args, std::string &retstring ) = 0;
virtual long exptime( std::string args, std::string &retstring ) = 0;
virtual long expose( std::string args, std::string &retstring ) = 0;
virtual long load_firmware( std::string args, std::string &retstring ) = 0;
virtual long native( std::string args, std::string &retstring ) = 0;
virtual long power( std::string args, std::string &retstring ) = 0;
virtual long test( std::string args, std::string &retstring ) = 0;
};
}