code_twain/twain/load_sane.h

35 lines
860 B
C
Raw Normal View History

2022-06-15 03:04:40 +00:00
#pragma once
// utility for loading sane component ...
#include "../sane/s2t_api.h"
#include <string>
namespace load_sane_util
{
bool initialize(HMODULE me);
bool is_ok(void);
bool is_online(SCANNERID guid);
ISaneInvoker* open(SCANNERID guid, int* err, bool last_try);
2022-06-15 03:04:40 +00:00
void uninitialize(void);
2022-09-19 06:16:34 +00:00
void log_info(const wchar_t* info, int level);
2022-06-15 03:04:40 +00:00
std::string utf82ansi(const char* utf8);
std::string ansi2utf8(const char* ansi);
2022-09-19 06:16:34 +00:00
std::wstring ansi2unic(const char* ansi);
2022-09-20 04:41:32 +00:00
int move_file(const char* from, const char* to);
int move_file(const wchar_t* from, const wchar_t* to);
template<typename ... Args>
void to_log(const wchar_t* fmt, Args ... args)
{
size_t size = swprintf(nullptr, 0, fmt, args ...) + 2;
std::unique_ptr<wchar_t[]> buf(new wchar_t[size]);
swprintf(buf.get(), size, fmt, args ...);
log_info(buf.get(), 0);
}
2022-06-15 03:04:40 +00:00
};