tahoma2d/toonz/sources/stdfx/igs_resource_msg_from_err_win.h

75 lines
3.6 KiB
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
#ifndef igs_resource_msg_from_err_h
#define igs_resource_msg_from_err_h
#include <string>
#include "igs_os_type.h" /* windows.h... */
#define igs_tostr(n) igs_tostr_(n) /* __LINE__ --> 56 */
2016-06-15 18:43:10 +12:00
#define igs_tostr_(n) #n /* 56 --> "56" */
2016-03-19 06:57:51 +13:00
#ifndef IGS_RESOURCE_LOG_EXPORT
#define IGS_RESOURCE_LOG_EXPORT
#endif
/*------ 文字コード変換 --------------------------------------------*/
2016-06-15 18:43:10 +12:00
namespace igs {
namespace resource {
2016-03-19 06:57:51 +13:00
/*--- localeを日本に設定し日本語を扱うことを指示 ---*/
IGS_RESOURCE_LOG_EXPORT void locale_to_jp(void);
/*--- マルチバイト文字列 --> ワイド文字文字列 ---*/
2016-06-15 18:43:10 +12:00
IGS_RESOURCE_LOG_EXPORT void mbs_to_wcs(const std::string &mbs,
std::wstring &wcs,
const UINT code_page = CP_THREAD_ACP);
2016-03-19 06:57:51 +13:00
/*--- ワイド文字文字列 --> マルチバイト文字列 ---*/
2016-06-15 18:43:10 +12:00
IGS_RESOURCE_LOG_EXPORT void wcs_to_mbs(const std::wstring &wcs,
std::string &mbs,
const UINT code_page = CP_THREAD_ACP);
2016-03-19 06:57:51 +13:00
/*
2016-06-15 18:43:10 +12:00
2012-08-22
from_mbcs(-) --> ts_from_mbs(-)
mbcs_from(-) --> mbs_from_ts(-)
2016-03-19 06:57:51 +13:00
*/
/*--- UNICODE宣言ならマルチバイト文字列をワイド文字文字列に変換 ---*/
2016-06-15 18:43:10 +12:00
const std::basic_string<TCHAR> ts_from_mbs(
const std::string &mbs, const UINT code_page = CP_THREAD_ACP);
2016-03-19 06:57:51 +13:00
/*--- UNICODE宣言ならワイド文字文字列をマルチバイト文字列に変換 ---*/
2016-06-15 18:43:10 +12:00
const std::string mbs_from_ts(const std::basic_string<TCHAR> &ts,
const UINT code_page = CP_THREAD_ACP);
2016-03-19 06:57:51 +13:00
/*--- cp932を含む文字列をutf-8に変換(mbcsのみ) ---*/
const std::string utf8_from_cp932_mb(const std::string &text);
/*--- utf-8を含む文字列をcp932に変換(mbcsのみ) ---*/
const std::string cp932_from_utf8_mb(const std::string &text);
}
}
/*------ エラーメッセージ表示 --------------------------------------*/
2016-06-15 18:43:10 +12:00
namespace igs {
namespace resource {
2016-03-19 06:57:51 +13:00
const std::string msg_from_err_(/* 直によんではいけない */
2016-06-15 18:43:10 +12:00
const std::basic_string<TCHAR> &tit,
const DWORD error_message_id,
const std::basic_string<TCHAR> &file,
const std::basic_string<TCHAR> &line,
const std::basic_string<TCHAR> &funcsig,
const std::basic_string<TCHAR> &comp_type,
const std::basic_string<TCHAR> &msc_full_ver,
const std::basic_string<TCHAR> &date,
const std::basic_string<TCHAR> &time);
2016-03-19 06:57:51 +13:00
}
}
/*--- ::GetLastError()値からエラーメッセージを得る ---*/
2016-06-15 18:43:10 +12:00
#define igs_resource_msg_from_err(tit, error_message_id) \
igs::resource::msg_from_err_( \
tit, error_message_id, TEXT(__FILE__), TEXT(igs_tostr(__LINE__)), \
TEXT(__FUNCSIG__), TEXT(igs_tostr_(_MSC_VER)), \
TEXT(igs_tostr(_MSC_FULL_VER)), TEXT(__DATE__), TEXT(__TIME__))
2016-03-19 06:57:51 +13:00
/*--- エラーメッセージを得る ---*/
2016-06-15 18:43:10 +12:00
#define igs_resource_msg_from_er(tit) \
igs::resource::msg_from_err_( \
tit, NO_ERROR, TEXT(__FILE__), TEXT(igs_tostr(__LINE__)), \
TEXT(__FUNCSIG__), TEXT(igs_tostr_(_MSC_VER)), \
TEXT(igs_tostr(_MSC_FULL_VER)), TEXT(__DATE__), TEXT(__TIME__))
2016-03-19 06:57:51 +13:00
#endif /* !igs_resource_msg_from_err_h */