summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2012-12-13 13:35:53 (GMT)
committerRemko Tronçon <git@el-tramo.be>2013-04-06 20:22:02 (GMT)
commit9eff25182d1bea576d1910200909384ce79d90fe (patch)
treef5dadbce5fa2c37c34fcc6bb32550e6930abce14 /Swiften/IDN/PlatformIDNConverter.cpp
parente9f2f7675b11ce36b3f66250156b78fae524a351 (diff)
downloadswift-9eff25182d1bea576d1910200909384ce79d90fe.zip
swift-9eff25182d1bea576d1910200909384ce79d90fe.tar.bz2
Make IDN implementation abstract.
Change-Id: I4c64f954ddeca7147d729b8be07237baa15c1795
Diffstat (limited to 'Swiften/IDN/PlatformIDNConverter.cpp')
-rw-r--r--Swiften/IDN/PlatformIDNConverter.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/Swiften/IDN/PlatformIDNConverter.cpp b/Swiften/IDN/PlatformIDNConverter.cpp
new file mode 100644
index 0000000..6d9cff7
--- /dev/null
+++ b/Swiften/IDN/PlatformIDNConverter.cpp
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2012 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#include <Swiften/IDN/PlatformIDNConverter.h>
+#if defined(HAVE_LIBIDN)
+#include <Swiften/IDN/LibIDNConverter.h>
+#elif defined(HAVE_ICU)
+#include <Swiften/IDN/ICUConverter.h>
+#endif
+
+namespace Swift {
+
+IDNConverter* PlatformIDNConverter::create() {
+#if defined(HAVE_LIBIDN)
+ return new LibIDNConverter();
+#elif defined(HAVE_ICU)
+ return new ICUConverter();
+#else
+#error "No IDN implementation"
+ return 0;
+#endif
+}
+
+}