summaryrefslogtreecommitdiffstats
path: root/src/emoji.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emoji.h')
-rw-r--r--src/emoji.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/emoji.h b/src/emoji.h
new file mode 100644
index 0000000..b8db6f1
--- /dev/null
+++ b/src/emoji.h
@@ -0,0 +1,50 @@
+/******************************************************************************
+ *
+ * Copyright (C) 1997-2018 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+#ifndef EMOJIENTITY_H
+#define EMOJIENTITY_H
+
+#include <qdict.h>
+#include <qfile.h>
+
+class FTextStream;
+
+/** @brief Singleton helper class to map emoji entities to other formats */
+class EmojiEntityMapper
+{
+ public:
+ static EmojiEntityMapper *instance();
+ static void deleteInstance();
+ int name2sym(const QCString &symName) const;
+ const char *utf8(int symb) const;
+ const char *html(int symb) const;
+ const char *xml(int symb) const;
+ const char *docbook(int symb) const;
+ const char *latex(int symb) const;
+ const char *man(int symb) const;
+ const char *rtf(int symb) const;
+ const char *perl(int symb) const;
+ const char *code(int symb) const;
+ const char *text(int symb) const;
+ void writeEmojiFile(QFile &file);
+ private:
+ EmojiEntityMapper();
+ ~EmojiEntityMapper();
+ static EmojiEntityMapper *s_instance;
+ QDict<int> *m_name2symGh;
+ QDict<int> *m_name2symUni;
+ QDict<int> *m_name2symStripUni;
+};
+
+#endif