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);
|
2023-05-20 03:05:06 +00:00
|
|
|
|
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);
|
2023-05-20 03:05:06 +00:00
|
|
|
|
|
|
|
|
|
template<typename ... Args>
|
2023-05-23 01:13:55 +00:00
|
|
|
|
void to_log(int level, const wchar_t* fmt, Args ... args)
|
2023-05-20 03:05:06 +00:00
|
|
|
|
{
|
|
|
|
|
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 ...);
|
2023-05-23 01:13:55 +00:00
|
|
|
|
log_info(buf.get(), level);
|
2023-05-20 03:05:06 +00:00
|
|
|
|
}
|
2022-06-15 03:04:40 +00:00
|
|
|
|
};
|
|
|
|
|
|