Index: src/plugin/ATL_Deprecate.h |
=================================================================== |
--- a/src/plugin/ATL_Deprecate.h |
+++ b/src/plugin/ATL_Deprecate.h |
@@ -128,6 +128,7 @@ |
#else |
namespace OLD_ATL { |
#endif |
+#pragma deprecated( CComBSTR ) |
#pragma deprecated( CRect ) |
#pragma deprecated( CSimpleArray ) |
} |
@@ -141,3 +142,33 @@ |
* ATLTRACE resolves to a ATL::CTraceFileAndLineInfo. |
* These will need to be replaced or removed. |
*/ |
+ |
+ |
+/* |
+ * Transient functions used during the ATL removal process. |
+ * |
+ * Trying to convert all the string instances at once leads to massive change sets. |
+ * In order to be able to convert incrementally, we'll need to undergo a period where we're mixing types. |
+ * The functions below are explicit conversion functions. |
+ * While it's possible to convert them by direct calls to member functions, |
+ * using explicit conversion functions will allow us to ensure we've removed all the conversions when we're done. |
+ * |
+ * These are declared in ATL_Deprecate.h to ensure that they're all removed before we ATL removal is complete. |
+ * |
+ * Reference: |
+ * MSDN CString http://msdn.microsoft.com/en-us/library/aa300688%28v=vs.60%29.aspx |
+ */ |
+ |
+#include <string> |
+/** |
+ * Conversion function from ATL:CString to std::wstring |
+ * |
+ * The argument cannot be declared 'const' because of the CString API. |
+ * Reference argument usually does not require explicit temporaries. |
+ */ |
+std::wstring to_wstring(const ATL::CString& s); |
+ |
+/** |
+ * Conversion function from std::wstring to ATL::CString |
+ */ |
+ATL::CString to_CString(const std::wstring& s); |