code_app/app/scanner/sane_device.cpp

66 lines
1.0 KiB
C++

#include "sane_device.h"
sane_dev::sane_dev() : hdev_(nullptr), offline_(true), name_(""), cfg_name_("")
{}
sane_dev::~sane_dev()
{
close();
}
bool sane_dev::apply(gb::sane_config_schm* schm)
{
SANE_Int count = 0,
afterdo = 0;
bool ret = false;
return ret;
}
std::string sane_dev::name(void)
{
return name_;
}
std::string sane_dev::current_configuration_name(void)
{
return cfg_name_;
}
bool sane_dev::is_online(void)
{
return !offline_;
}
SANE_Handle sane_dev::handle(void)
{
return hdev_;
}
bool sane_dev::open(const std::string& name)
{
if(name_ == name)
return true;
close();
SANE_Status statu = sane_open(name.c_str(), &hdev_);
if(statu == SANE_STATUS_GOOD)
{
}
return statu == SANE_STATUS_GOOD;
}
void sane_dev::set_online(bool online)
{
offline_ = !online;
}
void sane_dev::close(void)
{
if(hdev_)
{
sane_close(hdev_);
hdev_ = nullptr;
}
offline_ = true;
name_ = "";
cfg_name_ = "";
}