diff options
author | George Hazan <george.hazan@gmail.com> | 2012-06-01 21:37:18 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2012-06-01 21:37:18 +0000 |
commit | 57c87234383026f1f57a3044f0d934fc13ea9d0e (patch) | |
tree | a296589c5e16dff5540923582207007552476f61 /include/m_utils.h | |
parent | 5e52c4592330b5971a107da1bafd115fafb38f54 (diff) |
- RecentContacts added;
- _A2T & _T2A classes moved to m_utils.h
git-svn-id: http://svn.miranda-ng.org/main/trunk@255 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'include/m_utils.h')
-rw-r--r-- | include/m_utils.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/m_utils.h b/include/m_utils.h index bac74a2685..7ea24f528e 100644 --- a/include/m_utils.h +++ b/include/m_utils.h @@ -530,4 +530,44 @@ extern struct SHA1_INTERFACE sha1i; #define mir_u2t_cp(s,c) mir_u2a_cp(s,c)
#endif
+#if defined( __cplusplus )
+
+#ifdef _STATIC
+ void mir_free( void* );
+ WCHAR* mir_a2u_cp(const char* src, int codepage);
+ WCHAR* mir_a2u(const char* src);
+ char* mir_u2a_cp(const wchar_t* src, int codepage);
+ char* mir_u2a( const wchar_t* src);
+#endif
+
+class _A2T
+{
+ TCHAR* buf;
+
+public:
+ __forceinline _A2T( const char* s ) : buf( mir_a2t( s )) {}
+ __forceinline _A2T( const char* s, int cp ) : buf( mir_a2t_cp( s, cp )) {}
+ ~_A2T() { mir_free(buf); }
+
+ __forceinline operator TCHAR*() const
+ { return buf;
+ }
+};
+
+class _T2A
+{
+ char* buf;
+
+public:
+ __forceinline _T2A( const TCHAR* s ) : buf( mir_t2a( s )) {}
+ __forceinline _T2A( const TCHAR* s, int cp ) : buf( mir_t2a_cp( s, cp )) {}
+ __forceinline ~_T2A() { mir_free(buf); }
+
+ __forceinline operator char*() const
+ { return buf;
+ }
+};
+
+#endif
+
#endif // M_UTILS_H__
|