summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/HistoryStats/_globals.h
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2014-03-04 20:41:13 +0000
committerGeorge Hazan <george.hazan@gmail.com>2014-03-04 20:41:13 +0000
commit6b3ded37e4a4825be2df3612bdcbb7dfc00a1800 (patch)
treed6b6290439e207be3bb28718a2829e298db08342 /plugins/!NotAdopted/HistoryStats/_globals.h
parentd4ed74b1750b5389f22fd67246985ba782d2648b (diff)
HistoryStats sources
git-svn-id: http://svn.miranda-ng.org/main/trunk@8397 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/!NotAdopted/HistoryStats/_globals.h')
-rw-r--r--plugins/!NotAdopted/HistoryStats/_globals.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/plugins/!NotAdopted/HistoryStats/_globals.h b/plugins/!NotAdopted/HistoryStats/_globals.h
new file mode 100644
index 0000000000..11b6265703
--- /dev/null
+++ b/plugins/!NotAdopted/HistoryStats/_globals.h
@@ -0,0 +1,103 @@
+#if !defined(HISTORYSTATS_GUARD__GLOABLS_H)
+#define HISTORYSTATS_GUARD__GLOABLS_H
+
+#pragma warning(disable: 4018) // FIXME: supress "signed/unsigned mismatch" warnings
+
+/*
+ * history copy and paste functionality via context menu
+ */
+//#define HISTORYSTATS_HISTORYCOPY
+
+/*
+ * detect memory leaks in debug builds
+ */
+
+#if defined(_DEBUG)
+#define _CRTDBG_MAP_ALLOC
+#include <stdlib.h>
+#include <crtdbg.h>
+#undef _CRTDBG_MAP_ALLOC
+#endif // _DEBUG
+
+/*
+ * nicer interface for miranda
+ */
+
+#include "mu_common.h"
+
+/*
+ * essential includes
+ */
+
+#include <commctrl.h>
+
+#include <cstdio>
+#include <cassert>
+#include <ctime>
+
+#include <string>
+#include <fstream>
+#include <sstream>
+
+/*
+ * some patterns and similar stuff we want to use everywhere
+ */
+
+#include "utils/pattern.h"
+
+/*
+ * some language 'extensions' (people will hate me because of this) and useful classes
+ */
+
+#include "_langext.h"
+#include "_strfunc.h"
+#include "_format.h"
+
+/*
+ * convenience typedefs
+ */
+
+namespace ext
+{
+ namespace w
+ {
+ const mu_wide* const endl = muW("\n");
+
+ typedef std::basic_string <mu_wide> string;
+ typedef std::basic_ofstream<mu_wide> ofstream;
+ typedef std::basic_ostream <mu_wide> ostream;
+ typedef ext::basic_strfunc <mu_wide> strfunc;
+ typedef ext::basic_format <mu_wide> format;
+ typedef ext::basic_kformat <mu_wide> kformat;
+ }
+
+ namespace a
+ {
+ const mu_ansi* const endl = muA("\n");
+
+ typedef std::basic_string <mu_ansi> string;
+ typedef std::basic_ofstream<mu_ansi> ofstream;
+ typedef std::basic_ostream <mu_ansi> ostream;
+ typedef ext::basic_strfunc <mu_ansi> strfunc;
+ typedef ext::basic_format <mu_ansi> format;
+ typedef ext::basic_kformat <mu_ansi> kformat;
+ }
+
+ // choose the right T-style namespace for this compilation
+ namespace t = MU_DO_BOTH(a, w);
+
+ // import T-style classes for easier access
+ using namespace t;
+
+ // helper functions
+ inline const mu_text* i18n(const mu_text* str) { return mu::langpack::translateString(str); }
+}
+
+/*
+ * translation stuff
+ */
+
+#define I18N(x) x
+using ext::i18n;
+
+#endif // HISTORYSTATS_GUARD__GLOABLS_H