// stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #pragma once #include "targetver.h" #define MIRANDA_VER 0x0800 #define MIRANDA_CUSTOM_LP // #define CHART_IMPLEMENT #define TEST_IMPORT_EXPORT #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers // Windows Header Files: #include <windows.h> #include <tchar.h> #include <stdio.h> #include <string> #include <wininet.h> #include <atlbase.h> #include <atlconv.h> #include <mshtml.h> #include <atlcomcli.h> #include <comutil.h> #include <comdef.h> #include <commctrl.h> #include <ShellAPI.h> #include <msxml2.h> #include <sys\stat.h> #include <CommDlg.h> #include <windowsx.h> #include <atlenc.h> // Miranda headers #pragma warning(disable: 4996) #include <newpluginapi.h> #include <m_database.h> #include <m_protocols.h> #include <m_protomod.h> #pragma warning(default: 4996) #include <win2k.h> #include <m_xml.h> #include <m_langpack.h> #include <m_options.h> #include <m_cluiframes.h> #include <m_extraicons.h> #include <m_icolib.h> #include <m_clist.h> #include <m_genmenu.h> #include <m_netlib.h> #include <m_popup.h> #include <m_userinfo.h> #include <m_variables.h> // boost headers #include <boost\shared_ptr.hpp> #include <boost/bind.hpp> #include <boost\lexical_cast.hpp> #include <boost\noncopyable.hpp> #include <boost\scoped_ptr.hpp> #include <boost\foreach.hpp> #include <boost/date_time/gregorian/gregorian.hpp> #include <boost/date_time/posix_time/posix_time.hpp> #include <boost\cast.hpp> #include "boost/date_time/c_local_time_adjustor.hpp" // stl headers #include <string> #include <vector> #include <sstream> #include <iomanip> #include <fstream> #include <map> typedef std::wstring tstring; typedef std::wostringstream tostringstream; typedef std::wistringstream tistringstream; typedef std::wofstream tofstream; typedef std::wifstream tifstream; typedef std::wostream tostream; typedef std::wistream tistream; typedef boost::posix_time::wtime_input_facet ttime_input_facet; typedef boost::posix_time::wtime_facet ttime_facet; inline int quotes_stricmp(LPCTSTR p1,LPCTSTR p2) { return _tcsicmp(p1,p2); } inline std::string quotes_t2a(const TCHAR* t) { std::string s; char* p = mir_t2a(t); if(p) { s = p; mir_free(p); } return s; } inline tstring quotes_a2t(const char* s) { tstring t; TCHAR* p = mir_a2t(s); if(p) { t = p; mir_free(p); } return t; } namespace detail { template<typename T,typename TD> struct safe_string_impl { typedef T* PTR; safe_string_impl(PTR p) : m_p(p){} ~safe_string_impl(){TD::dealloc(m_p);} PTR m_p; }; template<typename T> struct MirandaFree { static void dealloc(T* p){mir_free(p);} }; template<typename T> struct OwnerFree { static void dealloc(T* p){::free(p);} }; } template<typename T> struct mir_safe_string : public detail::safe_string_impl<T,detail::MirandaFree<T>> { mir_safe_string(PTR p) : detail::safe_string_impl<T,detail::MirandaFree<T>>(p){} }; template<typename T> struct safe_string : public detail::safe_string_impl<T,detail::OwnerFree<T>> { safe_string(PTR p) : detail::safe_string_impl<T,detail::OwnerFree<T>>(p){} }; // #ifdef MIRANDA_VER // #undef MIRANDA_VER // #endif // TODO: reference additional headers your program requires here