code_app/app/scanner/sane_device.h

41 lines
791 B
C
Raw Normal View History

2022-05-03 10:25:52 +00:00
#pragma once
#include <string>
#include "sane/sane_ex.h"
#include "config.h"
class sane_dev
{
SANE_Handle hdev_;
bool offline_;
std::string name_;
std::string cfg_name_;
enum act_result
{
ACT_RESULT_NO_NEED = 0,
ACT_RESULT_FAILED,
ACT_RESULT_SUCCESS,
};
bool apply(OPTSCHEME* schm);
act_result apply(const SANE_Option_Descriptor* desc, int opt, const std::vector<OPTVAL>& vals);
2022-05-03 10:25:52 +00:00
public:
sane_dev();
~sane_dev();
public:
std::string name(void);
std::string current_configuration_name(void);
bool is_online(void);
SANE_Handle handle(void);
bool open(const std::string& name);
bool apply_setting(OPTSCHEME* schm = nullptr);
void set_online(bool online);
void close(void);
};