diff cpp/qt_core/QMetaType_shell.cpp @ 87:f46133029d8b

qtd: Implement QMetaType. QVariant may save D types now.
author SokoL_SD
date Tue, 26 May 2009 10:59:07 +0000
parents
children 9784459f0750
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cpp/qt_core/QMetaType_shell.cpp	Tue May 26 10:59:07 2009 +0000
@@ -0,0 +1,28 @@
+
+#include <QMetaType>
+#include "qtd_core.h"
+
+typedef void * Ctor (const void *copy);
+typedef void Dtor(void *obj);
+
+extern "C" DLL_PUBLIC int qtd_registerType(char* namePtr, Ctor ctor, Dtor dtor)
+{   
+    return QMetaType::registerType(namePtr, dtor, ctor);
+}
+
+typedef void (*SaveOperator)(void *, void *);
+typedef void (*LoadOperator)(void *, void *);
+
+
+extern "C" DLL_PUBLIC void qtd_registerStreamOperators(const char *typeName, SaveOperator saveOp,
+                                        LoadOperator loadOp)
+{   
+    QMetaType::registerStreamOperators(typeName, reinterpret_cast<QMetaType::SaveOperator>(saveOp),
+                                       reinterpret_cast<QMetaType::LoadOperator>(loadOp));
+}
+    
+
+extern "C" DLL_PUBLIC int qtd_MetatypeId(char *id)
+{
+    return QMetaType::type(id);
+}