comparison tools/drcc/rcc.cpp @ 372:a032df77b6ab

Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
author Max Samukha <maxter@spambox.com>
date Thu, 08 Jul 2010 17:19:05 +0300
parents 39337877e05c
children
comparison
equal deleted inserted replaced
370:7fd4b69378bf 372:a032df77b6ab
731 731
732 bool RCCResourceLibrary::writeDataBlobs() 732 bool RCCResourceLibrary::writeDataBlobs()
733 { 733 {
734 Q_ASSERT(m_errorDevice); 734 Q_ASSERT(m_errorDevice);
735 if (m_format == C_Code) 735 if (m_format == C_Code)
736 writeString("static const ubyte[] qt_resource_data = [\n"); 736 writeString("static immutable ubyte[] qt_resource_data = [\n");
737 else if (m_format == Binary) 737 else if (m_format == Binary)
738 m_dataOffset = m_out.size(); 738 m_dataOffset = m_out.size();
739 QStack<RCCFileInfo*> pending; 739 QStack<RCCFileInfo*> pending;
740 740
741 if (!m_root) 741 if (!m_root)
764 } 764 }
765 765
766 bool RCCResourceLibrary::writeDataNames() 766 bool RCCResourceLibrary::writeDataNames()
767 { 767 {
768 if (m_format == C_Code) 768 if (m_format == C_Code)
769 writeString("static const ubyte[] qt_resource_name = [\n"); 769 writeString("static immutable ubyte[] qt_resource_name = [\n");
770 else if (m_format == Binary) 770 else if (m_format == Binary)
771 m_namesOffset = m_out.size(); 771 m_namesOffset = m_out.size();
772 772
773 QHash<QString, int> names; 773 QHash<QString, int> names;
774 QStack<RCCFileInfo*> pending; 774 QStack<RCCFileInfo*> pending;
804 } 804 }
805 805
806 bool RCCResourceLibrary::writeDataStructure() 806 bool RCCResourceLibrary::writeDataStructure()
807 { 807 {
808 if (m_format == C_Code) 808 if (m_format == C_Code)
809 writeString("static const ubyte[] qt_resource_struct = [\n"); 809 writeString("static immutable ubyte[] qt_resource_struct = [\n");
810 else if (m_format == Binary) 810 else if (m_format == Binary)
811 m_treeOffset = m_out.size(); 811 m_treeOffset = m_out.size();
812 QStack<RCCFileInfo*> pending; 812 QStack<RCCFileInfo*> pending;
813 813
814 if (!m_root) 814 if (!m_root)
892 892
893 //init 893 //init
894 if (m_useNameSpace) 894 if (m_useNameSpace)
895 writeString("// QT_BEGIN_NAMESPACE\n\n"); 895 writeString("// QT_BEGIN_NAMESPACE\n\n");
896 if (m_root) { 896 if (m_root) {
897 writeString("extern(C) bool qtd_register_resource_data(int version_, in ubyte *tree, in ubyte *name, in ubyte *data);\n\n"); 897 writeString("extern(C) bool qtd_qRegisterResourceData(int version_, in ubyte *tree, in ubyte *name, in ubyte *data);\n\n");
898 writeString("extern(C) bool qtd_unregister_resource_data(int version_, in ubyte *tree, in ubyte *name, in ubyte *data);\n\n"); 898 writeString("extern(C) bool qtd_qUnregisterResourceData(int version_, in ubyte *tree, in ubyte *name, in ubyte *data);\n\n");
899 } 899 }
900 if (m_useNameSpace) 900 if (m_useNameSpace)
901 writeString("// QT_END_NAMESPACE\n\n\n"); 901 writeString("// QT_END_NAMESPACE\n\n\n");
902 QString initResources = QLatin1String("qtd_init_resources"); 902 QString initResources = QLatin1String("qtd_init_resources");
903 initResources += initName; 903 initResources += initName;
905 writeMangleNamespaceFunction(initResources.toLatin1()); 905 writeMangleNamespaceFunction(initResources.toLatin1());
906 writeString("()\n{\n"); 906 writeString("()\n{\n");
907 907
908 if (m_root) { 908 if (m_root) {
909 writeString(" "); 909 writeString(" ");
910 writeString("qtd_register_resource_data(0x01, qt_resource_struct.ptr, " 910 writeString("qtd_qRegisterResourceData(0x01, qt_resource_struct.ptr, "
911 "qt_resource_name.ptr, qt_resource_data.ptr);\n"); 911 "qt_resource_name.ptr, qt_resource_data.ptr);\n");
912 } 912 }
913 writeString(" return 1;\n"); 913 writeString(" return 1;\n");
914 writeString("}\n\n"); 914 writeString("}\n\n");
915 915
919 writeString("extern(C) int "); 919 writeString("extern(C) int ");
920 writeMangleNamespaceFunction(cleanResources.toLatin1()); 920 writeMangleNamespaceFunction(cleanResources.toLatin1());
921 writeString("()\n{\n"); 921 writeString("()\n{\n");
922 if (m_root) { 922 if (m_root) {
923 writeString(" "); 923 writeString(" ");
924 writeString("qtd_unregister_resource_data(0x01, qt_resource_struct.ptr, " 924 writeString("qtd_qUnregisterResourceData(0x01, qt_resource_struct.ptr, "
925 "qt_resource_name.ptr, qt_resource_data.ptr);\n"); 925 "qt_resource_name.ptr, qt_resource_data.ptr);\n");
926 } 926 }
927 writeString(" return 1;\n"); 927 writeString(" return 1;\n");
928 writeString("}\n\n"); 928 writeString("}\n\n");
929 929
930 if(staticInitialize()) 930 if(staticInitialize())
931 { 931 {
932 writeString("static this() \n{\n "); 932 writeString("static this() \n{\n ");
933 writeMangleNamespaceFunction(initResources.toLatin1()); 933 writeMangleNamespaceFunction(initResources.toLatin1());
934 writeString("();\n}\n\n"); 934 writeString("();\n}\n\n");