# HG changeset patch
# User yiluzhu
# Date 1265993828 0
# Node ID 8bc2b0b8d54cd6a8143d1e00af5229af11b1d322
# Parent f2b4ff56396b2f7a6530e7efee0ee8cea1a4f4bf
Fix platform macros issue when cross compile
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/lib/config/variants.xml
--- a/sbsv2/raptor/lib/config/variants.xml Wed Feb 03 14:47:56 2010 +0000
+++ b/sbsv2/raptor/lib/config/variants.xml Fri Feb 12 16:57:08 2010 +0000
@@ -6,7 +6,7 @@
-->
-
+
@@ -15,6 +15,7 @@
+
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/BLD.INF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/BLD.INF Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Cross compilation of win32 tools on Linux
+*
+*/
+
+PRJ_PLATFORMS
+TOOLS2
+
+PRJ_MMPFILES
+PDRTRAN.MMP
+platmacros.mmp
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/PDRTRAN.MMP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/PDRTRAN.MMP Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* pdrtran.exe for windows and pdrtran for linux
+*/
+
+TARGET pdrtran
+TARGETTYPE exe
+
+SOURCEPATH ./src
+SOURCE LEXICAL.CPP PDRREADR.CPP PDRRECRD.CPP PDRTRAN.CPP
+SOURCE READER.CPP RECORD.CPP STRNG.CPP
+
+SYSTEMINCLUDE /epoc32/include
+
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/TEST.PD
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/TEST.PD Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,594 @@
+! PCL5.PD
+! Printer driver file for HP laser printers
+
+Resources Pcl5Resources
+ Reset "<27>E"
+ SetPageSize "<27>&l%dA"
+!<27>&l
+! 0o - Portrait
+! 0e - top margin to zero
+! 0C - VMI to zero
+!<27>9 - clear horizontal margins
+!<27>(0N - ISO 8859-1 Latin 1 character set
+ PreAmble "<27>&l0o0e0C<27>9<27>(0N"
+ PostAmble "<27>E"
+ BoldOn "<27>(s3B"
+ BoldOff "<27>(s0B"
+ ItalicOn "<27>(s1S"
+ ItalicOff "<27>(s0S"
+ UnderlineOn "<27>&d0D"
+ UnderlineOff "<27>&d@"
+ NewPage "<12>"
+ Portrait "<27>&l0o0E<27>9"
+ Landscape "<27>&l1o0E<27>9"
+ SetXPos "<27>*p%dX"
+ SetYPos "<27>*p%dY"
+ BitmapStart "<27>*t300R<27>*r%df1A" ! resolution 300 dots per inch
+ ScanLine "<27>*b%dm%dW" ! compression method coded in first %d
+ BitmapEnd "<27>*rC"
+EndResources
+
+Translates Telephone
+ 5:35 ! must ensure width of 5 = width of 35
+ 156:"<27>R<3><35><27>R<0>"
+EndTranslates
+
+FontInfo Courier10
+ MaxNormalCharWidth 25
+ Ascent 33 ! improvised values throughout
+ CodeSection 0:255
+ 0:25
+ EndCodeSection
+EndFontInfo
+
+FontInfo Courier12
+ MaxNormalCharWidth 30
+ Ascent 40
+ CodeSection 0:255
+ 0:30
+ EndCodeSection
+EndFontInfo
+
+FontInfo LinePrinter9
+ MaxNormalCharWidth 18
+ Ascent 28
+ CodeSection 0:255
+ 0:18
+ EndCodeSection
+EndFontInfo
+
+FontInfo CgTimesStd
+ MaxNormalCharWidth 188
+ Ascent 167
+ CodeSection 0:255
+ 0:207 1:207 2:207 3:207 4:207
+ 5:104 ! telephone character must be the same as # (35)
+ 6:207
+ 7:69 ! non-breaking hyphen must be the same as hyphen (45)
+ 8:207
+ 9:61 ! tab must be the same as space (32)
+ 10:207 11:150 12:150 13:104
+ 14:69 ! potential hyphen must be the same as hyphen (45)
+ 15:61 ! non-breaking space must be the same as space (32)
+ 16:150
+ 17:150 18:150 19:108 20:104 21:104 22:207 23:150 24:150
+ 25:150 26:150 27:150 28:184 29:150 30:150 31:150 32:61
+ 33:69 34:96 35:104 36:104 37:184 38:161 39:69 40:69
+ 41:69 42:104 43:184 44:69 45:69 46:69 47:69 48:104
+ 49:104 50:104 51:104 52:104 53:104 54:104 55:104 56:104
+ 57:104 58:69 59:69 60:207 61:184 62:207 63:92 64:184
+! A B C D E F G H
+ 65:150 66:131 67:142 68:154 69:131 70:123 71:150 72:154
+! I J K L M N O P
+ 73:69 74:81 75:146 76:131 77:188 78:154 79:150 80:119
+! Q R S T U V W X
+ 81:150 82:138 83:111 84:131 85:154 86:150 87:196 88:150
+! Y Z
+ 89:150 90:134 91:69 92:69 93:69 94:104 95:104 96:104
+! a b c d e f g h
+ 97:92 98:104 99:92 100:104 101:92 102:69 103:104 104:104
+! i j k l m n o p
+ 105:58 106:58 107:104 108:58 109:161 110:104 111:104 112:104
+! q r s t u v w x
+ 113:104 114:77 115:81 116:58 117:104 118:104 119:150 120:104
+! y z
+ 121:104 122:92 123:92 124:104 125:92 126:104 127:207 128:142
+ 129:104 130:92 131:92 132:92 133:92 134:92 135:92 136:92
+ 137:92 138:92 139:58 140:58 141:58 142:150 143:150 144:131
+ 145:138 146:184 147:104 148:104 149:104 150:104 151:104 152:104
+ 153:150 154:154 155:104 156:104 157:154 158:182 159:104 160:92
+ 161:58 162:104 163:104 164:104 165:154 166:104 167:104 168:92
+ 169:104 170:184 171:184 172:184 173:69 174:85 175:85 176:207
+ 177:207 178:207 179:207 180:207 181:150 182:150 183:150 184:105
+ 185:207 186:207 187:207 188:207 189:105 190:104 191:207 192:207
+ 193:207 194:207 195:207 196:207 197:207 198:92 199:150 200:207
+ 201:207 202:207 203:207 204:207 205:207 206:207 207:104 208:104
+ 209:154 210:129 211:129 212:129 213:58 214:70 215:70 216:70
+ 217:207 218:207 219:207 220:207 221:104 222:70 223:207 224:152
+ 225:104 226:152 227:152 228:104 229:152 230:115 231:106 232:122
+ 233:154 234:154 235:154 236:104 237:150 238:105 239:104 240:72
+ 241:184 242:104 243:183 244:104 245:104 246:184 247:104 248:104
+ 249:104 250:1 251:73 252:73 253:73 254:104 255:104
+ EndCodeSection
+EndFontInfo
+
+FontInfo CgTimesItalic
+ MaxNormalCharWidth 170
+ Ascent 167
+ CodeSection 0:255
+ 0:207
+ 1:207 2:207 3:207 4:207
+ 5:104 ! telephone character must be the same as # (35)
+ 6:207
+ 7:69 ! non-breaking hyphen must be the same as hyphen (45)
+ 8:207
+ 9:61 ! tab must be the same as space (32)
+ 10:207 11:150 12:150 13:104
+ 14:69 ! potential hyphen must be the same as hyphen (45)
+ 15:61 ! non-breaking space must be the same as space (32)
+ 16:150
+ 17:150 18:150 19:103 20:104 21:104 22:207 23:150 24:150
+ 25:150 26:150 27:150 28:184 29:150 30:150 31:150 32:61
+ 33:69 34:100 35:104 36:104 37:184 38:161 39:69 40:69
+ 41:69 42:104 43:184 44:69 45:69 46:69 47:69 48:104
+ 49:104 50:104 51:104 52:104 53:104 54:104 55:104 56:104
+ 57:104 58:69 59:69 60:207 61:184 62:207 63:104 64:184
+ 65:127 66:127 67:138 68:150 69:127 70:119 71:150 72:150
+ 73:69 74:92 75:138 76:115 77:170 78:138 79:150 80:127
+ 81:150 82:127 83:104 84:115 85:150 86:127 87:170 88:127
+ 89:115 90:115 91:69 92:69 93:69 94:104 95:104 96:104
+ 97:104 98:104 99:92 100:104 101:92 102:58 103:104 104:104
+ 105:58 106:58 107:92 108:58 109:150 110:104 111:104 112:104
+ 113:104 114:81 115:81 116:58 117:104 118:92 119:138 120:92
+ 121:92 122:81 123:92 124:104 125:92 126:104 127:207 128:138
+ 129:104 130:92 131:104 132:104 133:104 134:104 135:92 136:92
+ 137:92 138:92 139:58 140:58 141:58 142:127 143:127 144:127
+ 145:138 146:184 147:104 148:104 149:104 150:104 151:104 152:92
+ 153:150 154:150 155:104 156:104 157:151 158:183 159:104 160:104
+ 161:58 162:104 163:104 164:104 165:138 166:104 167:104 168:104
+ 169:104 170:184 171:184 172:184 173:69 174:96 175:96 176:207
+ 177:207 178:207 179:207 180:207 181:127 182:127 183:127 184:105
+ 185:207 186:207 187:207 188:207 189:105 190:105 191:207 192:207
+ 193:207 194:207 195:207 196:207 197:207 198:104 199:127 200:207
+ 201:207 202:207 203:207 204:207 205:207 206:207 207:104 208:104
+ 209:148 210:127 211:127 212:127 213:58 214:70 215:70 216:70
+ 217:207 218:207 219:207 220:207 221:104 222:70 223:207 224:152
+ 225:104 226:152 227:152 228:104 229:152 230:115 231:106 232:126
+ 233:150 234:150 235:150 236:92 237:115 238:105 239:104 240:72
+ 241:184 242:104 243:182 244:104 245:104 246:184 247:104 248:104
+ 249:104 250:2 251:73 252:73 253:73 254:104 255:104
+ EndCodeSection
+EndFontInfo
+
+FontInfo CgTimesBold
+ MaxNormalCharWidth 196
+ Ascent 167
+ CodeSection 0:255
+ 0:207
+ 1:207 2:207 3:207 4:207
+ 5:104 ! telephone character must be the same as # (35)
+ 6:207
+ 7:69 ! non-breaking hyphen must be the same as hyphen (45)
+ 8:207
+ 9:61 ! tab must be the same as space (32)
+ 10:207 11:150 12:150 13:104
+ 14:69 ! potential hyphen must be the same as hyphen (45)
+ 15:61 ! non-breaking space must be the same as space (32)
+ 16:150
+ 17:150 18:150 19:119 20:104 21:104 22:207 23:150 24:150
+ 25:150 26:150 27:150 28:184 29:150 30:150 31:150 32:61
+ 33:69 34:96 35:104 36:104 37:184 38:169 39:69 40:69
+ 41:69 42:104 43:184 44:69 45:69 46:69 47:69 48:104
+ 49:104 50:104 51:104 52:104 53:104 54:104 55:104 56:104
+ 57:104 58:69 59:69 60:207 61:184 62:207 63:104 64:184
+ 65:150 66:138 67:150 68:150 69:138 70:127 71:161 72:161
+ 73:81 74:100 75:161 76:138 77:196 78:150 79:161 80:127
+ 81:161 82:150 83:115 84:138 85:150 86:150 87:207 88:150
+ 89:150 90:138 91:69 92:69 93:69 94:104 95:104 96:104
+ 97:104 98:115 99:92 100:115 101:92 102:73 103:104 104:115
+ 105:58 106:69 107:115 108:58 109:171 110:115 111:104 112:115
+ 113:115 114:92 115:81 116:69 117:115 118:104 119:150 120:104
+ 121:104 122:92 123:104 124:104 125:104 126:104 127:207 128:150
+ 129:115 130:92 131:104 132:104 133:104 134:104 135:92 136:92
+ 137:92 138:92 139:58 140:58 141:58 142:150 143:150 144:138
+ 145:150 146:215 147:104 148:104 149:104 150:115 151:115 152:104
+ 153:161 154:150 155:104 156:104 157:163 158:182 159:104 160:104
+ 161:58 162:104 163:115 164:115 165:150 166:104 167:104 168:104
+ 169:104 170:184 171:184 172:184 173:69 174:88 175:88 176:207
+ 177:207 178:207 179:207 180:207 181:150 182:150 183:150 184:105
+ 185:207 186:207 187:207 188:207 189:105 190:104 191:207 192:207
+ 193:207 194:207 195:207 196:207 197:207 198:104 199:150 200:207
+ 201:207 202:207 203:207 204:207 205:207 206:207 207:104 208:104
+ 209:148 210:137 211:137 212:137 213:58 214:80 215:80 216:80
+ 217:207 218:207 219:207 220:207 221:104 222:80 223:207 224:162
+ 225:115 226:162 227:162 228:104 229:162 230:115 231:116 232:126
+ 233:150 234:150 235:150 236:104 237:150 238:105 239:104 240:72
+ 241:184 242:104 243:183 244:104 245:104 246:184 247:104 248:104
+ 249:104 250:23 251:73 252:73 253:73 254:104 255:104
+ EndCodeSection
+EndFontInfo
+
+FontInfo CgTimesBoldItalic
+ MaxNormalCharWidth 184
+ Ascent 167
+ CodeSection 0:255
+ 0:207
+ 1:207 2:207 3:207 4:207
+ 5:104 ! telephone character must be the same as # (35)
+ 6:207
+ 7:69 ! non-breaking hyphen must be the same as hyphen (45)
+ 8:207
+ 9:61 ! tab must be the same as space (32)
+ 10:207 11:150 12:150 13:104
+ 14:69 ! potential hyphen must be the same as hyphen (45)
+ 15:61 ! non-breaking space must be the same as space (32)
+ 16:150
+ 17:150 18:150 19:131 20:104 21:104 22:207 23:150 24:150
+ 25:150 26:150 27:150 28:184 29:150 30:150 31:150 32:61
+ 33:81 34:108 35:104 36:104 37:184 38:161 39:69 40:69
+ 41:69 42:104 43:184 44:69 45:69 46:69 47:69 48:104
+ 49:104 50:104 51:104 52:104 53:104 54:104 55:104 56:104
+ 57:104 58:69 59:69 60:207 61:184 62:207 63:104 64:184
+ 65:138 66:138 67:138 68:150 69:138 70:127 71:150 72:161
+ 73:81 74:104 75:138 76:127 77:184 78:150 79:150 80:127
+ 81:146 82:138 83:115 84:127 85:150 86:138 87:184 88:138
+ 89:127 90:127 91:69 92:69 93:69 94:104 95:104 96:104
+ 97:104 98:104 99:92 100:104 101:92 102:73 103:104 104:115
+ 105:58 106:58 107:104 108:58 109:161 110:115 111:104 112:104
+ 113:104 114:81 115:81 116:58 117:115 118:92 119:138 120:104
+ 121:92 122:81 123:104 124:104 125:104 126:104 127:207 128:138
+ 129:115 130:92 131:104 132:104 133:104 134:104 135:92 136:92
+ 137:92 138:92 139:58 140:58 141:58 142:138 143:138 144:138
+ 145:146 146:192 147:104 148:104 149:104 150:115 151:115 152:92
+ 153:150 154:150 155:104 156:104 157:151 158:184 159:104 160:104
+ 161:58 162:104 163:115 164:115 165:150 166:104 167:104 168:104
+ 169:104 170:184 171:184 172:184 173:81 174:92 175:92 176:207
+ 177:207 178:207 179:207 180:207 181:138 182:138 183:138 184:105
+ 185:207 186:207 187:207 188:207 189:105 190:105 191:207 192:207
+ 193:207 194:207 195:207 196:207 197:207 198:104 199:138 200:207
+ 201:207 202:207 203:207 204:207 205:207 206:207 207:104 208:104
+ 209:148 210:137 211:137 212:137 213:58 214:80 215:80 216:80
+ 217:207 218:207 219:207 220:207 221:104 222:80 223:207 224:152
+ 225:104 226:152 227:152 228:104 229:152 230:115 231:106 232:126
+ 233:150 234:150 235:150 236:90 237:127 238:105 239:104 240:72
+ 241:184 242:104 243:183 244:104 245:104 246:184 247:104 248:104
+ 249:104 250:18 251:69 252:69 253:69 254:104 255:104
+ EndCodeSection
+EndFontInfo
+
+FontInfo UniversStd
+ MaxNormalCharWidth 188
+ Ascent 167
+ CodeSection 0:255
+ 0:207 1:207 2:207 3:207 4:207
+ 5:131 ! telephone character must be the same as # (35)
+ 6:207
+ 7:69 ! non-breaking hyphen must be the same as hyphen (45)
+ 8:207
+ 9:69 ! tab must be the same as space (32)
+ 10:207 11:150 12:150 13:104
+ 14:69 ! potential hyphen must be the same as hyphen (45)
+ 15:69 ! non-breaking space must be the same as space (32)
+ 16:150
+ 17:150 18:150 19:110 20:131 21:131 22:207 23:150 24:150
+ 25:150 26:150 27:150 28:207 29:150 30:150 31:150 32:69
+ 33:69 34:104 35:131 36:131 37:207 38:158 39:69 40:69
+ 41:69 42:131 43:207 44:69 45:69 46:69 47:69 48:131
+ 49:131 50:131 51:131 52:131 53:131 54:131 55:131 56:131
+ 57:131 58:69 59:69 60:207 61:207 62:207 63:108 64:207
+ 65:154 66:131 67:146 68:150 69:119 70:115 71:154 72:150
+ 73:58 74:115 75:138 76:111 77:188 78:150 79:158 80:123
+ 81:161 82:134 83:134 84:131 85:150 86:150 87:207 88:150
+ 89:142 90:127 91:69 92:69 93:69 94:131 95:104 96:131
+ 97:111 98:119 99:111 100:119 101:111 102:77 103:119 104:119
+ 105:50 106:50 107:111 108:50 109:181 110:119 111:119 112:119
+ 113:119 114:73 115:104 116:77 117:119 118:115 119:181 120:115
+ 121:115 122:100 123:92 124:104 125:92 126:131 127:207 128:146
+ 129:119 130:111 131:111 132:111 133:111 134:111 135:111 136:111
+ 137:111 138:111 139:50 140:50 141:50 142:154 143:154 144:119
+ 145:177 146:204 147:119 148:119 149:119 150:119 151:119 152:115
+ 153:158 154:150 155:122 156:131 157:160 158:207 159:131 160:111
+ 161:50 162:119 163:119 164:119 165:150 166:85 167:85 168:108
+ 169:104 170:207 171:207 172:207 173:69 174:115 175:115 176:207
+ 177:207 178:207 179:207 180:207 181:154 182:154 183:154 184:105
+ 185:207 186:207 187:207 188:207 189:129 190:129 191:207 192:207
+ 193:207 194:207 195:207 196:207 197:207 198:114 199:154 200:207
+ 201:207 202:207 203:207 204:207 205:207 206:207 207:128 208:121
+ 209:150 210:119 211:119 212:119 213:51 214:58 215:58 216:58
+ 217:207 218:207 219:207 220:207 221:105 222:58 223:207 224:158
+ 225:127 226:158 227:158 228:119 229:158 230:115 231:119 232:126
+ 233:150 234:150 235:150 236:118 237:141 238:129 239:129 240:72
+ 241:207 242:106 243:207 244:130 245:130 246:207 247:129 248:131
+ 249:129 250:25 251:81 252:81 253:81 254:104 255:104
+ EndCodeSection
+EndFontInfo
+
+FontInfo UniversItalic
+ MaxNormalCharWidth 188
+ Ascent 167
+ CodeSection 0:255
+ 0:207
+ 1:207 2:207 3:207 4:207
+ 5:131 ! telephone character must be the same as # (35)
+ 6:207
+ 7:69 ! non-breaking hyphen must be the same as hyphen (45)
+ 8:207
+ 9:69 ! tab must be the same as space (32)
+ 10:207 11:150 12:150 13:104
+ 14:69 ! potential hyphen must be the same as hyphen (45)
+ 15:69 ! non-breaking space must be the same as space (32)
+ 16:150
+ 17:150 18:150 19:114 20:131 21:131 22:207 23:150 24:150
+ 25:150 26:150 27:150 28:207 29:150 30:150 31:150 32:69
+ 33:69 34:104 35:131 36:131 37:207 38:158 39:69 40:69
+ 41:69 42:131 43:207 44:69 45:69 46:69 47:69 48:131
+ 49:131 50:131 51:131 52:131 53:131 54:131 55:131 56:131
+ 57:131 58:69 59:69 60:207 61:207 62:207 63:108 64:207
+ 65:154 66:131 67:146 68:150 69:119 70:115 71:154 72:150
+ 73:58 74:115 75:138 76:111 77:188 78:150 79:158 80:123
+ 81:161 82:134 83:134 84:131 85:150 86:150 87:207 88:150
+ 89:142 90:127 91:69 92:69 93:69 94:131 95:104 96:131
+ 97:111 98:119 99:111 100:119 101:111 102:77 103:119 104:119
+ 105:50 106:50 107:111 108:50 109:181 110:119 111:119 112:119
+ 113:119 114:73 115:104 116:77 117:119 118:115 119:181 120:115
+ 121:115 122:100 123:92 124:104 125:92 126:131 127:207 128:146
+ 129:119 130:111 131:111 132:111 133:111 134:111 135:111 136:111
+ 137:111 138:111 139:50 140:50 141:50 142:154 143:154 144:119
+ 145:177 146:204 147:119 148:119 149:119 150:119 151:119 152:115
+ 153:158 154:150 155:122 156:131 157:160 158:207 159:131 160:111
+ 161:50 162:119 163:119 164:119 165:150 166:85 167:85 168:108
+ 169:104 170:207 171:207 172:207 173:69 174:115 175:115 176:207
+ 177:207 178:207 179:207 180:207 181:154 182:154 183:154 184:105
+ 185:207 186:207 187:207 188:207 189:129 190:129 191:207 192:207
+ 193:207 194:207 195:207 196:207 197:207 198:111 199:154 200:207
+ 201:207 202:207 203:207 204:207 205:207 206:207 207:128 208:121
+ 209:150 210:119 211:119 212:119 213:51 214:58 215:58 216:58
+ 217:207 218:207 219:207 220:207 221:105 222:58 223:207 224:158
+ 225:127 226:158 227:158 228:119 229:158 230:115 231:119 232:126
+ 233:150 234:150 235:150 236:115 237:142 238:129 239:129 240:72
+ 241:207 242:106 243:207 244:130 245:130 246:207 247:129 248:131
+ 249:129 250:16 251:81 252:81 253:81 254:104 255:104
+ EndCodeSection
+EndFontInfo
+
+FontInfo UniversBold
+ MaxNormalCharWidth 188
+ Ascent 167
+ CodeSection 0:255
+ 0:207
+ 1:207 2:207 3:207 4:207
+ 5:131 ! telephone character must be the same as # (35)
+ 6:207
+ 7:69 ! non-breaking hyphen must be the same as hyphen (45)
+ 8:207
+ 9:69 ! tab must be the same as space (32)
+ 10:207 11:150 12:150 13:104
+ 14:69 ! potential hyphen must be the same as hyphen (45)
+ 15:69 ! non-breaking space must be the same as space (32)
+ 16:150
+ 17:150 18:150 19:115 20:131 21:131 22:207 23:150 24:150
+ 25:150 26:150 27:150 28:207 29:150 30:150 31:150 32:69
+ 33:69 34:108 35:131 36:131 37:207 38:158 39:69 40:69
+ 41:69 42:131 43:207 44:69 45:69 46:69 47:69 48:131
+ 49:131 50:131 51:131 52:131 53:131 54:131 55:131 56:131
+ 57:131 58:69 59:69 60:207 61:207 62:207 63:108 64:207
+ 65:154 66:131 67:146 68:150 69:119 70:115 71:154 72:150
+ 73:58 74:115 75:138 76:111 77:188 78:150 79:158 80:123
+ 81:161 82:134 83:134 84:131 85:150 86:150 87:207 88:150
+ 89:142 90:127 91:69 92:69 93:69 94:131 95:104 96:131
+ 97:111 98:119 99:111 100:119 101:111 102:77 103:119 104:119
+ 105:50 106:50 107:111 108:50 109:181 110:119 111:119 112:119
+ 113:119 114:73 115:104 116:77 117:119 118:115 119:181 120:115
+ 121:115 122:100 123:104 124:104 125:104 126:131 127:207 128:146
+ 129:119 130:111 131:111 132:111 133:111 134:111 135:111 136:111
+ 137:111 138:111 139:50 140:50 141:50 142:154 143:154 144:119
+ 145:177 146:204 147:119 148:119 149:119 150:119 151:119 152:115
+ 153:158 154:150 155:122 156:131 157:160 158:207 159:131 160:111
+ 161:50 162:119 163:119 164:119 165:150 166:85 167:85 168:108
+ 169:104 170:207 171:207 172:207 173:69 174:115 175:115 176:207
+ 177:207 178:207 179:207 180:207 181:154 182:154 183:154 184:105
+ 185:207 186:207 187:207 188:207 189:129 190:129 191:207 192:207
+ 193:207 194:207 195:207 196:207 197:207 198:111 199:154 200:207
+ 201:207 202:207 203:207 204:207 205:207 206:207 207:128 208:121
+ 209:150 210:119 211:119 212:119 213:51 214:58 215:58 216:58
+ 217:207 218:207 219:207 220:207 221:105 222:58 223:207 224:158
+ 225:127 226:158 227:158 228:119 229:158 230:123 231:119 232:126
+ 233:150 234:150 235:150 236:115 237:142 238:129 239:129 240:72
+ 241:207 242:106 243:207 244:130 245:130 246:207 247:129 248:131
+ 249:129 250:33 251:81 252:81 253:81 254:104 255:104
+ EndCodeSection
+EndFontInfo
+
+FontInfo UniversBoldItalic
+ MaxNormalCharWidth 188
+ Ascent 167
+ CodeSection 0:255
+ 0:207
+ 1:207 2:207 3:207 4:207
+ 5:131 ! telephone character must be the same as # (35)
+ 6:207
+ 7:69 ! non-breaking hyphen must be the same as hyphen (45)
+ 8:207
+ 9:69 ! tab must be the same as space (32)
+ 10:207 11:150 12:150 13:104
+ 14:69 ! potential hyphen must be the same as hyphen (45)
+ 15:69 ! non-breaking space must be the same as space (32)
+ 16:150
+ 17:150 18:150 19:125 20:131 21:131 22:207 23:150 24:150
+ 25:150 26:150 27:150 28:207 29:150 30:150 31:150 32:69
+ 33:69 34:111 35:131 36:131 37:207 38:158 39:69 40:69
+ 41:69 42:131 43:207 44:69 45:69 46:69 47:69 48:131
+ 49:131 50:131 51:131 52:131 53:131 54:131 55:131 56:131
+ 57:131 58:69 59:69 60:207 61:207 62:207 63:108 64:207
+ 65:154 66:131 67:146 68:150 69:119 70:115 71:154 72:150
+ 73:58 74:115 75:138 76:111 77:188 78:150 79:158 80:123
+ 81:161 82:134 83:134 84:131 85:150 86:150 87:207 88:150
+ 89:142 90:127 91:69 92:69 93:69 94:131 95:104 96:131
+ 97:111 98:119 99:111 100:119 101:111 102:77 103:119 104:119
+ 105:50 106:50 107:111 108:50 109:181 110:119 111:119 112:119
+ 113:119 114:73 115:104 116:77 117:119 118:115 119:181 120:115
+ 121:115 122:100 123:104 124:104 125:104 126:131 127:207 128:146
+ 129:119 130:111 131:111 132:111 133:111 134:111 135:111 136:111
+ 137:111 138:111 139:50 140:50 141:50 142:154 143:154 144:119
+ 145:177 146:204 147:119 148:119 149:119 150:119 151:119 152:115
+ 153:158 154:150 155:122 156:131 157:160 158:207 159:131 160:111
+ 161:50 162:119 163:119 164:119 165:150 166:85 167:85 168:108
+ 169:104 170:207 171:207 172:207 173:69 174:115 175:115 176:207
+ 177:207 178:207 179:207 180:207 181:154 182:154 183:154 184:105
+ 185:207 186:207 187:207 188:207 189:129 190:129 191:207 192:207
+ 193:207 194:207 195:207 196:207 197:207 198:111 199:154 200:207
+ 201:207 202:207 203:207 204:207 205:207 206:207 207:128 208:121
+ 209:150 210:119 211:119 212:119 213:51 214:58 215:58 216:58
+ 217:207 218:207 219:207 220:207 221:105 222:58 223:207 224:158
+ 225:127 226:158 227:158 228:119 229:158 230:123 231:119 232:126
+ 233:150 234:150 235:150 236:115 237:142 238:129 239:129 240:72
+ 241:207 242:106 243:207 244:130 245:130 246:207 247:129 248:131
+ 249:129 250:37 251:81 252:81 253:81 254:104 255:104
+ EndCodeSection
+EndFontInfo
+
+TypefaceFonts Courier
+ Name "Courier" Serif
+ Translates Telephone
+ FontHeight
+ Height 200
+ Normal Courier10
+ Bold Courier10
+ Italic Courier10
+ BoldItalic Courier10
+ Command "" !<27>(s0p12h10v3T"
+ EndFontHeight
+ FontHeight
+ Height 240
+ Normal Courier12
+ Bold Courier12
+ Italic Courier12
+ BoldItalic Courier12
+ Command "" !<27>(s0p10h12v3T"
+ EndFontHeight
+EndTypefaceFonts
+
+TypefaceFonts LinePrinter
+ Name "Lineprinter"
+ Translates Telephone
+ FontHeight
+ Height 170
+ Normal LinePrinter9
+ Bold LinePrinter9
+ Italic LinePrinter9
+ BoldItalic LinePrinter9
+ Command "<27>(s0p16.67h8.5v0T"
+ EndFontHeight
+EndTypefaceFonts
+
+TypefaceFonts CgTimes
+ Name "CG Times" Proportional Serif
+ Translates Telephone
+ ScalableFontHeight
+ HeightMin 80 ! min font height 80 twips = 4 point
+ HeightMax 1200 ! max font height 1200 twips ( = 60 point)
+ HeightDelta 20 ! delta font height 20 twips = 1 point
+ Normal CgTimesStd
+ Bold CgTimesBold
+ Italic CgTimesItalic
+ BoldItalic CgTimesBoldItalic
+ Command "<27>(s1p%dv4101T"
+ EndScalableFontHeight
+EndTypefaceFonts
+
+TypefaceFonts Univers
+ Name "Univers" Proportional
+ Translates Telephone
+ ScalableFontHeight
+ HeightMin 80 ! min font height 80 twips = 4 point
+ HeightMax 1200 ! max font height 1200 twips ( = 60 point)
+ HeightDelta 20 ! delta font height 20 twips = 1 point
+ Normal UniversStd
+ Bold UniversBold
+ Italic UniversItalic
+ BoldItalic UniversBoldItalic
+ Command "<27>(s1p%dv4148T"
+ EndScalableFontHeight
+EndTypefaceFonts
+
+!ExtraInfo ExtraInfo
+! "abcdefghijklmnopqrstuvwxyz"
+! "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+!EndExtraInfo
+
+Model HPLJ3
+ Name "HP LaserJet III" RequiresPrinterPort
+ Uid 1000
+ Flags 0
+ Resources Pcl5Resources
+ KPixelWidth 4800 ! Twips = 300 dots per inch
+ KPixelHeight 4800
+ PortraitOffset 75 0 ! Pixels
+ LandscapeOffset 60 0
+ MinMarginLeft 50 ! Pixels
+ MinMarginRight 50
+ MinMarginTop 50
+ MinMarginBottom 50
+ DisplayMode Gray2
+ TypefaceFontss
+ Courier
+ LinePrinter NotInLandscape
+ CgTimes NotInPortrait
+ Univers
+ EndTypefaceFontss
+EndModel
+
+Model HPDJ340
+ Name "HP DeskJet 340" RequiresPrinterPort
+ Uid 1100
+ Flags 3 ! 1 = MoveDownOnly, 2 = LanscapeBandOrientationVertical
+ Resources Pcl5Resources
+ KPixelWidth 4800 ! Twips = 300 dots per inch
+ KPixelHeight 4800
+ PortraitOffset 75 0 ! Pixels
+ LandscapeOffset 60 0
+ MinMarginLeft 50 ! Pixels
+ MinMarginRight 50
+ MinMarginTop 75
+ MinMarginBottom 200
+ DisplayMode Gray2
+ TypefaceFontss
+ Courier
+ LinePrinter
+ CgTimes
+ Univers
+ EndTypefaceFontss
+EndModel
+
+Model HPDJ660C
+ Name "HP DeskJet 660C" RequiresPrinterPort
+ Uid 1200
+ Flags 3 ! 1 = MoveDownOnly, 2 = LanscapeBandOrientationVertical
+ Resources Pcl5Resources
+ KPixelWidth 4800 ! Twips = 300 dots per inch
+ KPixelHeight 4800
+ PortraitOffset 75 0 ! Pixels
+ LandscapeOffset 60 0
+ MinMarginLeft 50 ! Pixels
+ MinMarginRight 50
+ MinMarginTop 75
+ MinMarginBottom 175
+ DisplayMode Gray2
+ TypefaceFontss
+ Courier
+ LinePrinter
+ CgTimes
+ Univers
+ EndTypefaceFontss
+! SpareRecord ExtraInfo
+EndModel
+
+PdrStoreFile
+ PDLName "test"
+ PDLUid 1
+ Models
+ HPLJ3
+ HPDJ340
+ HPDJ660C
+ EndModels
+EndPdrStoreFile
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/platmacros.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/platmacros.mmp Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+TARGET test_platmacros
+TARGETTYPE EXE
+SOURCEPATH ./src
+SOURCE platmacros.cpp
+
+// TOOLS2_WINDOWS activated for cross compilation on Linux
+#ifdef TOOLS2_LINUX
+#warning TOOLS2_LINUX
+#endif
+
+#ifdef TOOLS2_WINDOWS
+#warning TOOLS2_WINDOWS
+#endif
+
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/LEXICAL.CPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/LEXICAL.CPP Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,311 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header LEXICAL.CPP
+*
+*/
+
+
+#include "LEXICAL.H"
+
+Lexical::Lexical()
+ : iType(ELexNL), iNumber(0)
+ {
+ iText[0] = '\0';
+ }
+
+Lexical::Lexical(const Lexical& aLex)
+ {
+ iType = aLex.iType;
+ iNumber = aLex.iNumber;
+ strcpy(iText, aLex.iText);
+ }
+
+Lexical& Lexical::operator = (const Lexical& aLex)
+ {
+ iType = aLex.iType;
+ iNumber = aLex.iNumber;
+ strcpy(iText, aLex.iText);
+ return *this;
+ }
+
+int Lexical::CovertStringToHex()
+ {
+ char* curPtr = iText; // Position of current lexical in line
+ int hexDigit;
+ int number = 0;
+
+ while (HexDigit(*curPtr, hexDigit))
+ {
+ number = (16 * number) + hexDigit;
+ curPtr++;
+ }
+ return number;
+ }
+
+int Lexical::HexDigit(char aDigit, int& decimalEquivalent)
+ {
+ boolean validDigit = efalse;
+ if ((aDigit >= '0') && (aDigit <= '9'))
+ {
+ decimalEquivalent = (aDigit - '0');
+ validDigit = etrue;
+ }
+ else if ((aDigit >= 'a') && (aDigit <= 'f'))
+ {
+ decimalEquivalent = 10 + (aDigit - 'a');
+ validDigit = etrue;
+ }
+ else if ((aDigit >= 'A') && (aDigit <= 'F'))
+ {
+ decimalEquivalent = 10 + (aDigit - 'A');
+ validDigit = etrue;
+ }
+ return validDigit;
+ }
+
+ostream& operator << (ostream& out, const Lexical& aLex)
+ {
+ switch (aLex.iType)
+ {
+ case ELexEOF:
+ {
+ out << "EOF";
+ break;
+ }
+ case ELexNL:
+ {
+ out << "NL";
+ break;
+ }
+ case ELexNumber:
+ {
+ out << aLex.iNumber;
+ break;
+ }
+ case ELexOperator:
+ {
+ out << aLex.iText[0];
+ break;
+ }
+ default:
+ {
+ out << aLex.iText;
+ }
+ }
+ return out;
+ }
+
+LexAnal::LexAnal(const char* aFilename)
+ : iFilename(aFilename)
+ {
+ iFin.open(aFilename);
+ iLex.iType = ELexNL;
+ iLineNo = 0;
+ }
+
+Lexical LexAnal::Read() // read next lexical into iLex
+ {
+ if (iLex.iType == ELexNL)
+ {
+ do
+ {
+ GetNextLex();
+ }
+ while (iLex.iType == ELexNL);
+ }
+ else
+ GetNextLex();
+ return iLex;
+ }
+
+Lexical LexAnal::ReadNextLine() // read first lex on next line
+ {
+ GetNextLine();
+ return iLex;
+ }
+
+void LexAnal::Report()
+ {
+ cerr << iFilename.Text() << '(' << iLineNo << "): \n";
+ cerr << iLine << '\n';
+ for (char* p = iLine; p < iLexPtr; p++)
+ cerr << ' ';
+ cerr << "^\n";
+ }
+
+LexAnal::~LexAnal()
+ {
+ iFin.close();
+ }
+
+void LexAnal::GetNextLex()
+ {
+ char ch;
+ if (iLex.iType == ELexNL)
+ {
+ iFin.getline(iLine, MaxLineLen);
+ // Remove any CR character that appear at the end when
+ // reading a dos file on unix.
+ PurgeLastCR(iLine);
+ iCurPtr = iLine;
+ iLineNo++;
+ }
+
+ while ((*iCurPtr == ' ') || (*iCurPtr == '\t'))
+ iCurPtr++;
+ ch = *iCurPtr;
+ iLexPtr = iCurPtr;
+
+ if ((ch == '\0') && (iFin.eof())) // finds lexical type
+ iLex = ReadEOF();
+ else if ((ch == '\0') || (ch == '!')) // ! is a comment
+ iLex = ReadNewLine();
+ else if ((ch == '-') || ((ch >= '0') && (ch <= '9')))
+ iLex = ReadNumber();
+ else if (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_'))
+ iLex = ReadIdent();
+ else if (ch == '"')
+ iLex = ReadString();
+ else
+ iLex = ReadOperator();
+ }
+
+void LexAnal::GetNextLine()
+ {
+ iFin.getline(iLine, MaxLineLen);
+ // Remove any CR character that appear at the end when
+ // reading a dos file on unix.
+ PurgeLastCR(iLine);
+ iCurPtr = iLine;
+ iLineNo++;
+
+ char ch;
+ while ((*iCurPtr == ' ') || (*iCurPtr == '\t'))
+ iCurPtr++;
+ ch = *iCurPtr;
+ iLexPtr = iCurPtr;
+
+ if ((ch == '\0') && (iFin.eof())) // finds lexical type
+ iLex = ReadEOF();
+ else if ((ch == '\0') || (ch == '!'))
+ iLex = ReadNewLine();
+ else if ((ch == '-') || ((ch >= '0') && (ch <= '9')))
+ iLex=ReadNumber();
+ else if (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_'))
+ iLex = ReadIdent();
+ else if (ch == '"')
+ iLex = ReadString();
+ else
+ iLex = ReadOperator();
+ }
+
+void LexAnal::PurgeLastCR(char *aLine)
+ {
+ int len = strlen(aLine) - 1;
+ if (len >= 0 && aLine[len] == '\r')
+ {
+ aLine[len] = '\0';
+ }
+ }
+
+Lexical LexAnal::ReadEOF()
+ {
+ Lexical lex;
+ lex.iType = ELexEOF;
+ return lex;
+ }
+
+Lexical LexAnal::ReadNewLine()
+ {
+ Lexical lex;
+ lex.iType = ELexNL;
+ while (*iCurPtr != '\0')
+ iCurPtr++;
+ return lex;
+ }
+
+Lexical LexAnal::ReadNumber()
+ {
+ Lexical lex;
+ char ch;
+ boolean negative = efalse;
+ lex.iType = ELexNumber;
+ if (*iCurPtr == '-')
+ {
+ negative = etrue;
+ iCurPtr++;
+ }
+ ch = *iCurPtr;
+ while ((ch >= '0') && (ch <= '9'))
+ {
+ if (negative)
+ lex.iNumber = (10 * lex.iNumber) - (*iCurPtr - '0');
+ else
+ lex.iNumber=(10 * lex.iNumber) + (*iCurPtr - '0');
+ iCurPtr++;
+ ch = *iCurPtr;
+ }
+ return lex;
+ }
+
+
+Lexical LexAnal::ReadIdent()
+ {
+ Lexical lex;
+ char ch;
+ lex.iType = ELexIdent;
+ do
+ {
+ iCurPtr++;
+ ch = *iCurPtr;
+ }
+ while (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_') || ((ch >= '0') && (ch <= '9')));
+ strncpy(lex.iText, iLexPtr, iCurPtr - iLexPtr);
+ lex.iText[iCurPtr - iLexPtr] = '\0';
+ return lex;
+ }
+
+Lexical LexAnal::ReadString()
+ {
+ Lexical lex;
+ char ch;
+ lex.iType = ELexString;
+ iCurPtr++;
+ ch = *iCurPtr;
+ while ((ch != '"') && (*iCurPtr != '\0'))
+ {
+ iCurPtr++;
+ ch = *iCurPtr;
+ }
+ strncpy(lex.iText, iLexPtr + 1, iCurPtr - (iLexPtr + 1));
+ lex.iText[iCurPtr - (iLexPtr + 1)] = '\0';
+ if (ch == '"')
+ iCurPtr++; // finds position after last double quotes
+ else
+ {
+ cerr << "Warning: missing quotes\n";
+ Report();
+ }
+ return lex;
+ }
+
+Lexical LexAnal::ReadOperator()
+ {
+ Lexical lex;
+ lex.iType = ELexOperator;
+ lex.iText[0] = *iCurPtr;
+ iCurPtr++;
+ return lex;
+ }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRREADR.CPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRREADR.CPP Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,1009 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header PDRREADR.CPP
+*
+*/
+
+
+#include "PDRREADR.H"
+
+const int NumResources=34;
+
+String IdentResource[NumResources] =
+ {
+ "Reset",
+ "SetPageSize",
+ "PreAmble",
+ "PostAmble",
+ "SetTextColor", // !!
+ "BoldOn",
+ "BoldOff",
+ "ItalicOn",
+ "ItalicOff",
+ "UnderlineOn",
+ "UnderlineOff",
+ "StrikethroughOn",
+ "StrikethroughOff",
+ "NewPage",
+ "Portrait",
+ "Landscape",
+ "SetXPos",
+ "SetYPos",
+ "IncrementXPos",
+ "IncrementYPos",
+ "CarriageReturn",
+ "SetGraphicsColor", // !!
+ "BitmapStart",
+ "BitmapEnd",
+ "ScanLine",
+ "EndScanLine", // !!
+ "Resource1",
+ "Resource2",
+ "Resource3",
+ "Resource4",
+ "Resource5",
+ "Resource6",
+ "Resource7",
+ "Resource8"
+ };
+
+const int NumDisplayModeValues = 11;
+
+String IdentDisplayModeValue[NumDisplayModeValues] =
+ {
+ "None",
+ "Gray2",
+ "Gray4",
+ "Gray16",
+ "Gray256",
+ "Color16",
+ "Color256",
+ "Color64K",
+ "Color16M",
+ "Rgb",
+ "Color4K"
+ };
+
+EXPORT_C PdrReader::PdrReader()
+ : Reader(),
+ iPdrModelStore(),
+ iPdrStoreFile(NULL),
+ iResources(NULL),
+ iTranslates(NULL),
+ iCodeSection(NULL),
+ iFontInfo(NULL),
+ iIndex(Normal),
+ iFontHeight(NULL),
+ iTypefaceFonts(NULL),
+ iModel(NULL)
+ {
+ }
+
+EXPORT_C boolean PdrReader::Read(const String& aFilename)
+ {
+ boolean state = Open(aFilename);
+
+ while (!_EOF() && state)
+ {
+ if (IdentComp(IdentResources))
+ state = ReadResources();
+ else if (IdentComp(IdentTranslates))
+ state = ReadTranslates();
+ else if (IdentComp(IdentFontInfo))
+ state = ReadFontInfo();
+ else if (IdentComp(IdentTypefaceFonts))
+ state = ReadTypefaceFonts();
+// else if (IdentComp(IdentExtraInfo))
+// state = ReadExtraInfo();
+ else if (IdentComp(IdentModel))
+ state = ReadModel();
+ else if (IdentComp(IdentPdrStoreFile))
+ state = ReadPdrStoreFile();
+ else
+ {
+ Error("Resource identifier expected");
+ state = efalse;
+ }
+ if (state)
+ state = NewLine();
+ }
+ return state;
+ }
+
+EXPORT_C PdrReader::~PdrReader()
+ {
+ }
+
+boolean PdrReader::ReadResources()
+ {
+ boolean state = etrue;
+ iResources = PdrResources::New();
+ state = IdentCopy(iResources->iLabel);
+ if (state)
+ state = NewLine();
+ while (!IdentComp(IdentEndResources) && !_EOF() && state)
+ {
+ int i; // DEF102183: Graphics tools fail to build using MS VC8.
+ for (i = 0; (i < NumResources) && !IdentComp(IdentResource[i]); i++)
+ { // Tries to match resources identifier
+ }
+ if (i < NumResources)
+ {
+ PdrResource *resource = PdrResource::New();
+ state = Command(resource->iString);
+ resource->iId = i;
+ if (state)
+ {
+ iResources->AddResource(resource);
+ state = NewLine();
+ }
+ else
+ resource->Delete();
+ }
+ else
+ {
+ state = efalse;
+ Error("Resources identifier expected");
+ }
+ }
+ if (state)
+ {
+ iPdrModelStore.AddResources(iResources);
+ cout << "Resources read\n";
+ }
+ else
+ iResources->Delete();
+ return state;
+ }
+
+boolean PdrReader::ReadTranslates()
+ {
+ int num;
+ boolean state = etrue;
+ iTranslates = PdrTranslates::New();
+ state = IdentCopy(iTranslates->iLabel);
+ if (state)
+ state = NewLine();
+ while (!IdentComp(IdentEndTranslates) && !_EOF() && state)
+ {
+ if (iLex->iType == ELexNumber)
+ {
+ PdrTranslation *translation = PdrTranslation::New();
+ Number(num);
+ translation->iFrom = uint16(num);
+ char ch;
+ state = Operator(ch);
+ if (state)
+ {
+ state = (ch == ':');
+ if (state)
+ {
+ if (iLex->iType == ELexNumber)
+ {
+ state = Number(num);
+ translation->iTo += char(num);
+ }
+ else
+ {
+ state = Command(translation->iTo);
+ }
+ if (state)
+ state = NewLine();
+ }
+ else
+ {
+ Error("Operator ':' expected");
+ }
+ }
+ if (state)
+ iTranslates->AddTranslation(translation);
+ else
+ translation->Delete();
+ }
+ }
+ if (state)
+ {
+ iPdrModelStore.AddTranslates(iTranslates);
+ cout << "Translates read\n";
+ }
+ else
+ iTranslates->Delete();
+ return state;
+ }
+
+boolean PdrReader::ReadCodeSection(int aCode)
+ {
+ boolean state = etrue;
+ int code;
+ int num;
+ iCodeSection = WidthsCodeSection::New();
+ char ch = 0;
+ state = Number(num);
+ if ((numiStart = uint16(num);
+ state = Operator(ch);
+ if (state)
+ state = (ch == ':');
+ if (state)
+ {
+ state = Number(num);
+ iCodeSection->iEnd = uint16(num);
+ state = NewLine();
+ }
+ else
+ {
+ state = efalse;
+ Error("Operator ':' expected");
+ }
+ }
+ else
+ state = efalse;
+ while (!IdentComp(IdentEndCodeSection) && !_EOF() && state)
+ {
+ if (iLex->iType != ELexNL)
+ {
+ state = Number(code);
+ if ((code != iCodeSection->iStart + iCodeSection->NumWidths()) && state)
+ {
+ state = efalse;
+ Error("Width out of sequence");
+ }
+ if (state)
+ state = Operator(ch);
+ if (state)
+ state = (ch == ':');
+ if (state)
+ {
+ Width *width = Width::New();
+ if (Number(num))
+ {
+ width->iWidthInPixels = (uint16) num;
+ iCodeSection->AddWidth(width);
+ }
+ else
+ {
+ state = efalse;
+ width->Delete();
+ }
+ }
+ }
+ else
+ state = NewLine();
+ }
+ if (state)
+ {
+ num = ((iCodeSection->iEnd + 1) - iCodeSection->iStart);
+ if ((num != iCodeSection->NumWidths()) && (iCodeSection->NumWidths() != 1))
+ {
+ Error("Wrong number of widths in codesection");
+ state = efalse;
+ }
+ }
+ if (state)
+ {
+ iFontInfo->AddCodeSection(iCodeSection);
+// cout << "Codesection read\n";
+ }
+ else
+ iCodeSection->Delete();
+ return state;
+ }
+
+boolean PdrReader::ReadFontInfo()
+ {
+ boolean state = etrue;
+ iFontInfo = FontInfo::New();
+ int num;
+ state = IdentCopy(iFontInfo->iLabel);
+ if (state)
+ state = NewLine();
+ while (!IdentComp(IdentEndFontInfo) && !_EOF() && state)
+ {
+ if (iLex->iType == ELexIdent)
+ {
+ if (IdentComp(IdentCodeSection))
+ {
+ int code = 0,size = iFontInfo->NumCodeSections();
+ if (size)
+ code = iFontInfo->CodeSectionList(size - 1)->iEnd + 1;
+ state = ReadCodeSection(code);
+ }
+ else if (IdentComp(IdentAscent))
+ {
+ if (Number(num))
+ iFontInfo->iAscentInPixels = uint16(num);
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentMaxNormalCharWidth))
+ {
+ state = Number(num);
+ if (state)
+ iFontInfo->iMaxNormalCharWidthInPixels = uint16(num);
+ }
+ else
+ {
+ Error("Unrecognised fontinfo identifier");
+ state = efalse;
+ }
+ }
+ else
+ {
+ Error("Fontinfo identifier expected");
+ state = efalse;
+ }
+ if (state)
+ state = NewLine();
+ }
+ if (state)
+ {
+ iFontInfo->iMaxCharWidthInPixels = 0;
+ for (int i = 0; i < iFontInfo->NumCodeSections(); i++)
+ {
+ WidthsCodeSection* codesection = iFontInfo->CodeSectionList(i);
+ for (int j = 0; j < codesection->NumWidths(); j++)
+ {
+ int width = codesection->WidthList(j)->iWidthInPixels;
+ if (width > iFontInfo->iMaxCharWidthInPixels)
+ iFontInfo->iMaxCharWidthInPixels = (uint16) width;
+ }
+ }
+ }
+ if (state)
+ {
+ iPdrModelStore.AddFontInfo(iFontInfo);
+ cout << "Fontinfo read\n";
+ }
+ else
+ iFontInfo->Delete();
+ return state;
+ }
+
+boolean PdrReader::ReadStyle()
+ {
+ boolean state = etrue;
+ Record *fontinfo;
+ PdrStyle *style;
+ String label;
+ if (!iTypefaceFonts->iIsScalable)
+ style = &iFontHeight->iStyle[iIndex];
+ else
+ style = &iTypefaceFonts->iScalableFontHeight.iStyle[iIndex];
+ style->iIsAvailable = etrue;
+ state = IdentCopy(label);
+ if (state)
+ {
+ fontinfo = iPdrModelStore.FindFontInfo(label);
+ if (fontinfo)
+ style->iFontInfo = fontinfo;
+ else
+ {
+ Error("Fontinfo not found");
+ state = efalse;
+ }
+ }
+ return state;
+ }
+
+boolean PdrReader::ReadFontHeight()
+ {
+ boolean state = etrue;
+ int num;
+ if (iTypefaceFonts->iIsScalable == etrue)
+ {
+ state = efalse;
+ Error("Scalablefontheight already defined");
+ }
+ else
+ iFontHeight = PdrFontHeight::New();
+ if (state)
+ state = NewLine();
+
+ while (!IdentComp(IdentEndFontHeight) && !_EOF() && state)
+ {
+ if (iLex->iType == ELexIdent)
+ {
+ if (IdentComp(IdentHeight))
+ {
+ if (Number(num))
+ iFontHeight->iHeightInTwips = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentWidthScale))
+ {
+ if (Number(num))
+ iFontHeight->iWidthScale = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentNormal))
+ {
+ iIndex = Normal;
+ state = ReadStyle();
+ }
+ else if (IdentComp(IdentBold))
+ {
+ iIndex = Bold;
+ state = ReadStyle();
+ }
+ else if (IdentComp(IdentItalic))
+ {
+ iIndex = Italic;
+ state = ReadStyle();
+ }
+ else if (IdentComp(IdentBoldItalic))
+ {
+ iIndex = BoldItalic;
+ state = ReadStyle();
+ }
+ else if (IdentComp(IdentCommand))
+ {
+ state = Command(iFontHeight->iCommandString);
+ }
+ else
+ {
+ Error("Unrecognised fontheight identifier");
+ state = efalse;
+ }
+ }
+ else
+ {
+ Error("Fontheight identifier expected");
+ state = efalse;
+ }
+ if (state)
+ state = NewLine();
+ }
+ if (state)
+ {
+ iTypefaceFonts->AddFontHeight(iFontHeight);
+ cout << "Fontheight read\n";
+ }
+ else
+ iFontHeight->Delete();
+ return state;
+ }
+
+boolean PdrReader::ReadScalableFontHeight()
+ {
+ boolean state = etrue;
+ int num;
+ if (iTypefaceFonts->NumFontHeights())
+ {
+ state = efalse;
+ Error("Non-scalable fontheights already defined");
+ }
+ else if (iTypefaceFonts->iIsScalable == etrue)
+ {
+ state = efalse;
+ Error("Scalablefontheight already defined");
+ }
+ iTypefaceFonts->iIsScalable=etrue;
+ if (state)
+ state = NewLine();
+
+ while (!IdentComp(IdentEndScalableFontHeight) && !_EOF() && state)
+ {
+ if (iLex->iType == ELexIdent)
+ {
+ if (IdentComp(IdentHeightMin))
+ {
+ if (Number(num))
+ iTypefaceFonts->iScalableFontHeight.iHeightMinInTwips = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentHeightMax))
+ {
+ if (Number(num))
+ iTypefaceFonts->iScalableFontHeight.iHeightMaxInTwips = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentHeightDelta))
+ {
+ if (Number(num))
+ iTypefaceFonts->iScalableFontHeight.iHeightDeltaInTwips = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentNormal))
+ {
+ iIndex = Normal;
+ state = ReadStyle();
+ }
+ else if (IdentComp(IdentBold))
+ {
+ iIndex = Bold;
+ state = ReadStyle();
+ }
+ else if (IdentComp(IdentItalic))
+ {
+ iIndex = Italic;
+ state = ReadStyle();
+ }
+ else if (IdentComp(IdentBoldItalic))
+ {
+ iIndex = BoldItalic;
+ state = ReadStyle();
+ }
+ else if (IdentComp(IdentCommand))
+ {
+ state = Command(iTypefaceFonts->iScalableFontHeight.iCommandString);
+ }
+ else
+ {
+ Error("Unrecognised scalablefontheight identifier");
+ state = efalse;
+ }
+ }
+ else
+ {
+ Error("Scalablefontheight identifier expected");
+ state = efalse;
+ }
+ if (state)
+ state = NewLine();
+ }
+ if (state)
+ {
+ cout << "Scalablefontheight read\n";
+ }
+ else
+ {
+ if (!iTypefaceFonts->iIsScalable)
+ iFontHeight->Delete();
+ }
+ return state;
+ }
+
+boolean PdrReader::ReadTypefaceFonts()
+ {
+ boolean state = etrue;
+ Record* translates;
+ String label;
+ iTypefaceFonts = TypefaceFonts::New();
+ state = IdentCopy(iTypefaceFonts->iLabel);
+ if (state)
+ state = NewLine();
+ while (!IdentComp(IdentEndTypefaceFonts) && !_EOF() && state)
+ {
+ if (iLex->iType == ELexIdent)
+ {
+ if (IdentComp(IdentTypefaceName))
+ {
+ if (StringCopy(iTypefaceFonts->iTypeface.iName))
+ while (iLex->iType != ELexNL)
+ { if (IdentComp(IdentProportional))
+ iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Proportional);
+ else if (IdentComp(IdentSerif))
+ iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Serif);
+ else if (IdentComp(IdentSymbol))
+ iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Symbol);
+ else
+ {
+ Error("Typefacefonts identifier or newline expected");
+ state = efalse;
+ }
+ }
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentTypefaceTranslates))
+ {
+ state = IdentCopy(label);
+ if (state)
+ {
+ translates = iPdrModelStore.FindTranslates(label);
+ if (translates)
+ iTypefaceFonts->iTranslates = translates;
+ else
+ {
+ Error("Translates not found");
+ state = efalse;
+ }
+ }
+ }
+ else if (IdentComp(IdentFontHeight))
+ {
+ state = ReadFontHeight();
+ }
+ else if (IdentComp(IdentScalableFontHeight))
+ {
+ state = ReadScalableFontHeight();
+ }
+ else
+ {
+ Error("Unrecognised typefacefonts identifier");
+ state = efalse;
+ }
+ }
+ else
+ {
+ Error("Typefacefonts identifier expected");
+ state = efalse;
+ }
+ if (state)
+ state = NewLine();
+ }
+ if (state)
+ {
+ iPdrModelStore.AddTypefaceFonts(iTypefaceFonts);
+ cout << "Typefacefonts read\n";
+ }
+ else
+ iTypefaceFonts->Delete();
+ return state;
+ }
+
+boolean PdrReader::ReadModel()
+ {
+ boolean state = etrue;
+ int num;
+ iModel = PrinterModelHeader::New();
+ Record* resources;
+// Record* extrainfo;
+ String label;
+ state = IdentCopy(iModel->iLabel);
+ if (state)
+ state = NewLine();
+ while (!IdentComp(IdentEndModel) && !_EOF() && state)
+ {
+ if (iLex->iType == ELexIdent)
+ {
+ if (IdentComp(IdentModelName))
+ {
+ if (StringCopy(iModel->iEntry.iName))
+ while (iLex->iType != ELexNL)
+ {
+ if (IdentComp(IdentRequiresPrinterPort))
+ iModel->iEntry.iRequiresPrinterPort = etrue;
+ else
+ {
+ Error("Model identifier or newline expected");
+ state = efalse;
+ }
+ }
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentModelUid))
+ state = Number(iModel->iEntry.iUid);
+ else if (IdentComp(IdentModelFlags))
+ {
+ state = Number(num);
+ iModel->iInfo.iFlags = num;
+ }
+ else if (IdentComp(IdentModelResources))
+ {
+ state = IdentCopy(label);
+ if (state)
+ {
+ resources = iPdrModelStore.FindResources(label);
+ if (resources)
+ iModel->iInfo.iResources = resources;
+ else
+ {
+ Error("Resources not found");
+ state = efalse;
+ }
+ }
+ }
+/* else if (IdentComp(IdentSpareRecord))
+ {
+ state = IdentCopy(label);
+ if (state)
+ {
+ extrainfo = iPdrModelStore.FindExtraInfo(label);
+ if (extrainfo)
+ iModel->iInfo.iSpareRecord = extrainfo;
+ else
+ {
+ Error("Spare record not found");
+ state = efalse;
+ }
+ }
+ }
+*/
+ else if (IdentComp(IdentKPixelWidth))
+ {
+ if (Number(num))
+ iModel->iInfo.iKPixelWidthInTwips = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentKPixelHeight))
+ {
+ if (Number(num))
+ iModel->iInfo.iKPixelHeightInTwips = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentPortraitOffset))
+ {
+ if (Number(num))
+ {
+ iModel->iInfo.iPortraitOffsetInPixels.iX = num;
+ if (Number(num))
+ iModel->iInfo.iPortraitOffsetInPixels.iY = num;
+ else
+ state = efalse;
+ }
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentLandscapeOffset))
+ {
+ if (Number(num))
+ {
+ iModel->iInfo.iLandscapeOffsetInPixels.iX = num;
+ if (Number(num))
+ iModel->iInfo.iLandscapeOffsetInPixels.iY = num;
+ else
+ state = efalse;
+ }
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentMinMarginLeft))
+ {
+ if (Number(num))
+ iModel->iInfo.iMinMarginsInPixels.iLeft = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentMinMarginRight))
+ {
+ if (Number(num))
+ iModel->iInfo.iMinMarginsInPixels.iRight = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentMinMarginTop))
+ {
+ if (Number(num))
+ iModel->iInfo.iMinMarginsInPixels.iTop = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentMinMarginBottom))
+ {
+ if (Number(num))
+ iModel->iInfo.iMinMarginsInPixels.iBottom = num;
+ else
+ state = efalse;
+ }
+ else if (IdentComp(IdentDisplayMode))
+ {
+ int i; // DEF102183: Graphics tools fail to build using MS VC8.
+ for (i = 0; (i < NumDisplayModeValues) && !IdentComp(IdentDisplayModeValue[i]); i++)
+ { // Tries to match display mode identifier
+ }
+ if (i < NumDisplayModeValues)
+ {
+ iModel->iInfo.iDisplayMode = i;
+ }
+ else
+ {
+ state = efalse;
+ Error("Display mode identifier expected");
+ }
+ }
+ else if (IdentComp(IdentTypefaceFontss))
+ {
+ state = NewLine();
+ while (!IdentComp(IdentEndTypefaceFontss) && !_EOF() && state)
+ {
+ TypefaceFontsEntry* typefacefontsentry = NULL;
+ if (iLex->iType == ELexIdent)
+ {
+ state = IdentCopy(label);
+ Record* typefacefonts = iPdrModelStore.FindTypefaceFonts(label);
+ if (typefacefonts)
+ {
+ typefacefontsentry = TypefaceFontsEntry::New(typefacefonts);
+ state = etrue;
+ }
+ else
+ {
+ Error("Typefacefonts not found");
+ state = efalse;
+ }
+ }
+ if (state)
+ {
+ while ((iLex->iType != ELexNL) && !_EOF() && state)
+ {
+ if (IdentComp(IdentNotInPortrait))
+ {
+ typefacefontsentry->iNotInPortrait = etrue;
+ }
+ else if (IdentComp(IdentNotInLandscape))
+ {
+ typefacefontsentry->iNotInLandscape = etrue;
+ }
+ else
+ {
+ Error("Typefacefontsentry identifier or newline expected");
+ state = efalse;
+ }
+ }
+ if (state)
+ iModel->iInfo.AddTypefaceFontsEntry(typefacefontsentry);
+ else
+ typefacefontsentry->Delete();
+ }
+ if (state)
+ state = NewLine();
+ }
+ }
+ else
+ {
+ Error("unrecognised model identifier");
+ state = efalse;
+ }
+ }
+ else
+ {
+ Error("Model identifier expected");
+ state = efalse;
+ }
+ if (state)
+ state = NewLine();
+ }
+ if (state)
+ {
+ iPdrModelStore.AddModel(iModel);
+ cout << "Model read\n";
+ }
+ else
+ iModel->Delete();
+ return state;
+ }
+
+boolean PdrReader::ReadPdrStoreFile()
+ {
+ boolean state = etrue;
+ if (iPdrStoreFile)
+ {
+ state = efalse;
+ Error("Pdrstorefile already read");
+ }
+ else
+ {
+ iPdrStoreFile = PdrStoreFile::New();
+ String label;
+ Record* model;
+ state = NewLine();
+ while (!IdentComp(IdentEndPdrStoreFile) && !_EOF() && state)
+ {
+ if (IdentComp(IdentPDLName))
+ {
+ state = StringCopy(iPdrStoreFile->iPDLName);
+ }
+ else if (IdentComp(IdentPDLUid))
+ {
+ state = Number(iPdrStoreFile->iPDLUid);
+ }
+ else if (IdentComp(IdentModels))
+ {
+ state = NewLine();
+ while (!IdentComp(IdentEndModels) && !_EOF() && state)
+ {
+ state = IdentCopy(label);
+ if (state)
+ {
+ model = iPdrModelStore.FindModel(label);
+ if (model)
+ {
+ iPdrStoreFile->AddModel((PrinterModelHeader*)model);
+ }
+ else
+ {
+ Error("model not found");
+ state = efalse;
+ }
+ }
+ if (state)
+ state = NewLine();
+ }
+ }
+ else
+ {
+ Error("Pdrstorefile identifier expected");
+ state = efalse;
+ }
+ if (state)
+ state = NewLine();
+ }
+ if (state)
+ {
+ iPdrModelStore.AddPdrStoreFile(iPdrStoreFile);
+ cout << "Pdrstorefile read\n";
+ }
+ else
+ iPdrStoreFile->Delete();
+ }
+ return state;
+ }
+
+EXPORT_C boolean PdrReader::Store(const String& aFilename)
+ {
+ boolean state = etrue;
+ if (!iPdrStoreFile)
+ {
+ state = efalse;
+ Error("No pdrstore file record");
+ }
+ else
+ state = iPdrModelStore.Store(aFilename);
+ return state;
+ }
+
+boolean PdrReader::Command(String& aCommand)
+ {
+ boolean state = etrue;
+ String string;
+ state = StringCopy(string);
+ int length = string.Length();
+ for (int i = 0; i < length; i++)
+ {
+ char ch = string[i];
+ if (ch == '<') // Read control character
+ {
+ ch = 0;
+ for (i = i + 1; (i < length) && (string[i] != '>'); i++)
+ ch = char((ch * 10) + (string[i] - '0'));
+ }
+ aCommand += ch;
+ }
+ return state;
+ }
+/*
+boolean PdrReader::ReadExtraInfo()
+ {
+ boolean state = etrue;
+ String label;
+ PdrExtraInfo* extrainfo = new PdrExtraInfo();
+ state = IdentCopy(extrainfo->iLabel);
+ if (state)
+ state = NewLine();
+ while (!IdentComp(IdentEndExtraInfo) && !_EOF() && state)
+ {
+ String* string = new String;
+ state = Command(*string);
+ if (state)
+ extrainfo->iInfo.Add(string);
+ else
+ delete string;
+ state = NewLine();
+ }
+ if (state)
+ {
+ iPdrModelStore.AddExtraInfo(extrainfo);
+ cout << "Extra info read\n";
+ }
+ else
+ delete extrainfo;
+ return state;
+ }
+*/
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRRECRD.CPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRRECRD.CPP Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,785 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header PDRRECRD.CPP
+*
+*/
+
+
+#include "PDRRECRD.H"
+
+EXPORT_C PdrResource* PdrResource::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+ {
+ return new PdrResource();
+ }
+
+EXPORT_C void PdrResource::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void PdrResource::Externalize(ostream& out)
+ {
+ uint8 id = (uint8) iId;
+ out.write((char*) &id, sizeof(id));
+ iString.Externalize(out);
+ }
+
+EXPORT_C PdrResources* PdrResources::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+ {
+ return new PdrResources();
+ }
+
+EXPORT_C void PdrResources::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void PdrResources::Externalize(ostream& out)
+ {
+ iStreamId = out.tellp();
+ iPdrResourceList.Externalize(out);
+ }
+
+EXPORT_C void PdrResources::AddResource(PdrResource* aResource)
+/** Adds a printer resource to the object.
+
+@param aResource Printer resource. */
+ {
+ iPdrResourceList.Add(aResource);
+ }
+
+PdrResources::~PdrResources()
+/** Default destructor. */
+ {
+ iPdrResourceList.Destroy();
+ }
+
+EXPORT_C PdrTranslation* PdrTranslation::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+ {
+ return new PdrTranslation();
+ }
+
+EXPORT_C void PdrTranslation::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void PdrTranslation::Externalize(ostream& out)
+ {
+ out.write((char*) &iFrom, sizeof(iFrom));
+ iTo.Externalize(out);
+ }
+
+EXPORT_C PdrTranslates* PdrTranslates::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+ {
+ return new PdrTranslates();
+ }
+
+EXPORT_C void PdrTranslates::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void PdrTranslates::Externalize(ostream& out)
+ {
+ iStreamId = out.tellp();
+ iPdrTranslationList.Externalize(out);
+ }
+
+EXPORT_C void PdrTranslates::AddTranslation(PdrTranslation* aTranslation)
+/** Adds a printer translation to the list.
+
+@param aTranslation Reference to a translation. */
+ {
+ iPdrTranslationList.Add(aTranslation);
+ }
+
+PdrTranslates::~PdrTranslates()
+/** This function is internal, and is not intended for use. */
+ {
+ iPdrTranslationList.Destroy();
+ }
+
+EXPORT_C Width* Width::New()
+/** Creates a new instance of this object.
+
+@return Reference to a new object. */
+ {
+ return new Width();
+ }
+
+EXPORT_C void Width::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void Width::Externalize(ostream& out)
+ {
+ out.write ((char*) &iWidthInPixels, sizeof(iWidthInPixels));
+ }
+
+WidthsCodeSection::WidthsCodeSection()
+ : iWidthList()
+/** This function is internal only, and is not intended for use. */
+ {
+ }
+
+EXPORT_C WidthsCodeSection* WidthsCodeSection::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+ {
+ return new WidthsCodeSection();
+ }
+
+EXPORT_C void WidthsCodeSection::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void WidthsCodeSection::Externalize(ostream& out)
+ {
+ out.write((char*) &iStart, sizeof(iStart));
+ out.write((char*) &iEnd, sizeof(iEnd));
+ iWidthList.Externalize(out);
+ }
+
+EXPORT_C void WidthsCodeSection::AddWidth(Width* aWidth)
+/** Adds a new font width to the list.
+
+@param aWidth Font width. */
+ {
+ iWidthList.Add(aWidth);
+ }
+
+EXPORT_C Width* WidthsCodeSection::WidthList(int i)
+/** Returns a font width from the list at the position specified.
+
+@param i Position of font width in list.
+@return Reference to a font width. */
+ {
+ return iWidthList[i];
+ }
+
+EXPORT_C int WidthsCodeSection::NumWidths()
+/** Returns the number of font widths in the list.
+
+@return Number of widths. */
+ {
+ return iWidthList.Size();
+ }
+
+WidthsCodeSection::~WidthsCodeSection()
+/** Default destructor. */
+ {
+ iWidthList.Destroy();
+ }
+
+EXPORT_C FontInfo* FontInfo::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new instance of this class. */
+ {
+ return new FontInfo();
+ }
+
+EXPORT_C void FontInfo::Delete()
+/** Deletes the current FontInfo object. */
+ {
+ delete this;
+ }
+
+void FontInfo::Externalize(ostream& out)
+ {
+ iStreamId = out.tellp();
+ out.write((char*) &iAscentInPixels, sizeof(iAscentInPixels));
+ out.write((char*) &iMaxCharWidthInPixels, sizeof(iMaxCharWidthInPixels));
+ out.write((char*) &iMaxNormalCharWidthInPixels, sizeof(iMaxNormalCharWidthInPixels));
+ iCodeSectionList.Externalize(out);
+ }
+
+EXPORT_C void FontInfo::AddCodeSection(WidthsCodeSection* aCodeSection)
+/** Adds a section of information about the font to an internally-stored array.
+
+@param aCodeSection Font information. */
+ {
+ iCodeSectionList.Add(aCodeSection);
+ }
+
+EXPORT_C WidthsCodeSection* FontInfo::CodeSectionList(int i)
+/** Returns a section of font information from a specified position in the internally-stored
+array.
+
+@param i Postion of information in the array.
+@return Reference to section of font information. */
+ {
+ return iCodeSectionList[i];
+ }
+
+EXPORT_C int FontInfo::NumCodeSections()
+/** Returns the number of sections of font information in the internally-stored
+array.
+
+@return Current number of font information sections. */
+ {
+ return iCodeSectionList.Size();
+ }
+
+FontInfo::~FontInfo()
+/** This function is internal, and not intended for use. */
+ {
+ iCodeSectionList.Destroy();
+ }
+
+EXPORT_C PdrStyle* PdrStyle::New()
+/** Creates a new instance of this class
+
+@return Reference to a new object. */
+ {
+ return new PdrStyle();
+ }
+
+EXPORT_C void PdrStyle::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void PdrStyle::Externalize(ostream& out)
+ {
+ out.write((char*) &iIsAvailable, sizeof(iIsAvailable));
+ streamoff streamid = 0;
+ if (iIsAvailable)
+ streamid = iFontInfo->iStreamId;
+ ::ExternalizeStreamOff(out, streamid);
+ }
+
+PdrStyle::PdrStyle()
+ : iIsAvailable(efalse)
+/** Default constructor. */
+ {
+ }
+
+EXPORT_C PdrFontHeight* PdrFontHeight::New()
+/** Returns a new instance of this class.
+
+@return Reference to new object. */
+ {
+ return new PdrFontHeight();
+ }
+
+EXPORT_C void PdrFontHeight::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void PdrFontHeight::Externalize(ostream& out)
+ {
+ iCommandString.Externalize(out);
+ out.write((char*) &iHeightInTwips, sizeof(iHeightInTwips));
+ out.write((char*) &iWidthScale, sizeof(iWidthScale));
+ for (int style = Normal;style <= BoldItalic; style++)
+ iStyle[style].Externalize(out);
+ }
+
+PdrFontHeight::PdrFontHeight():
+ iWidthScale(1)
+/** Default constructor. */
+ {
+ }
+
+PdrScalableFontHeight::PdrScalableFontHeight()
+/** Default constructor. */
+ {
+ }
+
+void PdrScalableFontHeight::Externalize(ostream& out)
+ {
+ iCommandString.Externalize(out);
+ out.write((char*) &iHeightMinInTwips, sizeof(iHeightMinInTwips));
+ out.write((char*) &iHeightMaxInTwips, sizeof(iHeightMaxInTwips));
+ out.write((char*) &iHeightDeltaInTwips, sizeof(iHeightDeltaInTwips));
+ for (int style = Normal; style <= BoldItalic; style++)
+ iStyle[style].Externalize(out);
+ }
+
+EXPORT_C TypefaceFonts* TypefaceFonts::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+ {
+ return new TypefaceFonts();
+ }
+
+EXPORT_C void TypefaceFonts::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void TypefaceFonts::Externalize(ostream& out)
+ {
+ iStreamId = out.tellp();
+ iTypeface.Externalize(out);
+ out.write((char*) &iIsScalable, sizeof(iIsScalable));
+ if (iIsScalable)
+ iScalableFontHeight.Externalize(out);
+ else
+ iFontHeightList.Externalize(out);
+ ::ExternalizeStreamOff(out, iTranslates->iStreamId);
+ }
+
+EXPORT_C void TypefaceFonts::AddFontHeight(PdrFontHeight* aFontHeight)
+ {
+ iFontHeightList.Add(aFontHeight);
+ }
+
+EXPORT_C int TypefaceFonts::NumFontHeights()
+/** Returns the number of font height descriptions currently held in the list.
+
+@return Number of descriptions. */
+ {
+ return iFontHeightList.Size();
+ }
+
+PdrFontHeight* TypefaceFonts::FontHeightList(int i)
+/** Returns the font height description from the position specified in the list.
+
+@param i Position of description.
+@return Font height description. */
+ {
+ return iFontHeightList[i];
+ }
+
+TypefaceFonts::TypefaceFonts():
+ iIsScalable(efalse)
+/** This function is internal only, and is not intended for use. */
+ {
+ }
+
+TypefaceFonts::~TypefaceFonts()
+/** This function is internal only, and is not intended for use. */
+ {
+ iFontHeightList.Destroy();
+ }
+
+EXPORT_C TypefaceFontsEntry* TypefaceFontsEntry::New(Record* aTypefaceFonts)
+ {
+ return new TypefaceFontsEntry(aTypefaceFonts);
+ }
+
+EXPORT_C void TypefaceFontsEntry::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void TypefaceFontsEntry::Externalize(ostream& out)
+ {
+ ::ExternalizeStreamOff(out, iTypefaceFonts->iStreamId);
+ out.write((char*) &iNotInPortrait, sizeof(iNotInPortrait));
+ out.write((char*) &iNotInLandscape, sizeof(iNotInLandscape));
+ }
+
+TypefaceFontsEntry::TypefaceFontsEntry(Record* aTypefaceFonts)
+ : iTypefaceFonts(aTypefaceFonts), iNotInPortrait(efalse), iNotInLandscape(efalse)
+ {
+ }
+
+TypefaceFontsEntry::~TypefaceFontsEntry()
+/** Default destructor. */
+ {
+ }
+
+void Margins::Externalize(ostream& out)
+ {
+ out.write((char*) &iLeft, sizeof(iLeft));
+ out.write((char*) &iRight, sizeof(iRight));
+ out.write((char*) &iTop, sizeof(iTop));
+ out.write((char*) &iBottom, sizeof(iBottom));
+ }
+
+/*
+PdrExtraInfo::~PdrExtraInfo()
+ {
+ iInfo.Destroy();
+ }
+
+void PdrExtraInfo::Externalize(ostream& out)
+ {
+ iInfo.Externalize(out);
+ }
+*/
+
+void PdrModelInfo::Externalize(ostream& out)
+ {
+ iStreamId=out.tellp();
+ out.write((char*) &KPdrtranVersion, sizeof(KPdrtranVersion));
+ out.write((char*) &iFlags, sizeof(iFlags));
+ out.write((char*) &iKPixelWidthInTwips, sizeof(iKPixelWidthInTwips));
+ out.write((char*) &iKPixelHeightInTwips, sizeof(iKPixelHeightInTwips));
+ iPortraitOffsetInPixels.Externalize(out);
+ iLandscapeOffsetInPixels.Externalize(out);
+ iMinMarginsInPixels.Externalize(out);
+ out.write((char*) &iDisplayMode, sizeof(iDisplayMode));
+ iTypefaceFontsEntryList.Externalize(out);
+ ::ExternalizeStreamOff(out, iResources->iStreamId);
+ streamoff streamid = 0;
+ if (iSpareRecord)
+ streamid = iSpareRecord->iStreamId;
+ ::ExternalizeStreamOff(out, streamid);
+ }
+
+EXPORT_C void PdrModelInfo::AddTypefaceFontsEntry(TypefaceFontsEntry* aTypefaceFontsEntry)
+/** Adds an entry containing information about typeface fonts to an internally-stored
+array.
+
+@param aTypefaceFontsEntry Typeface font information. */
+ {
+ iTypefaceFontsEntryList.Add(aTypefaceFontsEntry);
+ }
+
+int PdrModelInfo::NumTypefaceFontsEntries()
+/** Returns the number of entries containing information about typeface fonts in
+the internally-stored array.
+
+@return Number of entries. */
+ {
+ return iTypefaceFontsEntryList.Size();
+ }
+
+TypefaceFontsEntry* PdrModelInfo::TypefaceFontsEntryList(int i)
+/** Returns the typeface font entry stored the internal array from the position
+specified.
+
+@param i Position in array.
+@return Typeface font entry. */
+ {
+ return iTypefaceFontsEntryList[i];
+ }
+
+PdrModelInfo::PdrModelInfo()
+ : iStreamId(0),
+ iFlags(0),
+ iKPixelWidthInTwips(0),
+ iKPixelHeightInTwips(0),
+ iPortraitOffsetInPixels(),
+ iLandscapeOffsetInPixels(),
+ iMinMarginsInPixels(),
+ iDisplayMode(0),
+ iTypefaceFontsEntryList(),
+ iResources(NULL),
+ iSpareRecord(NULL) // !! Not used yet
+/** Default constructor. */
+ {
+ }
+
+PdrModelInfo::~PdrModelInfo()
+/** Default destructor. */
+ {
+ iTypefaceFontsEntryList.Destroy();
+ }
+
+PrinterModelEntry::PrinterModelEntry()
+ : iName(), iRequiresPrinterPort(efalse), iUid(KNullUid)
+/** Default constructor. */
+ {
+ }
+
+void PrinterModelEntry::Externalize(ostream& out)
+ {
+ iName.Externalize(out);
+ out.write((char*) &iRequiresPrinterPort, sizeof(iRequiresPrinterPort));
+ out.write((char*) &iUid, sizeof(iUid));
+ }
+
+EXPORT_C PrinterModelHeader* PrinterModelHeader::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+ {
+ return new PrinterModelHeader();
+ }
+
+EXPORT_C void PrinterModelHeader::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+void PrinterModelHeader::Externalize(ostream& out)
+ {
+ iEntry.Externalize(out);
+ ::ExternalizeStreamOff(out, iInfo.iStreamId);
+ }
+
+void PrinterModelHeader::ExternalizeData(ostream& out)
+ {
+ iInfo.Externalize(out);
+ }
+
+boolean PrinterModelHeader::IsPdrModel()
+/** Determines whether printer information is available for this printer model.
+
+@return ETrue: printer description is available. */
+ {
+ return iInfo.NumTypefaceFontsEntries() || iInfo.iResources;
+ }
+
+EXPORT_C PdrStoreFile* PdrStoreFile::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+ {
+ return new PdrStoreFile();
+ }
+
+EXPORT_C void PdrStoreFile::Delete()
+/** Deletes the current object. */
+ {
+ delete this;
+ }
+
+EXPORT_C void PdrStoreFile::AddModel(PrinterModelHeader* aModel)
+/** Adds a printer model.
+
+@param aModel Printer model. */
+ {
+ iModelList.Add(aModel);
+ if (aModel->IsPdrModel())
+ {
+ for (int i = 0; i < aModel->iInfo.NumTypefaceFontsEntries(); i++)
+ AddTypefaceFonts((TypefaceFonts*) aModel->iInfo.TypefaceFontsEntryList(i)->iTypefaceFonts);
+ iResourcesList.Add(aModel->iInfo.iResources);
+// if (aModel->iInfo.iSpareRecord)
+// iExtraInfoList.Add(aModel->iInfo.iSpareRecord);
+ }
+ }
+
+void PdrStoreFile::Externalize(ostream& out)
+ {
+ ExternalizeHeader(out);
+ ExternalizeComponents(out);
+ }
+
+void PdrStoreFile::ExternalizeHeader(ostream& out)
+ {
+ out.write((char*) &KStoreWriteOnceLayoutUid, sizeof(KStoreWriteOnceLayoutUid));
+ out.write((char*) &KPdrStoreFileUid, sizeof(KPdrStoreFileUid));
+ out.write((char*) &KNullUid, sizeof(KNullUid));
+ out.write((char*) &KPdrStoreFileChecksum, sizeof(KPdrStoreFileChecksum));
+ ::ExternalizeStreamOff(out, iStreamId);
+ iStreamId = out.tellp();
+ iPDLName.Externalize(out);
+ out.write((char*) &iPDLUid, sizeof(iPDLUid));
+ iModelList.Externalize(out);
+ }
+
+void PdrStoreFile::AddTypefaceFonts(TypefaceFonts* aTypefaceFonts)
+ {
+ iTypefaceFontsList.Add(aTypefaceFonts);
+ iTranslatesList.Add(aTypefaceFonts->iTranslates);
+ if (aTypefaceFonts->iIsScalable)
+ {
+ for (int style = Normal; style <= BoldItalic; style++)
+ {
+ if (aTypefaceFonts->iScalableFontHeight.iStyle[style].iIsAvailable)
+ iFontInfoList.Add(aTypefaceFonts->iScalableFontHeight.iStyle[style].iFontInfo);
+ }
+ }
+ else
+ {
+ for (int j = 0; j < aTypefaceFonts->NumFontHeights(); j++)
+ {
+ PdrFontHeight* fontheight = aTypefaceFonts->FontHeightList(j);
+ for (int style = Normal; style <= BoldItalic; style++)
+ {
+ if (fontheight->iStyle[style].iIsAvailable)
+ iFontInfoList.Add(fontheight->iStyle[style].iFontInfo);
+ }
+ }
+ }
+ }
+
+void PdrStoreFile::ExternalizeComponents(ostream& out)
+ {
+ for (int i = 0; i < iModelList.Size(); i++)
+ {
+ PrinterModelHeader* model = (PrinterModelHeader*) iModelList[i];
+ if (model->IsPdrModel())
+ model->ExternalizeData(out);
+ }
+ iTypefaceFontsList.Externalize(out);
+ iFontInfoList.Externalize(out);
+ iResourcesList.Externalize(out);
+ iTranslatesList.Externalize(out);
+// iExtraInfoList.Externalize(out);
+ }
+
+PdrStoreFile::PdrStoreFile()
+ : Record(),
+ iPDLName(),
+ iPDLUid(KNullUid),
+ iModelList(),
+ iTypefaceFontsList(),
+ iFontInfoList(),
+ iResourcesList(),
+ iTranslatesList()
+/** This function is internal only, and is not intended for use. */
+ {
+ }
+
+EXPORT_C boolean PdrModelStore::Store(const String& aFilename)
+/** Externalizes printer information from the store to the specfied external file.
+
+@param aFilename Filename.
+@return ETrue: store successful. */
+ {
+ boolean state = efalse;
+ ofstream fout;
+ String string = aFilename;
+ fout.open(string.Text(), ios::binary);
+ if (!fout.fail())
+ {
+ iPdrStoreFile->Externalize(fout);
+ fout.close();
+ fout.open(string.Text(), ios::binary | ios::trunc);
+ iPdrStoreFile->Externalize(fout);
+ fout.close();
+ state = etrue;
+ }
+ return state;
+ }
+
+EXPORT_C void PdrModelStore::AddPdrStoreFile(PdrStoreFile* aPdrStoreFile)
+ {
+ iPdrStoreFile = aPdrStoreFile;
+ }
+
+EXPORT_C void PdrModelStore::AddModel(PrinterModelHeader *aModel)
+/** Adds a printer model to the store.
+
+@param aModel Printer model. */
+ {
+ iModelList.Add(aModel);
+ }
+
+EXPORT_C Record *PdrModelStore::FindModel(String& aLabel)
+ {
+ return iModelList.LabelToRecord(aLabel);
+ }
+
+EXPORT_C void PdrModelStore::AddTypefaceFonts(TypefaceFonts *aTypefaceFonts)
+/** Adds typeface information to the store.
+
+@param aTypefaceFonts Typeface fonts. */
+ {
+ iTypefaceFontsList.Add(aTypefaceFonts);
+ }
+
+EXPORT_C Record *PdrModelStore::FindTypefaceFonts(String& aLabel)
+ {
+ return iTypefaceFontsList.LabelToRecord(aLabel);
+ }
+
+EXPORT_C void PdrModelStore::AddFontInfo(FontInfo *aFontInfo)
+/** Adds font information to the store.
+
+@param aFontInfo Font information. */
+ {
+ iFontInfoList.Add(aFontInfo);
+ }
+
+EXPORT_C Record *PdrModelStore::FindFontInfo(String& aLabel)
+ {
+ return iFontInfoList.LabelToRecord(aLabel);
+ }
+
+EXPORT_C void PdrModelStore::AddResources(PdrResources *aResources)
+ {
+ iResourcesList.Add(aResources);
+ }
+
+EXPORT_C Record *PdrModelStore::FindResources(String& aLabel)
+ {
+ return iResourcesList.LabelToRecord(aLabel);
+ }
+
+EXPORT_C void PdrModelStore::AddTranslates(PdrTranslates *aTranslates)
+/** Adds printer translations to the store.
+
+@param aTranslates Translation list. */
+ {
+ iTranslatesList.Add(aTranslates);
+ }
+
+EXPORT_C Record *PdrModelStore::FindTranslates(String& aLabel)
+ {
+ return iTranslatesList.LabelToRecord(aLabel);
+ }
+
+ /*
+void PdrModelStore::AddExtraInfo(PdrExtraInfo *aInfo)
+ {
+ iExtraInfoList.Add(aInfo);
+ }
+
+Record* PdrModelStore::FindExtraInfo(String& aLabel)
+ {
+ return iExtraInfoList.LabelToRecord(aLabel);
+ }
+*/
+
+PdrModelStore::PdrModelStore()
+ : iPdrStoreFile(NULL),
+ iModelList(),
+ iTypefaceFontsList(),
+ iFontInfoList(),
+ iResourcesList()//,
+// iExtraInfoList()
+/** Default constructor. */
+ {
+ }
+
+PdrModelStore::~PdrModelStore()
+/** Default destructor. */
+ {
+ delete iPdrStoreFile;
+ iModelList.Destroy();
+ iTypefaceFontsList.Destroy();
+ iFontInfoList.Destroy();
+ iResourcesList.Destroy();
+ iTranslatesList.Destroy();
+// iExtraInfoList.Destroy();
+ }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRTRAN.CPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRTRAN.CPP Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header PDRTRAN.CPP
+*
+*/
+
+
+#include "PDRREADR.H"
+
+bool OutputUnicode = false;
+
+// Input and output filenames entered in command line
+int main(int argc, char *argv[])
+ {
+ cout << "\nPDRTRAN V";
+ cout << KPdrtranVersion << "\n";
+ cout << "Copyright (c) 1998-2004 Symbian Software Ltd.\n";
+
+ if(argc!=3)
+ {
+ cout << "Usage: PDRTRAN srcfile [srcfile2 ..] destfile\n";
+ cout << "where srcfile is the file containing printer models,\n";
+ cout << "typeface information and character width tables, and\n";
+ cout << "destfile is the pdr store file.\n";
+ return -1;
+ }
+
+ PdrReader reader;
+
+ for (int i = 1; i < argc - 1; i++)
+ {
+ if (!reader.Read(argv[i]))
+ {
+ cerr << "Problem encountered in file " << argv[i] << "\n";
+ return -1;
+ }
+ }
+ if (!reader.Store(argv[argc - 1]))
+ {
+ cerr << "Problem writing pdr file " << argv[argc - 1] << "\n";
+ return -1;
+ }
+ cout << argv[argc-1] << " created\n";
+ return 0;
+ }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/READER.CPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/READER.CPP Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header READER.CPP
+*
+*/
+
+
+#include "READER.H"
+
+Reader::Reader()
+ {
+ iLexAnal = NULL;
+ }
+
+boolean Reader::Open(const String& aFilename)
+ {
+ boolean state;
+ String string = aFilename;
+ if (iLexAnal != NULL)
+ delete iLexAnal;
+ iLexAnal = new LexAnal(string.Text());
+
+ if (iLexAnal)
+ {
+ state = etrue;
+ iLex =& (iLexAnal->iLex);
+ iLexAnal->Read(); // reads first lexical
+ }
+ else
+ state = efalse;
+
+ return state;
+ }
+
+Reader::~Reader()
+ {
+ if (iLexAnal != NULL)
+ delete iLexAnal;
+ }
+
+boolean Reader::_EOF()
+ {
+ return ((iLex->iType) == ELexEOF);
+ }
+
+boolean Reader::NewLine()
+ {
+ boolean state;
+ if (iLex->iType == ELexNL)
+ {
+ iLexAnal->Read();
+ state = etrue;
+ }
+ else
+ {
+ Error(String("Newline expected"));
+ state = efalse;
+ }
+ return state;
+ }
+
+boolean Reader::Number(int& aNumber)
+ {
+ boolean state;
+ if (iLex->iType == ELexNumber)
+ {
+ aNumber = iLex->iNumber;
+ iLexAnal->Read();
+ state = etrue;
+ }
+ else
+ {
+ Error(String("Number expected"));
+ state = efalse;
+ }
+ return state;
+ }
+
+boolean Reader::IdentComp(const String& aIdent)
+ {
+ boolean state;
+ if (iLex->iType == ELexIdent)
+ {
+ if (aIdent == iLex->iText)
+ {
+ iLexAnal->Read();
+ state = etrue;
+ }
+ else
+ state = efalse;
+ }
+ else
+ {
+ state = efalse;
+ }
+ return state;
+ }
+
+boolean Reader::IdentCopy(String& aIdent)
+ {
+ boolean state;
+ if (iLex->iType == ELexIdent)
+ {
+ aIdent = iLex->iText;
+ iLexAnal->Read();
+ state = etrue;
+ }
+ else
+ {
+ Error(String("Identifier expected"));
+ state = efalse;
+ }
+ return state;
+ }
+
+boolean Reader::StringCopy(String& aString)
+ {
+ boolean state;
+ if (iLex->iType == ELexString)
+ {
+ aString = iLex->iText;
+ iLexAnal->Read();
+ state = etrue;
+ }
+ else
+ {
+ Error(String("String expected"));
+ state = efalse;
+ }
+ return state;
+ }
+
+boolean Reader::Operator(char& aCh)
+ {
+ boolean state;
+ if (iLex->iType == ELexOperator)
+ {
+ aCh = iLex->iText[0];
+ iLexAnal->Read();
+ state = etrue;
+ }
+ else
+ {
+ Error(String("Operator expected"));
+ state = efalse;
+ }
+ return state;
+ }
+
+EXPORT_C void Reader::Error(const String& aString)
+ {
+ cerr << "Error: " << aString;
+ iLexAnal->Report();
+ while ((iLex->iType != ELexNL) && (iLex->iType != ELexEOF))
+ iLexAnal->Read();
+ }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/RECORD.CPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/RECORD.CPP Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header RECORD.CPP
+*
+*/
+
+
+#include "RECORD.H"
+
+EXPORT_C Record::Record()
+ : iLabel(), iStreamId(0)
+ {
+ }
+
+void RecordList::ExternalizeIds(ostream& out)
+ {
+ int32 i;
+ int32 size = Size();
+ out.write((char*) &size, sizeof(size));
+ for (i = 0; i < size; i++)
+ {
+ ::ExternalizeStreamOff(out, (*this)[i]->iStreamId);
+ }
+ }
+
+void RecordList::Externalize(ostream& out)
+ {
+ int32 size = Size();
+ out.write ((char*) &size, sizeof(size));
+ for (int i = 0; i < size; i++)
+ (*this)[i]->Externalize(out);
+ }
+
+void RecordList::ExternalizeComponents(ostream& out)
+ {
+ int32 size = Size();
+ for (int i = 0; i < size; i++)
+ (*this)[i]->ExternalizeComponents(out);
+ }
+
+EXPORT_C void RecordList::Add(Record* aRecord)
+ {
+ if (!LabelToRecord(aRecord->iLabel))
+ List::Add(aRecord);
+ }
+
+EXPORT_C Record *RecordList::LabelToRecord(const String& aLabel)
+ {
+ int32 size = Size();
+ Record *record=NULL;
+ if (aLabel.Length())
+ for (int i = 0; i < size; i++)
+ if ((*this)[i]->iLabel == aLabel)
+ record = (*this)[i];
+ return record;
+ }
+
+EXPORT_C void RecordList::Destroy()
+ {
+ List::Destroy();
+ }
+
+EXPORT_C RecordList::~RecordList()
+ {
+ }
+
+EXPORT_C Typeface::Typeface()
+ : iName(), iFlags(0)
+ {
+ }
+
+void Typeface::Externalize(ostream& out)
+ {
+ iName.Externalize(out);
+ out.put((char) iFlags);
+ }
+
+void Point::Externalize(ostream& out)
+ {
+ out.write((char*) &iX, sizeof(iX));
+ out.write((char*) &iY, sizeof(iY));
+ }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/STRNG.CPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/STRNG.CPP Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header STRNG.CPP
+*
+*/
+
+
+#include "STRNG.H"
+
+extern bool OutputUnicode;
+
+ostream& operator << (ostream& out, const String& aString)
+ {
+ for (int i = 0; i < aString.iLength; i++)
+ out << aString.iText[i];
+ out << '\n';
+ return out;
+ }
+
+EXPORT_C void String::Externalize(ostream& out)
+ {
+ if (OutputUnicode)
+ {
+ // Convert the string to Unicode, allowing #NNNN (each N is a hex digit)
+ // to represent an arbitrary Unicode character. Other values are just
+ // extended, so don't use codepage 1252 values in the range 128..159.
+ unsigned short* buffer = new unsigned short[iLength];
+ int i = 0;
+ int j = 0;
+ while (i < iLength)
+ {
+ if (iText[i] == '#')
+ {
+ i++;
+ char hex[5];
+ hex[0] = iText[i++];
+ hex[1] = iText[i++];
+ hex[2] = iText[i++];
+ hex[3] = iText[i++];
+ hex[4] = 0;
+ buffer[j++] = (unsigned short)strtoul(hex, NULL, 16);
+ }
+ else
+ {
+ buffer[j] = iText[i];
+ buffer[j] &= 0xFF;
+ i++;
+ j++;
+ }
+ }
+ int unicode_characters = j;
+ int32 length = (unicode_characters << 1); // 16-bit data
+ if (length < 0x80)
+ {
+ unsigned char len = (unsigned char)(length << 1);
+ out.write((char*)&len, sizeof(len));
+ }
+ else if (length < 0x4000)
+ {
+ uint16 len = (uint16)((length << 2) + 1);
+ out.write((char*)&len, sizeof(len));
+ }
+ else
+ {
+ // assert len<0x20000000 ?
+ uint32 len = (uint32)((length << 3) + 3);
+ out.write((char*)&len, sizeof(len));
+ }
+ // Output Unicode characters using the Standard Compression Scheme for Unicode.
+ // To save the bother of doing this properly, use a degenerate form whereby each
+ // Unicode character is output as itself. 0x0F selects Unicode mode and 0xF0 quotes
+ // characters that would conflict with other tags.
+ out << (unsigned char)0x0F;
+
+ for (i = 0; i < unicode_characters; i++)
+ {
+ unsigned char hi = (unsigned char)(buffer[i] >> 8);
+ unsigned char lo = (unsigned char)buffer[i];
+ if ((hi >= 0xe0) && (hi <= 0xf2))
+ out << 0xf0;
+ out << hi;
+ out << lo;
+ }
+
+ delete [] buffer;
+ }
+ else
+ {
+ int32 length = (iLength << 1) + 1; // 8-bit data
+ if (length < 0x80)
+ {
+ unsigned char len = (unsigned char)(length << 1);
+ out.write((char*)&len, sizeof(len));
+ }
+ else if (length < 0x4000)
+ {
+ uint16 len = (uint16)((length << 2) + 1);
+ out.write((char*)&len, sizeof(len));
+ }
+ else
+ {
+ // assert len<0x20000000 ?
+ uint32 len = (uint32)((length << 3) + 3);
+ out.write((char*)&len, sizeof(len));
+ }
+ out.write(iText, iLength);
+ }
+ }
+
+EXPORT_C int String::CreateText(const int aLength)
+ {
+ if (aLength != iLength)
+ {
+ char* text = new char[aLength + 1];
+ if (text)
+ {
+ iLength = aLength;
+ iText = text;
+ }
+ else
+ {
+ iLength = 0;
+ delete [] iText;
+ iText = NULL;
+ }
+ }
+ return iLength;
+ }
+
+EXPORT_C void String::DeleteText(char* aText) const
+ {
+ if (aText != iText)
+ delete [] aText;
+ }
+
+EXPORT_C String::~String()
+ {
+ delete [] iText;
+ }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/platmacros.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/platmacros.cpp Fri Feb 12 16:57:08 2010 +0000
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+int main()
+{
+ return 0;
+}
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/BLD.INF
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/BLD.INF Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* PC-side Font converter tools
-*
-*/
-
-PRJ_PLATFORMS
-TOOLS2
-
-PRJ_MMPFILES
-PDRTRAN.MMP
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/PDRTRAN.MMP
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/PDRTRAN.MMP Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* pdrtran.exe for windows and pdrtran for linux
-*/
-
-TARGET pdrtran
-TARGETTYPE exe
-
-SOURCEPATH ./src
-SOURCE LEXICAL.CPP PDRREADR.CPP PDRRECRD.CPP PDRTRAN.CPP
-SOURCE READER.CPP RECORD.CPP STRNG.CPP
-
-SYSTEMINCLUDE /epoc32/include
-
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/TEST.PD
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/TEST.PD Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,594 +0,0 @@
-! PCL5.PD
-! Printer driver file for HP laser printers
-
-Resources Pcl5Resources
- Reset "<27>E"
- SetPageSize "<27>&l%dA"
-!<27>&l
-! 0o - Portrait
-! 0e - top margin to zero
-! 0C - VMI to zero
-!<27>9 - clear horizontal margins
-!<27>(0N - ISO 8859-1 Latin 1 character set
- PreAmble "<27>&l0o0e0C<27>9<27>(0N"
- PostAmble "<27>E"
- BoldOn "<27>(s3B"
- BoldOff "<27>(s0B"
- ItalicOn "<27>(s1S"
- ItalicOff "<27>(s0S"
- UnderlineOn "<27>&d0D"
- UnderlineOff "<27>&d@"
- NewPage "<12>"
- Portrait "<27>&l0o0E<27>9"
- Landscape "<27>&l1o0E<27>9"
- SetXPos "<27>*p%dX"
- SetYPos "<27>*p%dY"
- BitmapStart "<27>*t300R<27>*r%df1A" ! resolution 300 dots per inch
- ScanLine "<27>*b%dm%dW" ! compression method coded in first %d
- BitmapEnd "<27>*rC"
-EndResources
-
-Translates Telephone
- 5:35 ! must ensure width of 5 = width of 35
- 156:"<27>R<3><35><27>R<0>"
-EndTranslates
-
-FontInfo Courier10
- MaxNormalCharWidth 25
- Ascent 33 ! improvised values throughout
- CodeSection 0:255
- 0:25
- EndCodeSection
-EndFontInfo
-
-FontInfo Courier12
- MaxNormalCharWidth 30
- Ascent 40
- CodeSection 0:255
- 0:30
- EndCodeSection
-EndFontInfo
-
-FontInfo LinePrinter9
- MaxNormalCharWidth 18
- Ascent 28
- CodeSection 0:255
- 0:18
- EndCodeSection
-EndFontInfo
-
-FontInfo CgTimesStd
- MaxNormalCharWidth 188
- Ascent 167
- CodeSection 0:255
- 0:207 1:207 2:207 3:207 4:207
- 5:104 ! telephone character must be the same as # (35)
- 6:207
- 7:69 ! non-breaking hyphen must be the same as hyphen (45)
- 8:207
- 9:61 ! tab must be the same as space (32)
- 10:207 11:150 12:150 13:104
- 14:69 ! potential hyphen must be the same as hyphen (45)
- 15:61 ! non-breaking space must be the same as space (32)
- 16:150
- 17:150 18:150 19:108 20:104 21:104 22:207 23:150 24:150
- 25:150 26:150 27:150 28:184 29:150 30:150 31:150 32:61
- 33:69 34:96 35:104 36:104 37:184 38:161 39:69 40:69
- 41:69 42:104 43:184 44:69 45:69 46:69 47:69 48:104
- 49:104 50:104 51:104 52:104 53:104 54:104 55:104 56:104
- 57:104 58:69 59:69 60:207 61:184 62:207 63:92 64:184
-! A B C D E F G H
- 65:150 66:131 67:142 68:154 69:131 70:123 71:150 72:154
-! I J K L M N O P
- 73:69 74:81 75:146 76:131 77:188 78:154 79:150 80:119
-! Q R S T U V W X
- 81:150 82:138 83:111 84:131 85:154 86:150 87:196 88:150
-! Y Z
- 89:150 90:134 91:69 92:69 93:69 94:104 95:104 96:104
-! a b c d e f g h
- 97:92 98:104 99:92 100:104 101:92 102:69 103:104 104:104
-! i j k l m n o p
- 105:58 106:58 107:104 108:58 109:161 110:104 111:104 112:104
-! q r s t u v w x
- 113:104 114:77 115:81 116:58 117:104 118:104 119:150 120:104
-! y z
- 121:104 122:92 123:92 124:104 125:92 126:104 127:207 128:142
- 129:104 130:92 131:92 132:92 133:92 134:92 135:92 136:92
- 137:92 138:92 139:58 140:58 141:58 142:150 143:150 144:131
- 145:138 146:184 147:104 148:104 149:104 150:104 151:104 152:104
- 153:150 154:154 155:104 156:104 157:154 158:182 159:104 160:92
- 161:58 162:104 163:104 164:104 165:154 166:104 167:104 168:92
- 169:104 170:184 171:184 172:184 173:69 174:85 175:85 176:207
- 177:207 178:207 179:207 180:207 181:150 182:150 183:150 184:105
- 185:207 186:207 187:207 188:207 189:105 190:104 191:207 192:207
- 193:207 194:207 195:207 196:207 197:207 198:92 199:150 200:207
- 201:207 202:207 203:207 204:207 205:207 206:207 207:104 208:104
- 209:154 210:129 211:129 212:129 213:58 214:70 215:70 216:70
- 217:207 218:207 219:207 220:207 221:104 222:70 223:207 224:152
- 225:104 226:152 227:152 228:104 229:152 230:115 231:106 232:122
- 233:154 234:154 235:154 236:104 237:150 238:105 239:104 240:72
- 241:184 242:104 243:183 244:104 245:104 246:184 247:104 248:104
- 249:104 250:1 251:73 252:73 253:73 254:104 255:104
- EndCodeSection
-EndFontInfo
-
-FontInfo CgTimesItalic
- MaxNormalCharWidth 170
- Ascent 167
- CodeSection 0:255
- 0:207
- 1:207 2:207 3:207 4:207
- 5:104 ! telephone character must be the same as # (35)
- 6:207
- 7:69 ! non-breaking hyphen must be the same as hyphen (45)
- 8:207
- 9:61 ! tab must be the same as space (32)
- 10:207 11:150 12:150 13:104
- 14:69 ! potential hyphen must be the same as hyphen (45)
- 15:61 ! non-breaking space must be the same as space (32)
- 16:150
- 17:150 18:150 19:103 20:104 21:104 22:207 23:150 24:150
- 25:150 26:150 27:150 28:184 29:150 30:150 31:150 32:61
- 33:69 34:100 35:104 36:104 37:184 38:161 39:69 40:69
- 41:69 42:104 43:184 44:69 45:69 46:69 47:69 48:104
- 49:104 50:104 51:104 52:104 53:104 54:104 55:104 56:104
- 57:104 58:69 59:69 60:207 61:184 62:207 63:104 64:184
- 65:127 66:127 67:138 68:150 69:127 70:119 71:150 72:150
- 73:69 74:92 75:138 76:115 77:170 78:138 79:150 80:127
- 81:150 82:127 83:104 84:115 85:150 86:127 87:170 88:127
- 89:115 90:115 91:69 92:69 93:69 94:104 95:104 96:104
- 97:104 98:104 99:92 100:104 101:92 102:58 103:104 104:104
- 105:58 106:58 107:92 108:58 109:150 110:104 111:104 112:104
- 113:104 114:81 115:81 116:58 117:104 118:92 119:138 120:92
- 121:92 122:81 123:92 124:104 125:92 126:104 127:207 128:138
- 129:104 130:92 131:104 132:104 133:104 134:104 135:92 136:92
- 137:92 138:92 139:58 140:58 141:58 142:127 143:127 144:127
- 145:138 146:184 147:104 148:104 149:104 150:104 151:104 152:92
- 153:150 154:150 155:104 156:104 157:151 158:183 159:104 160:104
- 161:58 162:104 163:104 164:104 165:138 166:104 167:104 168:104
- 169:104 170:184 171:184 172:184 173:69 174:96 175:96 176:207
- 177:207 178:207 179:207 180:207 181:127 182:127 183:127 184:105
- 185:207 186:207 187:207 188:207 189:105 190:105 191:207 192:207
- 193:207 194:207 195:207 196:207 197:207 198:104 199:127 200:207
- 201:207 202:207 203:207 204:207 205:207 206:207 207:104 208:104
- 209:148 210:127 211:127 212:127 213:58 214:70 215:70 216:70
- 217:207 218:207 219:207 220:207 221:104 222:70 223:207 224:152
- 225:104 226:152 227:152 228:104 229:152 230:115 231:106 232:126
- 233:150 234:150 235:150 236:92 237:115 238:105 239:104 240:72
- 241:184 242:104 243:182 244:104 245:104 246:184 247:104 248:104
- 249:104 250:2 251:73 252:73 253:73 254:104 255:104
- EndCodeSection
-EndFontInfo
-
-FontInfo CgTimesBold
- MaxNormalCharWidth 196
- Ascent 167
- CodeSection 0:255
- 0:207
- 1:207 2:207 3:207 4:207
- 5:104 ! telephone character must be the same as # (35)
- 6:207
- 7:69 ! non-breaking hyphen must be the same as hyphen (45)
- 8:207
- 9:61 ! tab must be the same as space (32)
- 10:207 11:150 12:150 13:104
- 14:69 ! potential hyphen must be the same as hyphen (45)
- 15:61 ! non-breaking space must be the same as space (32)
- 16:150
- 17:150 18:150 19:119 20:104 21:104 22:207 23:150 24:150
- 25:150 26:150 27:150 28:184 29:150 30:150 31:150 32:61
- 33:69 34:96 35:104 36:104 37:184 38:169 39:69 40:69
- 41:69 42:104 43:184 44:69 45:69 46:69 47:69 48:104
- 49:104 50:104 51:104 52:104 53:104 54:104 55:104 56:104
- 57:104 58:69 59:69 60:207 61:184 62:207 63:104 64:184
- 65:150 66:138 67:150 68:150 69:138 70:127 71:161 72:161
- 73:81 74:100 75:161 76:138 77:196 78:150 79:161 80:127
- 81:161 82:150 83:115 84:138 85:150 86:150 87:207 88:150
- 89:150 90:138 91:69 92:69 93:69 94:104 95:104 96:104
- 97:104 98:115 99:92 100:115 101:92 102:73 103:104 104:115
- 105:58 106:69 107:115 108:58 109:171 110:115 111:104 112:115
- 113:115 114:92 115:81 116:69 117:115 118:104 119:150 120:104
- 121:104 122:92 123:104 124:104 125:104 126:104 127:207 128:150
- 129:115 130:92 131:104 132:104 133:104 134:104 135:92 136:92
- 137:92 138:92 139:58 140:58 141:58 142:150 143:150 144:138
- 145:150 146:215 147:104 148:104 149:104 150:115 151:115 152:104
- 153:161 154:150 155:104 156:104 157:163 158:182 159:104 160:104
- 161:58 162:104 163:115 164:115 165:150 166:104 167:104 168:104
- 169:104 170:184 171:184 172:184 173:69 174:88 175:88 176:207
- 177:207 178:207 179:207 180:207 181:150 182:150 183:150 184:105
- 185:207 186:207 187:207 188:207 189:105 190:104 191:207 192:207
- 193:207 194:207 195:207 196:207 197:207 198:104 199:150 200:207
- 201:207 202:207 203:207 204:207 205:207 206:207 207:104 208:104
- 209:148 210:137 211:137 212:137 213:58 214:80 215:80 216:80
- 217:207 218:207 219:207 220:207 221:104 222:80 223:207 224:162
- 225:115 226:162 227:162 228:104 229:162 230:115 231:116 232:126
- 233:150 234:150 235:150 236:104 237:150 238:105 239:104 240:72
- 241:184 242:104 243:183 244:104 245:104 246:184 247:104 248:104
- 249:104 250:23 251:73 252:73 253:73 254:104 255:104
- EndCodeSection
-EndFontInfo
-
-FontInfo CgTimesBoldItalic
- MaxNormalCharWidth 184
- Ascent 167
- CodeSection 0:255
- 0:207
- 1:207 2:207 3:207 4:207
- 5:104 ! telephone character must be the same as # (35)
- 6:207
- 7:69 ! non-breaking hyphen must be the same as hyphen (45)
- 8:207
- 9:61 ! tab must be the same as space (32)
- 10:207 11:150 12:150 13:104
- 14:69 ! potential hyphen must be the same as hyphen (45)
- 15:61 ! non-breaking space must be the same as space (32)
- 16:150
- 17:150 18:150 19:131 20:104 21:104 22:207 23:150 24:150
- 25:150 26:150 27:150 28:184 29:150 30:150 31:150 32:61
- 33:81 34:108 35:104 36:104 37:184 38:161 39:69 40:69
- 41:69 42:104 43:184 44:69 45:69 46:69 47:69 48:104
- 49:104 50:104 51:104 52:104 53:104 54:104 55:104 56:104
- 57:104 58:69 59:69 60:207 61:184 62:207 63:104 64:184
- 65:138 66:138 67:138 68:150 69:138 70:127 71:150 72:161
- 73:81 74:104 75:138 76:127 77:184 78:150 79:150 80:127
- 81:146 82:138 83:115 84:127 85:150 86:138 87:184 88:138
- 89:127 90:127 91:69 92:69 93:69 94:104 95:104 96:104
- 97:104 98:104 99:92 100:104 101:92 102:73 103:104 104:115
- 105:58 106:58 107:104 108:58 109:161 110:115 111:104 112:104
- 113:104 114:81 115:81 116:58 117:115 118:92 119:138 120:104
- 121:92 122:81 123:104 124:104 125:104 126:104 127:207 128:138
- 129:115 130:92 131:104 132:104 133:104 134:104 135:92 136:92
- 137:92 138:92 139:58 140:58 141:58 142:138 143:138 144:138
- 145:146 146:192 147:104 148:104 149:104 150:115 151:115 152:92
- 153:150 154:150 155:104 156:104 157:151 158:184 159:104 160:104
- 161:58 162:104 163:115 164:115 165:150 166:104 167:104 168:104
- 169:104 170:184 171:184 172:184 173:81 174:92 175:92 176:207
- 177:207 178:207 179:207 180:207 181:138 182:138 183:138 184:105
- 185:207 186:207 187:207 188:207 189:105 190:105 191:207 192:207
- 193:207 194:207 195:207 196:207 197:207 198:104 199:138 200:207
- 201:207 202:207 203:207 204:207 205:207 206:207 207:104 208:104
- 209:148 210:137 211:137 212:137 213:58 214:80 215:80 216:80
- 217:207 218:207 219:207 220:207 221:104 222:80 223:207 224:152
- 225:104 226:152 227:152 228:104 229:152 230:115 231:106 232:126
- 233:150 234:150 235:150 236:90 237:127 238:105 239:104 240:72
- 241:184 242:104 243:183 244:104 245:104 246:184 247:104 248:104
- 249:104 250:18 251:69 252:69 253:69 254:104 255:104
- EndCodeSection
-EndFontInfo
-
-FontInfo UniversStd
- MaxNormalCharWidth 188
- Ascent 167
- CodeSection 0:255
- 0:207 1:207 2:207 3:207 4:207
- 5:131 ! telephone character must be the same as # (35)
- 6:207
- 7:69 ! non-breaking hyphen must be the same as hyphen (45)
- 8:207
- 9:69 ! tab must be the same as space (32)
- 10:207 11:150 12:150 13:104
- 14:69 ! potential hyphen must be the same as hyphen (45)
- 15:69 ! non-breaking space must be the same as space (32)
- 16:150
- 17:150 18:150 19:110 20:131 21:131 22:207 23:150 24:150
- 25:150 26:150 27:150 28:207 29:150 30:150 31:150 32:69
- 33:69 34:104 35:131 36:131 37:207 38:158 39:69 40:69
- 41:69 42:131 43:207 44:69 45:69 46:69 47:69 48:131
- 49:131 50:131 51:131 52:131 53:131 54:131 55:131 56:131
- 57:131 58:69 59:69 60:207 61:207 62:207 63:108 64:207
- 65:154 66:131 67:146 68:150 69:119 70:115 71:154 72:150
- 73:58 74:115 75:138 76:111 77:188 78:150 79:158 80:123
- 81:161 82:134 83:134 84:131 85:150 86:150 87:207 88:150
- 89:142 90:127 91:69 92:69 93:69 94:131 95:104 96:131
- 97:111 98:119 99:111 100:119 101:111 102:77 103:119 104:119
- 105:50 106:50 107:111 108:50 109:181 110:119 111:119 112:119
- 113:119 114:73 115:104 116:77 117:119 118:115 119:181 120:115
- 121:115 122:100 123:92 124:104 125:92 126:131 127:207 128:146
- 129:119 130:111 131:111 132:111 133:111 134:111 135:111 136:111
- 137:111 138:111 139:50 140:50 141:50 142:154 143:154 144:119
- 145:177 146:204 147:119 148:119 149:119 150:119 151:119 152:115
- 153:158 154:150 155:122 156:131 157:160 158:207 159:131 160:111
- 161:50 162:119 163:119 164:119 165:150 166:85 167:85 168:108
- 169:104 170:207 171:207 172:207 173:69 174:115 175:115 176:207
- 177:207 178:207 179:207 180:207 181:154 182:154 183:154 184:105
- 185:207 186:207 187:207 188:207 189:129 190:129 191:207 192:207
- 193:207 194:207 195:207 196:207 197:207 198:114 199:154 200:207
- 201:207 202:207 203:207 204:207 205:207 206:207 207:128 208:121
- 209:150 210:119 211:119 212:119 213:51 214:58 215:58 216:58
- 217:207 218:207 219:207 220:207 221:105 222:58 223:207 224:158
- 225:127 226:158 227:158 228:119 229:158 230:115 231:119 232:126
- 233:150 234:150 235:150 236:118 237:141 238:129 239:129 240:72
- 241:207 242:106 243:207 244:130 245:130 246:207 247:129 248:131
- 249:129 250:25 251:81 252:81 253:81 254:104 255:104
- EndCodeSection
-EndFontInfo
-
-FontInfo UniversItalic
- MaxNormalCharWidth 188
- Ascent 167
- CodeSection 0:255
- 0:207
- 1:207 2:207 3:207 4:207
- 5:131 ! telephone character must be the same as # (35)
- 6:207
- 7:69 ! non-breaking hyphen must be the same as hyphen (45)
- 8:207
- 9:69 ! tab must be the same as space (32)
- 10:207 11:150 12:150 13:104
- 14:69 ! potential hyphen must be the same as hyphen (45)
- 15:69 ! non-breaking space must be the same as space (32)
- 16:150
- 17:150 18:150 19:114 20:131 21:131 22:207 23:150 24:150
- 25:150 26:150 27:150 28:207 29:150 30:150 31:150 32:69
- 33:69 34:104 35:131 36:131 37:207 38:158 39:69 40:69
- 41:69 42:131 43:207 44:69 45:69 46:69 47:69 48:131
- 49:131 50:131 51:131 52:131 53:131 54:131 55:131 56:131
- 57:131 58:69 59:69 60:207 61:207 62:207 63:108 64:207
- 65:154 66:131 67:146 68:150 69:119 70:115 71:154 72:150
- 73:58 74:115 75:138 76:111 77:188 78:150 79:158 80:123
- 81:161 82:134 83:134 84:131 85:150 86:150 87:207 88:150
- 89:142 90:127 91:69 92:69 93:69 94:131 95:104 96:131
- 97:111 98:119 99:111 100:119 101:111 102:77 103:119 104:119
- 105:50 106:50 107:111 108:50 109:181 110:119 111:119 112:119
- 113:119 114:73 115:104 116:77 117:119 118:115 119:181 120:115
- 121:115 122:100 123:92 124:104 125:92 126:131 127:207 128:146
- 129:119 130:111 131:111 132:111 133:111 134:111 135:111 136:111
- 137:111 138:111 139:50 140:50 141:50 142:154 143:154 144:119
- 145:177 146:204 147:119 148:119 149:119 150:119 151:119 152:115
- 153:158 154:150 155:122 156:131 157:160 158:207 159:131 160:111
- 161:50 162:119 163:119 164:119 165:150 166:85 167:85 168:108
- 169:104 170:207 171:207 172:207 173:69 174:115 175:115 176:207
- 177:207 178:207 179:207 180:207 181:154 182:154 183:154 184:105
- 185:207 186:207 187:207 188:207 189:129 190:129 191:207 192:207
- 193:207 194:207 195:207 196:207 197:207 198:111 199:154 200:207
- 201:207 202:207 203:207 204:207 205:207 206:207 207:128 208:121
- 209:150 210:119 211:119 212:119 213:51 214:58 215:58 216:58
- 217:207 218:207 219:207 220:207 221:105 222:58 223:207 224:158
- 225:127 226:158 227:158 228:119 229:158 230:115 231:119 232:126
- 233:150 234:150 235:150 236:115 237:142 238:129 239:129 240:72
- 241:207 242:106 243:207 244:130 245:130 246:207 247:129 248:131
- 249:129 250:16 251:81 252:81 253:81 254:104 255:104
- EndCodeSection
-EndFontInfo
-
-FontInfo UniversBold
- MaxNormalCharWidth 188
- Ascent 167
- CodeSection 0:255
- 0:207
- 1:207 2:207 3:207 4:207
- 5:131 ! telephone character must be the same as # (35)
- 6:207
- 7:69 ! non-breaking hyphen must be the same as hyphen (45)
- 8:207
- 9:69 ! tab must be the same as space (32)
- 10:207 11:150 12:150 13:104
- 14:69 ! potential hyphen must be the same as hyphen (45)
- 15:69 ! non-breaking space must be the same as space (32)
- 16:150
- 17:150 18:150 19:115 20:131 21:131 22:207 23:150 24:150
- 25:150 26:150 27:150 28:207 29:150 30:150 31:150 32:69
- 33:69 34:108 35:131 36:131 37:207 38:158 39:69 40:69
- 41:69 42:131 43:207 44:69 45:69 46:69 47:69 48:131
- 49:131 50:131 51:131 52:131 53:131 54:131 55:131 56:131
- 57:131 58:69 59:69 60:207 61:207 62:207 63:108 64:207
- 65:154 66:131 67:146 68:150 69:119 70:115 71:154 72:150
- 73:58 74:115 75:138 76:111 77:188 78:150 79:158 80:123
- 81:161 82:134 83:134 84:131 85:150 86:150 87:207 88:150
- 89:142 90:127 91:69 92:69 93:69 94:131 95:104 96:131
- 97:111 98:119 99:111 100:119 101:111 102:77 103:119 104:119
- 105:50 106:50 107:111 108:50 109:181 110:119 111:119 112:119
- 113:119 114:73 115:104 116:77 117:119 118:115 119:181 120:115
- 121:115 122:100 123:104 124:104 125:104 126:131 127:207 128:146
- 129:119 130:111 131:111 132:111 133:111 134:111 135:111 136:111
- 137:111 138:111 139:50 140:50 141:50 142:154 143:154 144:119
- 145:177 146:204 147:119 148:119 149:119 150:119 151:119 152:115
- 153:158 154:150 155:122 156:131 157:160 158:207 159:131 160:111
- 161:50 162:119 163:119 164:119 165:150 166:85 167:85 168:108
- 169:104 170:207 171:207 172:207 173:69 174:115 175:115 176:207
- 177:207 178:207 179:207 180:207 181:154 182:154 183:154 184:105
- 185:207 186:207 187:207 188:207 189:129 190:129 191:207 192:207
- 193:207 194:207 195:207 196:207 197:207 198:111 199:154 200:207
- 201:207 202:207 203:207 204:207 205:207 206:207 207:128 208:121
- 209:150 210:119 211:119 212:119 213:51 214:58 215:58 216:58
- 217:207 218:207 219:207 220:207 221:105 222:58 223:207 224:158
- 225:127 226:158 227:158 228:119 229:158 230:123 231:119 232:126
- 233:150 234:150 235:150 236:115 237:142 238:129 239:129 240:72
- 241:207 242:106 243:207 244:130 245:130 246:207 247:129 248:131
- 249:129 250:33 251:81 252:81 253:81 254:104 255:104
- EndCodeSection
-EndFontInfo
-
-FontInfo UniversBoldItalic
- MaxNormalCharWidth 188
- Ascent 167
- CodeSection 0:255
- 0:207
- 1:207 2:207 3:207 4:207
- 5:131 ! telephone character must be the same as # (35)
- 6:207
- 7:69 ! non-breaking hyphen must be the same as hyphen (45)
- 8:207
- 9:69 ! tab must be the same as space (32)
- 10:207 11:150 12:150 13:104
- 14:69 ! potential hyphen must be the same as hyphen (45)
- 15:69 ! non-breaking space must be the same as space (32)
- 16:150
- 17:150 18:150 19:125 20:131 21:131 22:207 23:150 24:150
- 25:150 26:150 27:150 28:207 29:150 30:150 31:150 32:69
- 33:69 34:111 35:131 36:131 37:207 38:158 39:69 40:69
- 41:69 42:131 43:207 44:69 45:69 46:69 47:69 48:131
- 49:131 50:131 51:131 52:131 53:131 54:131 55:131 56:131
- 57:131 58:69 59:69 60:207 61:207 62:207 63:108 64:207
- 65:154 66:131 67:146 68:150 69:119 70:115 71:154 72:150
- 73:58 74:115 75:138 76:111 77:188 78:150 79:158 80:123
- 81:161 82:134 83:134 84:131 85:150 86:150 87:207 88:150
- 89:142 90:127 91:69 92:69 93:69 94:131 95:104 96:131
- 97:111 98:119 99:111 100:119 101:111 102:77 103:119 104:119
- 105:50 106:50 107:111 108:50 109:181 110:119 111:119 112:119
- 113:119 114:73 115:104 116:77 117:119 118:115 119:181 120:115
- 121:115 122:100 123:104 124:104 125:104 126:131 127:207 128:146
- 129:119 130:111 131:111 132:111 133:111 134:111 135:111 136:111
- 137:111 138:111 139:50 140:50 141:50 142:154 143:154 144:119
- 145:177 146:204 147:119 148:119 149:119 150:119 151:119 152:115
- 153:158 154:150 155:122 156:131 157:160 158:207 159:131 160:111
- 161:50 162:119 163:119 164:119 165:150 166:85 167:85 168:108
- 169:104 170:207 171:207 172:207 173:69 174:115 175:115 176:207
- 177:207 178:207 179:207 180:207 181:154 182:154 183:154 184:105
- 185:207 186:207 187:207 188:207 189:129 190:129 191:207 192:207
- 193:207 194:207 195:207 196:207 197:207 198:111 199:154 200:207
- 201:207 202:207 203:207 204:207 205:207 206:207 207:128 208:121
- 209:150 210:119 211:119 212:119 213:51 214:58 215:58 216:58
- 217:207 218:207 219:207 220:207 221:105 222:58 223:207 224:158
- 225:127 226:158 227:158 228:119 229:158 230:123 231:119 232:126
- 233:150 234:150 235:150 236:115 237:142 238:129 239:129 240:72
- 241:207 242:106 243:207 244:130 245:130 246:207 247:129 248:131
- 249:129 250:37 251:81 252:81 253:81 254:104 255:104
- EndCodeSection
-EndFontInfo
-
-TypefaceFonts Courier
- Name "Courier" Serif
- Translates Telephone
- FontHeight
- Height 200
- Normal Courier10
- Bold Courier10
- Italic Courier10
- BoldItalic Courier10
- Command "" !<27>(s0p12h10v3T"
- EndFontHeight
- FontHeight
- Height 240
- Normal Courier12
- Bold Courier12
- Italic Courier12
- BoldItalic Courier12
- Command "" !<27>(s0p10h12v3T"
- EndFontHeight
-EndTypefaceFonts
-
-TypefaceFonts LinePrinter
- Name "Lineprinter"
- Translates Telephone
- FontHeight
- Height 170
- Normal LinePrinter9
- Bold LinePrinter9
- Italic LinePrinter9
- BoldItalic LinePrinter9
- Command "<27>(s0p16.67h8.5v0T"
- EndFontHeight
-EndTypefaceFonts
-
-TypefaceFonts CgTimes
- Name "CG Times" Proportional Serif
- Translates Telephone
- ScalableFontHeight
- HeightMin 80 ! min font height 80 twips = 4 point
- HeightMax 1200 ! max font height 1200 twips ( = 60 point)
- HeightDelta 20 ! delta font height 20 twips = 1 point
- Normal CgTimesStd
- Bold CgTimesBold
- Italic CgTimesItalic
- BoldItalic CgTimesBoldItalic
- Command "<27>(s1p%dv4101T"
- EndScalableFontHeight
-EndTypefaceFonts
-
-TypefaceFonts Univers
- Name "Univers" Proportional
- Translates Telephone
- ScalableFontHeight
- HeightMin 80 ! min font height 80 twips = 4 point
- HeightMax 1200 ! max font height 1200 twips ( = 60 point)
- HeightDelta 20 ! delta font height 20 twips = 1 point
- Normal UniversStd
- Bold UniversBold
- Italic UniversItalic
- BoldItalic UniversBoldItalic
- Command "<27>(s1p%dv4148T"
- EndScalableFontHeight
-EndTypefaceFonts
-
-!ExtraInfo ExtraInfo
-! "abcdefghijklmnopqrstuvwxyz"
-! "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-!EndExtraInfo
-
-Model HPLJ3
- Name "HP LaserJet III" RequiresPrinterPort
- Uid 1000
- Flags 0
- Resources Pcl5Resources
- KPixelWidth 4800 ! Twips = 300 dots per inch
- KPixelHeight 4800
- PortraitOffset 75 0 ! Pixels
- LandscapeOffset 60 0
- MinMarginLeft 50 ! Pixels
- MinMarginRight 50
- MinMarginTop 50
- MinMarginBottom 50
- DisplayMode Gray2
- TypefaceFontss
- Courier
- LinePrinter NotInLandscape
- CgTimes NotInPortrait
- Univers
- EndTypefaceFontss
-EndModel
-
-Model HPDJ340
- Name "HP DeskJet 340" RequiresPrinterPort
- Uid 1100
- Flags 3 ! 1 = MoveDownOnly, 2 = LanscapeBandOrientationVertical
- Resources Pcl5Resources
- KPixelWidth 4800 ! Twips = 300 dots per inch
- KPixelHeight 4800
- PortraitOffset 75 0 ! Pixels
- LandscapeOffset 60 0
- MinMarginLeft 50 ! Pixels
- MinMarginRight 50
- MinMarginTop 75
- MinMarginBottom 200
- DisplayMode Gray2
- TypefaceFontss
- Courier
- LinePrinter
- CgTimes
- Univers
- EndTypefaceFontss
-EndModel
-
-Model HPDJ660C
- Name "HP DeskJet 660C" RequiresPrinterPort
- Uid 1200
- Flags 3 ! 1 = MoveDownOnly, 2 = LanscapeBandOrientationVertical
- Resources Pcl5Resources
- KPixelWidth 4800 ! Twips = 300 dots per inch
- KPixelHeight 4800
- PortraitOffset 75 0 ! Pixels
- LandscapeOffset 60 0
- MinMarginLeft 50 ! Pixels
- MinMarginRight 50
- MinMarginTop 75
- MinMarginBottom 175
- DisplayMode Gray2
- TypefaceFontss
- Courier
- LinePrinter
- CgTimes
- Univers
- EndTypefaceFontss
-! SpareRecord ExtraInfo
-EndModel
-
-PdrStoreFile
- PDLName "test"
- PDLUid 1
- Models
- HPLJ3
- HPDJ340
- HPDJ660C
- EndModels
-EndPdrStoreFile
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/LEXICAL.CPP
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/LEXICAL.CPP Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,311 +0,0 @@
-/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header LEXICAL.CPP
-*
-*/
-
-
-#include "LEXICAL.H"
-
-Lexical::Lexical()
- : iType(ELexNL), iNumber(0)
- {
- iText[0] = '\0';
- }
-
-Lexical::Lexical(const Lexical& aLex)
- {
- iType = aLex.iType;
- iNumber = aLex.iNumber;
- strcpy(iText, aLex.iText);
- }
-
-Lexical& Lexical::operator = (const Lexical& aLex)
- {
- iType = aLex.iType;
- iNumber = aLex.iNumber;
- strcpy(iText, aLex.iText);
- return *this;
- }
-
-int Lexical::CovertStringToHex()
- {
- char* curPtr = iText; // Position of current lexical in line
- int hexDigit;
- int number = 0;
-
- while (HexDigit(*curPtr, hexDigit))
- {
- number = (16 * number) + hexDigit;
- curPtr++;
- }
- return number;
- }
-
-int Lexical::HexDigit(char aDigit, int& decimalEquivalent)
- {
- boolean validDigit = efalse;
- if ((aDigit >= '0') && (aDigit <= '9'))
- {
- decimalEquivalent = (aDigit - '0');
- validDigit = etrue;
- }
- else if ((aDigit >= 'a') && (aDigit <= 'f'))
- {
- decimalEquivalent = 10 + (aDigit - 'a');
- validDigit = etrue;
- }
- else if ((aDigit >= 'A') && (aDigit <= 'F'))
- {
- decimalEquivalent = 10 + (aDigit - 'A');
- validDigit = etrue;
- }
- return validDigit;
- }
-
-ostream& operator << (ostream& out, const Lexical& aLex)
- {
- switch (aLex.iType)
- {
- case ELexEOF:
- {
- out << "EOF";
- break;
- }
- case ELexNL:
- {
- out << "NL";
- break;
- }
- case ELexNumber:
- {
- out << aLex.iNumber;
- break;
- }
- case ELexOperator:
- {
- out << aLex.iText[0];
- break;
- }
- default:
- {
- out << aLex.iText;
- }
- }
- return out;
- }
-
-LexAnal::LexAnal(const char* aFilename)
- : iFilename(aFilename)
- {
- iFin.open(aFilename);
- iLex.iType = ELexNL;
- iLineNo = 0;
- }
-
-Lexical LexAnal::Read() // read next lexical into iLex
- {
- if (iLex.iType == ELexNL)
- {
- do
- {
- GetNextLex();
- }
- while (iLex.iType == ELexNL);
- }
- else
- GetNextLex();
- return iLex;
- }
-
-Lexical LexAnal::ReadNextLine() // read first lex on next line
- {
- GetNextLine();
- return iLex;
- }
-
-void LexAnal::Report()
- {
- cerr << iFilename.Text() << '(' << iLineNo << "): \n";
- cerr << iLine << '\n';
- for (char* p = iLine; p < iLexPtr; p++)
- cerr << ' ';
- cerr << "^\n";
- }
-
-LexAnal::~LexAnal()
- {
- iFin.close();
- }
-
-void LexAnal::GetNextLex()
- {
- char ch;
- if (iLex.iType == ELexNL)
- {
- iFin.getline(iLine, MaxLineLen);
- // Remove any CR character that appear at the end when
- // reading a dos file on unix.
- PurgeLastCR(iLine);
- iCurPtr = iLine;
- iLineNo++;
- }
-
- while ((*iCurPtr == ' ') || (*iCurPtr == '\t'))
- iCurPtr++;
- ch = *iCurPtr;
- iLexPtr = iCurPtr;
-
- if ((ch == '\0') && (iFin.eof())) // finds lexical type
- iLex = ReadEOF();
- else if ((ch == '\0') || (ch == '!')) // ! is a comment
- iLex = ReadNewLine();
- else if ((ch == '-') || ((ch >= '0') && (ch <= '9')))
- iLex = ReadNumber();
- else if (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_'))
- iLex = ReadIdent();
- else if (ch == '"')
- iLex = ReadString();
- else
- iLex = ReadOperator();
- }
-
-void LexAnal::GetNextLine()
- {
- iFin.getline(iLine, MaxLineLen);
- // Remove any CR character that appear at the end when
- // reading a dos file on unix.
- PurgeLastCR(iLine);
- iCurPtr = iLine;
- iLineNo++;
-
- char ch;
- while ((*iCurPtr == ' ') || (*iCurPtr == '\t'))
- iCurPtr++;
- ch = *iCurPtr;
- iLexPtr = iCurPtr;
-
- if ((ch == '\0') && (iFin.eof())) // finds lexical type
- iLex = ReadEOF();
- else if ((ch == '\0') || (ch == '!'))
- iLex = ReadNewLine();
- else if ((ch == '-') || ((ch >= '0') && (ch <= '9')))
- iLex=ReadNumber();
- else if (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_'))
- iLex = ReadIdent();
- else if (ch == '"')
- iLex = ReadString();
- else
- iLex = ReadOperator();
- }
-
-void LexAnal::PurgeLastCR(char *aLine)
- {
- int len = strlen(aLine) - 1;
- if (len >= 0 && aLine[len] == '\r')
- {
- aLine[len] = '\0';
- }
- }
-
-Lexical LexAnal::ReadEOF()
- {
- Lexical lex;
- lex.iType = ELexEOF;
- return lex;
- }
-
-Lexical LexAnal::ReadNewLine()
- {
- Lexical lex;
- lex.iType = ELexNL;
- while (*iCurPtr != '\0')
- iCurPtr++;
- return lex;
- }
-
-Lexical LexAnal::ReadNumber()
- {
- Lexical lex;
- char ch;
- boolean negative = efalse;
- lex.iType = ELexNumber;
- if (*iCurPtr == '-')
- {
- negative = etrue;
- iCurPtr++;
- }
- ch = *iCurPtr;
- while ((ch >= '0') && (ch <= '9'))
- {
- if (negative)
- lex.iNumber = (10 * lex.iNumber) - (*iCurPtr - '0');
- else
- lex.iNumber=(10 * lex.iNumber) + (*iCurPtr - '0');
- iCurPtr++;
- ch = *iCurPtr;
- }
- return lex;
- }
-
-
-Lexical LexAnal::ReadIdent()
- {
- Lexical lex;
- char ch;
- lex.iType = ELexIdent;
- do
- {
- iCurPtr++;
- ch = *iCurPtr;
- }
- while (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_') || ((ch >= '0') && (ch <= '9')));
- strncpy(lex.iText, iLexPtr, iCurPtr - iLexPtr);
- lex.iText[iCurPtr - iLexPtr] = '\0';
- return lex;
- }
-
-Lexical LexAnal::ReadString()
- {
- Lexical lex;
- char ch;
- lex.iType = ELexString;
- iCurPtr++;
- ch = *iCurPtr;
- while ((ch != '"') && (*iCurPtr != '\0'))
- {
- iCurPtr++;
- ch = *iCurPtr;
- }
- strncpy(lex.iText, iLexPtr + 1, iCurPtr - (iLexPtr + 1));
- lex.iText[iCurPtr - (iLexPtr + 1)] = '\0';
- if (ch == '"')
- iCurPtr++; // finds position after last double quotes
- else
- {
- cerr << "Warning: missing quotes\n";
- Report();
- }
- return lex;
- }
-
-Lexical LexAnal::ReadOperator()
- {
- Lexical lex;
- lex.iType = ELexOperator;
- lex.iText[0] = *iCurPtr;
- iCurPtr++;
- return lex;
- }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/PDRREADR.CPP
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/PDRREADR.CPP Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1009 +0,0 @@
-/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header PDRREADR.CPP
-*
-*/
-
-
-#include "PDRREADR.H"
-
-const int NumResources=34;
-
-String IdentResource[NumResources] =
- {
- "Reset",
- "SetPageSize",
- "PreAmble",
- "PostAmble",
- "SetTextColor", // !!
- "BoldOn",
- "BoldOff",
- "ItalicOn",
- "ItalicOff",
- "UnderlineOn",
- "UnderlineOff",
- "StrikethroughOn",
- "StrikethroughOff",
- "NewPage",
- "Portrait",
- "Landscape",
- "SetXPos",
- "SetYPos",
- "IncrementXPos",
- "IncrementYPos",
- "CarriageReturn",
- "SetGraphicsColor", // !!
- "BitmapStart",
- "BitmapEnd",
- "ScanLine",
- "EndScanLine", // !!
- "Resource1",
- "Resource2",
- "Resource3",
- "Resource4",
- "Resource5",
- "Resource6",
- "Resource7",
- "Resource8"
- };
-
-const int NumDisplayModeValues = 11;
-
-String IdentDisplayModeValue[NumDisplayModeValues] =
- {
- "None",
- "Gray2",
- "Gray4",
- "Gray16",
- "Gray256",
- "Color16",
- "Color256",
- "Color64K",
- "Color16M",
- "Rgb",
- "Color4K"
- };
-
-EXPORT_C PdrReader::PdrReader()
- : Reader(),
- iPdrModelStore(),
- iPdrStoreFile(NULL),
- iResources(NULL),
- iTranslates(NULL),
- iCodeSection(NULL),
- iFontInfo(NULL),
- iIndex(Normal),
- iFontHeight(NULL),
- iTypefaceFonts(NULL),
- iModel(NULL)
- {
- }
-
-EXPORT_C boolean PdrReader::Read(const String& aFilename)
- {
- boolean state = Open(aFilename);
-
- while (!_EOF() && state)
- {
- if (IdentComp(IdentResources))
- state = ReadResources();
- else if (IdentComp(IdentTranslates))
- state = ReadTranslates();
- else if (IdentComp(IdentFontInfo))
- state = ReadFontInfo();
- else if (IdentComp(IdentTypefaceFonts))
- state = ReadTypefaceFonts();
-// else if (IdentComp(IdentExtraInfo))
-// state = ReadExtraInfo();
- else if (IdentComp(IdentModel))
- state = ReadModel();
- else if (IdentComp(IdentPdrStoreFile))
- state = ReadPdrStoreFile();
- else
- {
- Error("Resource identifier expected");
- state = efalse;
- }
- if (state)
- state = NewLine();
- }
- return state;
- }
-
-EXPORT_C PdrReader::~PdrReader()
- {
- }
-
-boolean PdrReader::ReadResources()
- {
- boolean state = etrue;
- iResources = PdrResources::New();
- state = IdentCopy(iResources->iLabel);
- if (state)
- state = NewLine();
- while (!IdentComp(IdentEndResources) && !_EOF() && state)
- {
- int i; // DEF102183: Graphics tools fail to build using MS VC8.
- for (i = 0; (i < NumResources) && !IdentComp(IdentResource[i]); i++)
- { // Tries to match resources identifier
- }
- if (i < NumResources)
- {
- PdrResource *resource = PdrResource::New();
- state = Command(resource->iString);
- resource->iId = i;
- if (state)
- {
- iResources->AddResource(resource);
- state = NewLine();
- }
- else
- resource->Delete();
- }
- else
- {
- state = efalse;
- Error("Resources identifier expected");
- }
- }
- if (state)
- {
- iPdrModelStore.AddResources(iResources);
- cout << "Resources read\n";
- }
- else
- iResources->Delete();
- return state;
- }
-
-boolean PdrReader::ReadTranslates()
- {
- int num;
- boolean state = etrue;
- iTranslates = PdrTranslates::New();
- state = IdentCopy(iTranslates->iLabel);
- if (state)
- state = NewLine();
- while (!IdentComp(IdentEndTranslates) && !_EOF() && state)
- {
- if (iLex->iType == ELexNumber)
- {
- PdrTranslation *translation = PdrTranslation::New();
- Number(num);
- translation->iFrom = uint16(num);
- char ch;
- state = Operator(ch);
- if (state)
- {
- state = (ch == ':');
- if (state)
- {
- if (iLex->iType == ELexNumber)
- {
- state = Number(num);
- translation->iTo += char(num);
- }
- else
- {
- state = Command(translation->iTo);
- }
- if (state)
- state = NewLine();
- }
- else
- {
- Error("Operator ':' expected");
- }
- }
- if (state)
- iTranslates->AddTranslation(translation);
- else
- translation->Delete();
- }
- }
- if (state)
- {
- iPdrModelStore.AddTranslates(iTranslates);
- cout << "Translates read\n";
- }
- else
- iTranslates->Delete();
- return state;
- }
-
-boolean PdrReader::ReadCodeSection(int aCode)
- {
- boolean state = etrue;
- int code;
- int num;
- iCodeSection = WidthsCodeSection::New();
- char ch = 0;
- state = Number(num);
- if ((numiStart = uint16(num);
- state = Operator(ch);
- if (state)
- state = (ch == ':');
- if (state)
- {
- state = Number(num);
- iCodeSection->iEnd = uint16(num);
- state = NewLine();
- }
- else
- {
- state = efalse;
- Error("Operator ':' expected");
- }
- }
- else
- state = efalse;
- while (!IdentComp(IdentEndCodeSection) && !_EOF() && state)
- {
- if (iLex->iType != ELexNL)
- {
- state = Number(code);
- if ((code != iCodeSection->iStart + iCodeSection->NumWidths()) && state)
- {
- state = efalse;
- Error("Width out of sequence");
- }
- if (state)
- state = Operator(ch);
- if (state)
- state = (ch == ':');
- if (state)
- {
- Width *width = Width::New();
- if (Number(num))
- {
- width->iWidthInPixels = (uint16) num;
- iCodeSection->AddWidth(width);
- }
- else
- {
- state = efalse;
- width->Delete();
- }
- }
- }
- else
- state = NewLine();
- }
- if (state)
- {
- num = ((iCodeSection->iEnd + 1) - iCodeSection->iStart);
- if ((num != iCodeSection->NumWidths()) && (iCodeSection->NumWidths() != 1))
- {
- Error("Wrong number of widths in codesection");
- state = efalse;
- }
- }
- if (state)
- {
- iFontInfo->AddCodeSection(iCodeSection);
-// cout << "Codesection read\n";
- }
- else
- iCodeSection->Delete();
- return state;
- }
-
-boolean PdrReader::ReadFontInfo()
- {
- boolean state = etrue;
- iFontInfo = FontInfo::New();
- int num;
- state = IdentCopy(iFontInfo->iLabel);
- if (state)
- state = NewLine();
- while (!IdentComp(IdentEndFontInfo) && !_EOF() && state)
- {
- if (iLex->iType == ELexIdent)
- {
- if (IdentComp(IdentCodeSection))
- {
- int code = 0,size = iFontInfo->NumCodeSections();
- if (size)
- code = iFontInfo->CodeSectionList(size - 1)->iEnd + 1;
- state = ReadCodeSection(code);
- }
- else if (IdentComp(IdentAscent))
- {
- if (Number(num))
- iFontInfo->iAscentInPixels = uint16(num);
- else
- state = efalse;
- }
- else if (IdentComp(IdentMaxNormalCharWidth))
- {
- state = Number(num);
- if (state)
- iFontInfo->iMaxNormalCharWidthInPixels = uint16(num);
- }
- else
- {
- Error("Unrecognised fontinfo identifier");
- state = efalse;
- }
- }
- else
- {
- Error("Fontinfo identifier expected");
- state = efalse;
- }
- if (state)
- state = NewLine();
- }
- if (state)
- {
- iFontInfo->iMaxCharWidthInPixels = 0;
- for (int i = 0; i < iFontInfo->NumCodeSections(); i++)
- {
- WidthsCodeSection* codesection = iFontInfo->CodeSectionList(i);
- for (int j = 0; j < codesection->NumWidths(); j++)
- {
- int width = codesection->WidthList(j)->iWidthInPixels;
- if (width > iFontInfo->iMaxCharWidthInPixels)
- iFontInfo->iMaxCharWidthInPixels = (uint16) width;
- }
- }
- }
- if (state)
- {
- iPdrModelStore.AddFontInfo(iFontInfo);
- cout << "Fontinfo read\n";
- }
- else
- iFontInfo->Delete();
- return state;
- }
-
-boolean PdrReader::ReadStyle()
- {
- boolean state = etrue;
- Record *fontinfo;
- PdrStyle *style;
- String label;
- if (!iTypefaceFonts->iIsScalable)
- style = &iFontHeight->iStyle[iIndex];
- else
- style = &iTypefaceFonts->iScalableFontHeight.iStyle[iIndex];
- style->iIsAvailable = etrue;
- state = IdentCopy(label);
- if (state)
- {
- fontinfo = iPdrModelStore.FindFontInfo(label);
- if (fontinfo)
- style->iFontInfo = fontinfo;
- else
- {
- Error("Fontinfo not found");
- state = efalse;
- }
- }
- return state;
- }
-
-boolean PdrReader::ReadFontHeight()
- {
- boolean state = etrue;
- int num;
- if (iTypefaceFonts->iIsScalable == etrue)
- {
- state = efalse;
- Error("Scalablefontheight already defined");
- }
- else
- iFontHeight = PdrFontHeight::New();
- if (state)
- state = NewLine();
-
- while (!IdentComp(IdentEndFontHeight) && !_EOF() && state)
- {
- if (iLex->iType == ELexIdent)
- {
- if (IdentComp(IdentHeight))
- {
- if (Number(num))
- iFontHeight->iHeightInTwips = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentWidthScale))
- {
- if (Number(num))
- iFontHeight->iWidthScale = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentNormal))
- {
- iIndex = Normal;
- state = ReadStyle();
- }
- else if (IdentComp(IdentBold))
- {
- iIndex = Bold;
- state = ReadStyle();
- }
- else if (IdentComp(IdentItalic))
- {
- iIndex = Italic;
- state = ReadStyle();
- }
- else if (IdentComp(IdentBoldItalic))
- {
- iIndex = BoldItalic;
- state = ReadStyle();
- }
- else if (IdentComp(IdentCommand))
- {
- state = Command(iFontHeight->iCommandString);
- }
- else
- {
- Error("Unrecognised fontheight identifier");
- state = efalse;
- }
- }
- else
- {
- Error("Fontheight identifier expected");
- state = efalse;
- }
- if (state)
- state = NewLine();
- }
- if (state)
- {
- iTypefaceFonts->AddFontHeight(iFontHeight);
- cout << "Fontheight read\n";
- }
- else
- iFontHeight->Delete();
- return state;
- }
-
-boolean PdrReader::ReadScalableFontHeight()
- {
- boolean state = etrue;
- int num;
- if (iTypefaceFonts->NumFontHeights())
- {
- state = efalse;
- Error("Non-scalable fontheights already defined");
- }
- else if (iTypefaceFonts->iIsScalable == etrue)
- {
- state = efalse;
- Error("Scalablefontheight already defined");
- }
- iTypefaceFonts->iIsScalable=etrue;
- if (state)
- state = NewLine();
-
- while (!IdentComp(IdentEndScalableFontHeight) && !_EOF() && state)
- {
- if (iLex->iType == ELexIdent)
- {
- if (IdentComp(IdentHeightMin))
- {
- if (Number(num))
- iTypefaceFonts->iScalableFontHeight.iHeightMinInTwips = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentHeightMax))
- {
- if (Number(num))
- iTypefaceFonts->iScalableFontHeight.iHeightMaxInTwips = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentHeightDelta))
- {
- if (Number(num))
- iTypefaceFonts->iScalableFontHeight.iHeightDeltaInTwips = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentNormal))
- {
- iIndex = Normal;
- state = ReadStyle();
- }
- else if (IdentComp(IdentBold))
- {
- iIndex = Bold;
- state = ReadStyle();
- }
- else if (IdentComp(IdentItalic))
- {
- iIndex = Italic;
- state = ReadStyle();
- }
- else if (IdentComp(IdentBoldItalic))
- {
- iIndex = BoldItalic;
- state = ReadStyle();
- }
- else if (IdentComp(IdentCommand))
- {
- state = Command(iTypefaceFonts->iScalableFontHeight.iCommandString);
- }
- else
- {
- Error("Unrecognised scalablefontheight identifier");
- state = efalse;
- }
- }
- else
- {
- Error("Scalablefontheight identifier expected");
- state = efalse;
- }
- if (state)
- state = NewLine();
- }
- if (state)
- {
- cout << "Scalablefontheight read\n";
- }
- else
- {
- if (!iTypefaceFonts->iIsScalable)
- iFontHeight->Delete();
- }
- return state;
- }
-
-boolean PdrReader::ReadTypefaceFonts()
- {
- boolean state = etrue;
- Record* translates;
- String label;
- iTypefaceFonts = TypefaceFonts::New();
- state = IdentCopy(iTypefaceFonts->iLabel);
- if (state)
- state = NewLine();
- while (!IdentComp(IdentEndTypefaceFonts) && !_EOF() && state)
- {
- if (iLex->iType == ELexIdent)
- {
- if (IdentComp(IdentTypefaceName))
- {
- if (StringCopy(iTypefaceFonts->iTypeface.iName))
- while (iLex->iType != ELexNL)
- { if (IdentComp(IdentProportional))
- iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Proportional);
- else if (IdentComp(IdentSerif))
- iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Serif);
- else if (IdentComp(IdentSymbol))
- iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Symbol);
- else
- {
- Error("Typefacefonts identifier or newline expected");
- state = efalse;
- }
- }
- else
- state = efalse;
- }
- else if (IdentComp(IdentTypefaceTranslates))
- {
- state = IdentCopy(label);
- if (state)
- {
- translates = iPdrModelStore.FindTranslates(label);
- if (translates)
- iTypefaceFonts->iTranslates = translates;
- else
- {
- Error("Translates not found");
- state = efalse;
- }
- }
- }
- else if (IdentComp(IdentFontHeight))
- {
- state = ReadFontHeight();
- }
- else if (IdentComp(IdentScalableFontHeight))
- {
- state = ReadScalableFontHeight();
- }
- else
- {
- Error("Unrecognised typefacefonts identifier");
- state = efalse;
- }
- }
- else
- {
- Error("Typefacefonts identifier expected");
- state = efalse;
- }
- if (state)
- state = NewLine();
- }
- if (state)
- {
- iPdrModelStore.AddTypefaceFonts(iTypefaceFonts);
- cout << "Typefacefonts read\n";
- }
- else
- iTypefaceFonts->Delete();
- return state;
- }
-
-boolean PdrReader::ReadModel()
- {
- boolean state = etrue;
- int num;
- iModel = PrinterModelHeader::New();
- Record* resources;
-// Record* extrainfo;
- String label;
- state = IdentCopy(iModel->iLabel);
- if (state)
- state = NewLine();
- while (!IdentComp(IdentEndModel) && !_EOF() && state)
- {
- if (iLex->iType == ELexIdent)
- {
- if (IdentComp(IdentModelName))
- {
- if (StringCopy(iModel->iEntry.iName))
- while (iLex->iType != ELexNL)
- {
- if (IdentComp(IdentRequiresPrinterPort))
- iModel->iEntry.iRequiresPrinterPort = etrue;
- else
- {
- Error("Model identifier or newline expected");
- state = efalse;
- }
- }
- else
- state = efalse;
- }
- else if (IdentComp(IdentModelUid))
- state = Number(iModel->iEntry.iUid);
- else if (IdentComp(IdentModelFlags))
- {
- state = Number(num);
- iModel->iInfo.iFlags = num;
- }
- else if (IdentComp(IdentModelResources))
- {
- state = IdentCopy(label);
- if (state)
- {
- resources = iPdrModelStore.FindResources(label);
- if (resources)
- iModel->iInfo.iResources = resources;
- else
- {
- Error("Resources not found");
- state = efalse;
- }
- }
- }
-/* else if (IdentComp(IdentSpareRecord))
- {
- state = IdentCopy(label);
- if (state)
- {
- extrainfo = iPdrModelStore.FindExtraInfo(label);
- if (extrainfo)
- iModel->iInfo.iSpareRecord = extrainfo;
- else
- {
- Error("Spare record not found");
- state = efalse;
- }
- }
- }
-*/
- else if (IdentComp(IdentKPixelWidth))
- {
- if (Number(num))
- iModel->iInfo.iKPixelWidthInTwips = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentKPixelHeight))
- {
- if (Number(num))
- iModel->iInfo.iKPixelHeightInTwips = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentPortraitOffset))
- {
- if (Number(num))
- {
- iModel->iInfo.iPortraitOffsetInPixels.iX = num;
- if (Number(num))
- iModel->iInfo.iPortraitOffsetInPixels.iY = num;
- else
- state = efalse;
- }
- else
- state = efalse;
- }
- else if (IdentComp(IdentLandscapeOffset))
- {
- if (Number(num))
- {
- iModel->iInfo.iLandscapeOffsetInPixels.iX = num;
- if (Number(num))
- iModel->iInfo.iLandscapeOffsetInPixels.iY = num;
- else
- state = efalse;
- }
- else
- state = efalse;
- }
- else if (IdentComp(IdentMinMarginLeft))
- {
- if (Number(num))
- iModel->iInfo.iMinMarginsInPixels.iLeft = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentMinMarginRight))
- {
- if (Number(num))
- iModel->iInfo.iMinMarginsInPixels.iRight = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentMinMarginTop))
- {
- if (Number(num))
- iModel->iInfo.iMinMarginsInPixels.iTop = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentMinMarginBottom))
- {
- if (Number(num))
- iModel->iInfo.iMinMarginsInPixels.iBottom = num;
- else
- state = efalse;
- }
- else if (IdentComp(IdentDisplayMode))
- {
- int i; // DEF102183: Graphics tools fail to build using MS VC8.
- for (i = 0; (i < NumDisplayModeValues) && !IdentComp(IdentDisplayModeValue[i]); i++)
- { // Tries to match display mode identifier
- }
- if (i < NumDisplayModeValues)
- {
- iModel->iInfo.iDisplayMode = i;
- }
- else
- {
- state = efalse;
- Error("Display mode identifier expected");
- }
- }
- else if (IdentComp(IdentTypefaceFontss))
- {
- state = NewLine();
- while (!IdentComp(IdentEndTypefaceFontss) && !_EOF() && state)
- {
- TypefaceFontsEntry* typefacefontsentry = NULL;
- if (iLex->iType == ELexIdent)
- {
- state = IdentCopy(label);
- Record* typefacefonts = iPdrModelStore.FindTypefaceFonts(label);
- if (typefacefonts)
- {
- typefacefontsentry = TypefaceFontsEntry::New(typefacefonts);
- state = etrue;
- }
- else
- {
- Error("Typefacefonts not found");
- state = efalse;
- }
- }
- if (state)
- {
- while ((iLex->iType != ELexNL) && !_EOF() && state)
- {
- if (IdentComp(IdentNotInPortrait))
- {
- typefacefontsentry->iNotInPortrait = etrue;
- }
- else if (IdentComp(IdentNotInLandscape))
- {
- typefacefontsentry->iNotInLandscape = etrue;
- }
- else
- {
- Error("Typefacefontsentry identifier or newline expected");
- state = efalse;
- }
- }
- if (state)
- iModel->iInfo.AddTypefaceFontsEntry(typefacefontsentry);
- else
- typefacefontsentry->Delete();
- }
- if (state)
- state = NewLine();
- }
- }
- else
- {
- Error("unrecognised model identifier");
- state = efalse;
- }
- }
- else
- {
- Error("Model identifier expected");
- state = efalse;
- }
- if (state)
- state = NewLine();
- }
- if (state)
- {
- iPdrModelStore.AddModel(iModel);
- cout << "Model read\n";
- }
- else
- iModel->Delete();
- return state;
- }
-
-boolean PdrReader::ReadPdrStoreFile()
- {
- boolean state = etrue;
- if (iPdrStoreFile)
- {
- state = efalse;
- Error("Pdrstorefile already read");
- }
- else
- {
- iPdrStoreFile = PdrStoreFile::New();
- String label;
- Record* model;
- state = NewLine();
- while (!IdentComp(IdentEndPdrStoreFile) && !_EOF() && state)
- {
- if (IdentComp(IdentPDLName))
- {
- state = StringCopy(iPdrStoreFile->iPDLName);
- }
- else if (IdentComp(IdentPDLUid))
- {
- state = Number(iPdrStoreFile->iPDLUid);
- }
- else if (IdentComp(IdentModels))
- {
- state = NewLine();
- while (!IdentComp(IdentEndModels) && !_EOF() && state)
- {
- state = IdentCopy(label);
- if (state)
- {
- model = iPdrModelStore.FindModel(label);
- if (model)
- {
- iPdrStoreFile->AddModel((PrinterModelHeader*)model);
- }
- else
- {
- Error("model not found");
- state = efalse;
- }
- }
- if (state)
- state = NewLine();
- }
- }
- else
- {
- Error("Pdrstorefile identifier expected");
- state = efalse;
- }
- if (state)
- state = NewLine();
- }
- if (state)
- {
- iPdrModelStore.AddPdrStoreFile(iPdrStoreFile);
- cout << "Pdrstorefile read\n";
- }
- else
- iPdrStoreFile->Delete();
- }
- return state;
- }
-
-EXPORT_C boolean PdrReader::Store(const String& aFilename)
- {
- boolean state = etrue;
- if (!iPdrStoreFile)
- {
- state = efalse;
- Error("No pdrstore file record");
- }
- else
- state = iPdrModelStore.Store(aFilename);
- return state;
- }
-
-boolean PdrReader::Command(String& aCommand)
- {
- boolean state = etrue;
- String string;
- state = StringCopy(string);
- int length = string.Length();
- for (int i = 0; i < length; i++)
- {
- char ch = string[i];
- if (ch == '<') // Read control character
- {
- ch = 0;
- for (i = i + 1; (i < length) && (string[i] != '>'); i++)
- ch = char((ch * 10) + (string[i] - '0'));
- }
- aCommand += ch;
- }
- return state;
- }
-/*
-boolean PdrReader::ReadExtraInfo()
- {
- boolean state = etrue;
- String label;
- PdrExtraInfo* extrainfo = new PdrExtraInfo();
- state = IdentCopy(extrainfo->iLabel);
- if (state)
- state = NewLine();
- while (!IdentComp(IdentEndExtraInfo) && !_EOF() && state)
- {
- String* string = new String;
- state = Command(*string);
- if (state)
- extrainfo->iInfo.Add(string);
- else
- delete string;
- state = NewLine();
- }
- if (state)
- {
- iPdrModelStore.AddExtraInfo(extrainfo);
- cout << "Extra info read\n";
- }
- else
- delete extrainfo;
- return state;
- }
-*/
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/PDRRECRD.CPP
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/PDRRECRD.CPP Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,785 +0,0 @@
-/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header PDRRECRD.CPP
-*
-*/
-
-
-#include "PDRRECRD.H"
-
-EXPORT_C PdrResource* PdrResource::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new object. */
- {
- return new PdrResource();
- }
-
-EXPORT_C void PdrResource::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void PdrResource::Externalize(ostream& out)
- {
- uint8 id = (uint8) iId;
- out.write((char*) &id, sizeof(id));
- iString.Externalize(out);
- }
-
-EXPORT_C PdrResources* PdrResources::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new object. */
- {
- return new PdrResources();
- }
-
-EXPORT_C void PdrResources::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void PdrResources::Externalize(ostream& out)
- {
- iStreamId = out.tellp();
- iPdrResourceList.Externalize(out);
- }
-
-EXPORT_C void PdrResources::AddResource(PdrResource* aResource)
-/** Adds a printer resource to the object.
-
-@param aResource Printer resource. */
- {
- iPdrResourceList.Add(aResource);
- }
-
-PdrResources::~PdrResources()
-/** Default destructor. */
- {
- iPdrResourceList.Destroy();
- }
-
-EXPORT_C PdrTranslation* PdrTranslation::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new object. */
- {
- return new PdrTranslation();
- }
-
-EXPORT_C void PdrTranslation::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void PdrTranslation::Externalize(ostream& out)
- {
- out.write((char*) &iFrom, sizeof(iFrom));
- iTo.Externalize(out);
- }
-
-EXPORT_C PdrTranslates* PdrTranslates::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new object. */
- {
- return new PdrTranslates();
- }
-
-EXPORT_C void PdrTranslates::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void PdrTranslates::Externalize(ostream& out)
- {
- iStreamId = out.tellp();
- iPdrTranslationList.Externalize(out);
- }
-
-EXPORT_C void PdrTranslates::AddTranslation(PdrTranslation* aTranslation)
-/** Adds a printer translation to the list.
-
-@param aTranslation Reference to a translation. */
- {
- iPdrTranslationList.Add(aTranslation);
- }
-
-PdrTranslates::~PdrTranslates()
-/** This function is internal, and is not intended for use. */
- {
- iPdrTranslationList.Destroy();
- }
-
-EXPORT_C Width* Width::New()
-/** Creates a new instance of this object.
-
-@return Reference to a new object. */
- {
- return new Width();
- }
-
-EXPORT_C void Width::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void Width::Externalize(ostream& out)
- {
- out.write ((char*) &iWidthInPixels, sizeof(iWidthInPixels));
- }
-
-WidthsCodeSection::WidthsCodeSection()
- : iWidthList()
-/** This function is internal only, and is not intended for use. */
- {
- }
-
-EXPORT_C WidthsCodeSection* WidthsCodeSection::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new object. */
- {
- return new WidthsCodeSection();
- }
-
-EXPORT_C void WidthsCodeSection::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void WidthsCodeSection::Externalize(ostream& out)
- {
- out.write((char*) &iStart, sizeof(iStart));
- out.write((char*) &iEnd, sizeof(iEnd));
- iWidthList.Externalize(out);
- }
-
-EXPORT_C void WidthsCodeSection::AddWidth(Width* aWidth)
-/** Adds a new font width to the list.
-
-@param aWidth Font width. */
- {
- iWidthList.Add(aWidth);
- }
-
-EXPORT_C Width* WidthsCodeSection::WidthList(int i)
-/** Returns a font width from the list at the position specified.
-
-@param i Position of font width in list.
-@return Reference to a font width. */
- {
- return iWidthList[i];
- }
-
-EXPORT_C int WidthsCodeSection::NumWidths()
-/** Returns the number of font widths in the list.
-
-@return Number of widths. */
- {
- return iWidthList.Size();
- }
-
-WidthsCodeSection::~WidthsCodeSection()
-/** Default destructor. */
- {
- iWidthList.Destroy();
- }
-
-EXPORT_C FontInfo* FontInfo::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new instance of this class. */
- {
- return new FontInfo();
- }
-
-EXPORT_C void FontInfo::Delete()
-/** Deletes the current FontInfo object. */
- {
- delete this;
- }
-
-void FontInfo::Externalize(ostream& out)
- {
- iStreamId = out.tellp();
- out.write((char*) &iAscentInPixels, sizeof(iAscentInPixels));
- out.write((char*) &iMaxCharWidthInPixels, sizeof(iMaxCharWidthInPixels));
- out.write((char*) &iMaxNormalCharWidthInPixels, sizeof(iMaxNormalCharWidthInPixels));
- iCodeSectionList.Externalize(out);
- }
-
-EXPORT_C void FontInfo::AddCodeSection(WidthsCodeSection* aCodeSection)
-/** Adds a section of information about the font to an internally-stored array.
-
-@param aCodeSection Font information. */
- {
- iCodeSectionList.Add(aCodeSection);
- }
-
-EXPORT_C WidthsCodeSection* FontInfo::CodeSectionList(int i)
-/** Returns a section of font information from a specified position in the internally-stored
-array.
-
-@param i Postion of information in the array.
-@return Reference to section of font information. */
- {
- return iCodeSectionList[i];
- }
-
-EXPORT_C int FontInfo::NumCodeSections()
-/** Returns the number of sections of font information in the internally-stored
-array.
-
-@return Current number of font information sections. */
- {
- return iCodeSectionList.Size();
- }
-
-FontInfo::~FontInfo()
-/** This function is internal, and not intended for use. */
- {
- iCodeSectionList.Destroy();
- }
-
-EXPORT_C PdrStyle* PdrStyle::New()
-/** Creates a new instance of this class
-
-@return Reference to a new object. */
- {
- return new PdrStyle();
- }
-
-EXPORT_C void PdrStyle::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void PdrStyle::Externalize(ostream& out)
- {
- out.write((char*) &iIsAvailable, sizeof(iIsAvailable));
- streamoff streamid = 0;
- if (iIsAvailable)
- streamid = iFontInfo->iStreamId;
- ::ExternalizeStreamOff(out, streamid);
- }
-
-PdrStyle::PdrStyle()
- : iIsAvailable(efalse)
-/** Default constructor. */
- {
- }
-
-EXPORT_C PdrFontHeight* PdrFontHeight::New()
-/** Returns a new instance of this class.
-
-@return Reference to new object. */
- {
- return new PdrFontHeight();
- }
-
-EXPORT_C void PdrFontHeight::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void PdrFontHeight::Externalize(ostream& out)
- {
- iCommandString.Externalize(out);
- out.write((char*) &iHeightInTwips, sizeof(iHeightInTwips));
- out.write((char*) &iWidthScale, sizeof(iWidthScale));
- for (int style = Normal;style <= BoldItalic; style++)
- iStyle[style].Externalize(out);
- }
-
-PdrFontHeight::PdrFontHeight():
- iWidthScale(1)
-/** Default constructor. */
- {
- }
-
-PdrScalableFontHeight::PdrScalableFontHeight()
-/** Default constructor. */
- {
- }
-
-void PdrScalableFontHeight::Externalize(ostream& out)
- {
- iCommandString.Externalize(out);
- out.write((char*) &iHeightMinInTwips, sizeof(iHeightMinInTwips));
- out.write((char*) &iHeightMaxInTwips, sizeof(iHeightMaxInTwips));
- out.write((char*) &iHeightDeltaInTwips, sizeof(iHeightDeltaInTwips));
- for (int style = Normal; style <= BoldItalic; style++)
- iStyle[style].Externalize(out);
- }
-
-EXPORT_C TypefaceFonts* TypefaceFonts::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new object. */
- {
- return new TypefaceFonts();
- }
-
-EXPORT_C void TypefaceFonts::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void TypefaceFonts::Externalize(ostream& out)
- {
- iStreamId = out.tellp();
- iTypeface.Externalize(out);
- out.write((char*) &iIsScalable, sizeof(iIsScalable));
- if (iIsScalable)
- iScalableFontHeight.Externalize(out);
- else
- iFontHeightList.Externalize(out);
- ::ExternalizeStreamOff(out, iTranslates->iStreamId);
- }
-
-EXPORT_C void TypefaceFonts::AddFontHeight(PdrFontHeight* aFontHeight)
- {
- iFontHeightList.Add(aFontHeight);
- }
-
-EXPORT_C int TypefaceFonts::NumFontHeights()
-/** Returns the number of font height descriptions currently held in the list.
-
-@return Number of descriptions. */
- {
- return iFontHeightList.Size();
- }
-
-PdrFontHeight* TypefaceFonts::FontHeightList(int i)
-/** Returns the font height description from the position specified in the list.
-
-@param i Position of description.
-@return Font height description. */
- {
- return iFontHeightList[i];
- }
-
-TypefaceFonts::TypefaceFonts():
- iIsScalable(efalse)
-/** This function is internal only, and is not intended for use. */
- {
- }
-
-TypefaceFonts::~TypefaceFonts()
-/** This function is internal only, and is not intended for use. */
- {
- iFontHeightList.Destroy();
- }
-
-EXPORT_C TypefaceFontsEntry* TypefaceFontsEntry::New(Record* aTypefaceFonts)
- {
- return new TypefaceFontsEntry(aTypefaceFonts);
- }
-
-EXPORT_C void TypefaceFontsEntry::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void TypefaceFontsEntry::Externalize(ostream& out)
- {
- ::ExternalizeStreamOff(out, iTypefaceFonts->iStreamId);
- out.write((char*) &iNotInPortrait, sizeof(iNotInPortrait));
- out.write((char*) &iNotInLandscape, sizeof(iNotInLandscape));
- }
-
-TypefaceFontsEntry::TypefaceFontsEntry(Record* aTypefaceFonts)
- : iTypefaceFonts(aTypefaceFonts), iNotInPortrait(efalse), iNotInLandscape(efalse)
- {
- }
-
-TypefaceFontsEntry::~TypefaceFontsEntry()
-/** Default destructor. */
- {
- }
-
-void Margins::Externalize(ostream& out)
- {
- out.write((char*) &iLeft, sizeof(iLeft));
- out.write((char*) &iRight, sizeof(iRight));
- out.write((char*) &iTop, sizeof(iTop));
- out.write((char*) &iBottom, sizeof(iBottom));
- }
-
-/*
-PdrExtraInfo::~PdrExtraInfo()
- {
- iInfo.Destroy();
- }
-
-void PdrExtraInfo::Externalize(ostream& out)
- {
- iInfo.Externalize(out);
- }
-*/
-
-void PdrModelInfo::Externalize(ostream& out)
- {
- iStreamId=out.tellp();
- out.write((char*) &KPdrtranVersion, sizeof(KPdrtranVersion));
- out.write((char*) &iFlags, sizeof(iFlags));
- out.write((char*) &iKPixelWidthInTwips, sizeof(iKPixelWidthInTwips));
- out.write((char*) &iKPixelHeightInTwips, sizeof(iKPixelHeightInTwips));
- iPortraitOffsetInPixels.Externalize(out);
- iLandscapeOffsetInPixels.Externalize(out);
- iMinMarginsInPixels.Externalize(out);
- out.write((char*) &iDisplayMode, sizeof(iDisplayMode));
- iTypefaceFontsEntryList.Externalize(out);
- ::ExternalizeStreamOff(out, iResources->iStreamId);
- streamoff streamid = 0;
- if (iSpareRecord)
- streamid = iSpareRecord->iStreamId;
- ::ExternalizeStreamOff(out, streamid);
- }
-
-EXPORT_C void PdrModelInfo::AddTypefaceFontsEntry(TypefaceFontsEntry* aTypefaceFontsEntry)
-/** Adds an entry containing information about typeface fonts to an internally-stored
-array.
-
-@param aTypefaceFontsEntry Typeface font information. */
- {
- iTypefaceFontsEntryList.Add(aTypefaceFontsEntry);
- }
-
-int PdrModelInfo::NumTypefaceFontsEntries()
-/** Returns the number of entries containing information about typeface fonts in
-the internally-stored array.
-
-@return Number of entries. */
- {
- return iTypefaceFontsEntryList.Size();
- }
-
-TypefaceFontsEntry* PdrModelInfo::TypefaceFontsEntryList(int i)
-/** Returns the typeface font entry stored the internal array from the position
-specified.
-
-@param i Position in array.
-@return Typeface font entry. */
- {
- return iTypefaceFontsEntryList[i];
- }
-
-PdrModelInfo::PdrModelInfo()
- : iStreamId(0),
- iFlags(0),
- iKPixelWidthInTwips(0),
- iKPixelHeightInTwips(0),
- iPortraitOffsetInPixels(),
- iLandscapeOffsetInPixels(),
- iMinMarginsInPixels(),
- iDisplayMode(0),
- iTypefaceFontsEntryList(),
- iResources(NULL),
- iSpareRecord(NULL) // !! Not used yet
-/** Default constructor. */
- {
- }
-
-PdrModelInfo::~PdrModelInfo()
-/** Default destructor. */
- {
- iTypefaceFontsEntryList.Destroy();
- }
-
-PrinterModelEntry::PrinterModelEntry()
- : iName(), iRequiresPrinterPort(efalse), iUid(KNullUid)
-/** Default constructor. */
- {
- }
-
-void PrinterModelEntry::Externalize(ostream& out)
- {
- iName.Externalize(out);
- out.write((char*) &iRequiresPrinterPort, sizeof(iRequiresPrinterPort));
- out.write((char*) &iUid, sizeof(iUid));
- }
-
-EXPORT_C PrinterModelHeader* PrinterModelHeader::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new object. */
- {
- return new PrinterModelHeader();
- }
-
-EXPORT_C void PrinterModelHeader::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-void PrinterModelHeader::Externalize(ostream& out)
- {
- iEntry.Externalize(out);
- ::ExternalizeStreamOff(out, iInfo.iStreamId);
- }
-
-void PrinterModelHeader::ExternalizeData(ostream& out)
- {
- iInfo.Externalize(out);
- }
-
-boolean PrinterModelHeader::IsPdrModel()
-/** Determines whether printer information is available for this printer model.
-
-@return ETrue: printer description is available. */
- {
- return iInfo.NumTypefaceFontsEntries() || iInfo.iResources;
- }
-
-EXPORT_C PdrStoreFile* PdrStoreFile::New()
-/** Creates a new instance of this class.
-
-@return Reference to a new object. */
- {
- return new PdrStoreFile();
- }
-
-EXPORT_C void PdrStoreFile::Delete()
-/** Deletes the current object. */
- {
- delete this;
- }
-
-EXPORT_C void PdrStoreFile::AddModel(PrinterModelHeader* aModel)
-/** Adds a printer model.
-
-@param aModel Printer model. */
- {
- iModelList.Add(aModel);
- if (aModel->IsPdrModel())
- {
- for (int i = 0; i < aModel->iInfo.NumTypefaceFontsEntries(); i++)
- AddTypefaceFonts((TypefaceFonts*) aModel->iInfo.TypefaceFontsEntryList(i)->iTypefaceFonts);
- iResourcesList.Add(aModel->iInfo.iResources);
-// if (aModel->iInfo.iSpareRecord)
-// iExtraInfoList.Add(aModel->iInfo.iSpareRecord);
- }
- }
-
-void PdrStoreFile::Externalize(ostream& out)
- {
- ExternalizeHeader(out);
- ExternalizeComponents(out);
- }
-
-void PdrStoreFile::ExternalizeHeader(ostream& out)
- {
- out.write((char*) &KStoreWriteOnceLayoutUid, sizeof(KStoreWriteOnceLayoutUid));
- out.write((char*) &KPdrStoreFileUid, sizeof(KPdrStoreFileUid));
- out.write((char*) &KNullUid, sizeof(KNullUid));
- out.write((char*) &KPdrStoreFileChecksum, sizeof(KPdrStoreFileChecksum));
- ::ExternalizeStreamOff(out, iStreamId);
- iStreamId = out.tellp();
- iPDLName.Externalize(out);
- out.write((char*) &iPDLUid, sizeof(iPDLUid));
- iModelList.Externalize(out);
- }
-
-void PdrStoreFile::AddTypefaceFonts(TypefaceFonts* aTypefaceFonts)
- {
- iTypefaceFontsList.Add(aTypefaceFonts);
- iTranslatesList.Add(aTypefaceFonts->iTranslates);
- if (aTypefaceFonts->iIsScalable)
- {
- for (int style = Normal; style <= BoldItalic; style++)
- {
- if (aTypefaceFonts->iScalableFontHeight.iStyle[style].iIsAvailable)
- iFontInfoList.Add(aTypefaceFonts->iScalableFontHeight.iStyle[style].iFontInfo);
- }
- }
- else
- {
- for (int j = 0; j < aTypefaceFonts->NumFontHeights(); j++)
- {
- PdrFontHeight* fontheight = aTypefaceFonts->FontHeightList(j);
- for (int style = Normal; style <= BoldItalic; style++)
- {
- if (fontheight->iStyle[style].iIsAvailable)
- iFontInfoList.Add(fontheight->iStyle[style].iFontInfo);
- }
- }
- }
- }
-
-void PdrStoreFile::ExternalizeComponents(ostream& out)
- {
- for (int i = 0; i < iModelList.Size(); i++)
- {
- PrinterModelHeader* model = (PrinterModelHeader*) iModelList[i];
- if (model->IsPdrModel())
- model->ExternalizeData(out);
- }
- iTypefaceFontsList.Externalize(out);
- iFontInfoList.Externalize(out);
- iResourcesList.Externalize(out);
- iTranslatesList.Externalize(out);
-// iExtraInfoList.Externalize(out);
- }
-
-PdrStoreFile::PdrStoreFile()
- : Record(),
- iPDLName(),
- iPDLUid(KNullUid),
- iModelList(),
- iTypefaceFontsList(),
- iFontInfoList(),
- iResourcesList(),
- iTranslatesList()
-/** This function is internal only, and is not intended for use. */
- {
- }
-
-EXPORT_C boolean PdrModelStore::Store(const String& aFilename)
-/** Externalizes printer information from the store to the specfied external file.
-
-@param aFilename Filename.
-@return ETrue: store successful. */
- {
- boolean state = efalse;
- ofstream fout;
- String string = aFilename;
- fout.open(string.Text(), ios::binary);
- if (!fout.fail())
- {
- iPdrStoreFile->Externalize(fout);
- fout.close();
- fout.open(string.Text(), ios::binary | ios::trunc);
- iPdrStoreFile->Externalize(fout);
- fout.close();
- state = etrue;
- }
- return state;
- }
-
-EXPORT_C void PdrModelStore::AddPdrStoreFile(PdrStoreFile* aPdrStoreFile)
- {
- iPdrStoreFile = aPdrStoreFile;
- }
-
-EXPORT_C void PdrModelStore::AddModel(PrinterModelHeader *aModel)
-/** Adds a printer model to the store.
-
-@param aModel Printer model. */
- {
- iModelList.Add(aModel);
- }
-
-EXPORT_C Record *PdrModelStore::FindModel(String& aLabel)
- {
- return iModelList.LabelToRecord(aLabel);
- }
-
-EXPORT_C void PdrModelStore::AddTypefaceFonts(TypefaceFonts *aTypefaceFonts)
-/** Adds typeface information to the store.
-
-@param aTypefaceFonts Typeface fonts. */
- {
- iTypefaceFontsList.Add(aTypefaceFonts);
- }
-
-EXPORT_C Record *PdrModelStore::FindTypefaceFonts(String& aLabel)
- {
- return iTypefaceFontsList.LabelToRecord(aLabel);
- }
-
-EXPORT_C void PdrModelStore::AddFontInfo(FontInfo *aFontInfo)
-/** Adds font information to the store.
-
-@param aFontInfo Font information. */
- {
- iFontInfoList.Add(aFontInfo);
- }
-
-EXPORT_C Record *PdrModelStore::FindFontInfo(String& aLabel)
- {
- return iFontInfoList.LabelToRecord(aLabel);
- }
-
-EXPORT_C void PdrModelStore::AddResources(PdrResources *aResources)
- {
- iResourcesList.Add(aResources);
- }
-
-EXPORT_C Record *PdrModelStore::FindResources(String& aLabel)
- {
- return iResourcesList.LabelToRecord(aLabel);
- }
-
-EXPORT_C void PdrModelStore::AddTranslates(PdrTranslates *aTranslates)
-/** Adds printer translations to the store.
-
-@param aTranslates Translation list. */
- {
- iTranslatesList.Add(aTranslates);
- }
-
-EXPORT_C Record *PdrModelStore::FindTranslates(String& aLabel)
- {
- return iTranslatesList.LabelToRecord(aLabel);
- }
-
- /*
-void PdrModelStore::AddExtraInfo(PdrExtraInfo *aInfo)
- {
- iExtraInfoList.Add(aInfo);
- }
-
-Record* PdrModelStore::FindExtraInfo(String& aLabel)
- {
- return iExtraInfoList.LabelToRecord(aLabel);
- }
-*/
-
-PdrModelStore::PdrModelStore()
- : iPdrStoreFile(NULL),
- iModelList(),
- iTypefaceFontsList(),
- iFontInfoList(),
- iResourcesList()//,
-// iExtraInfoList()
-/** Default constructor. */
- {
- }
-
-PdrModelStore::~PdrModelStore()
-/** Default destructor. */
- {
- delete iPdrStoreFile;
- iModelList.Destroy();
- iTypefaceFontsList.Destroy();
- iFontInfoList.Destroy();
- iResourcesList.Destroy();
- iTranslatesList.Destroy();
-// iExtraInfoList.Destroy();
- }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/PDRTRAN.CPP
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/PDRTRAN.CPP Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header PDRTRAN.CPP
-*
-*/
-
-
-#include "PDRREADR.H"
-
-bool OutputUnicode = false;
-
-// Input and output filenames entered in command line
-int main(int argc, char *argv[])
- {
- cout << "\nPDRTRAN V";
- cout << KPdrtranVersion << "\n";
- cout << "Copyright (c) 1998-2004 Symbian Software Ltd.\n";
-
- if(argc!=3)
- {
- cout << "Usage: PDRTRAN srcfile [srcfile2 ..] destfile\n";
- cout << "where srcfile is the file containing printer models,\n";
- cout << "typeface information and character width tables, and\n";
- cout << "destfile is the pdr store file.\n";
- return -1;
- }
-
- PdrReader reader;
-
- for (int i = 1; i < argc - 1; i++)
- {
- if (!reader.Read(argv[i]))
- {
- cerr << "Problem encountered in file " << argv[i] << "\n";
- return -1;
- }
- }
- if (!reader.Store(argv[argc - 1]))
- {
- cerr << "Problem writing pdr file " << argv[argc - 1] << "\n";
- return -1;
- }
- cout << argv[argc-1] << " created\n";
- return 0;
- }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/READER.CPP
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/READER.CPP Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header READER.CPP
-*
-*/
-
-
-#include "READER.H"
-
-Reader::Reader()
- {
- iLexAnal = NULL;
- }
-
-boolean Reader::Open(const String& aFilename)
- {
- boolean state;
- String string = aFilename;
- if (iLexAnal != NULL)
- delete iLexAnal;
- iLexAnal = new LexAnal(string.Text());
-
- if (iLexAnal)
- {
- state = etrue;
- iLex =& (iLexAnal->iLex);
- iLexAnal->Read(); // reads first lexical
- }
- else
- state = efalse;
-
- return state;
- }
-
-Reader::~Reader()
- {
- if (iLexAnal != NULL)
- delete iLexAnal;
- }
-
-boolean Reader::_EOF()
- {
- return ((iLex->iType) == ELexEOF);
- }
-
-boolean Reader::NewLine()
- {
- boolean state;
- if (iLex->iType == ELexNL)
- {
- iLexAnal->Read();
- state = etrue;
- }
- else
- {
- Error(String("Newline expected"));
- state = efalse;
- }
- return state;
- }
-
-boolean Reader::Number(int& aNumber)
- {
- boolean state;
- if (iLex->iType == ELexNumber)
- {
- aNumber = iLex->iNumber;
- iLexAnal->Read();
- state = etrue;
- }
- else
- {
- Error(String("Number expected"));
- state = efalse;
- }
- return state;
- }
-
-boolean Reader::IdentComp(const String& aIdent)
- {
- boolean state;
- if (iLex->iType == ELexIdent)
- {
- if (aIdent == iLex->iText)
- {
- iLexAnal->Read();
- state = etrue;
- }
- else
- state = efalse;
- }
- else
- {
- state = efalse;
- }
- return state;
- }
-
-boolean Reader::IdentCopy(String& aIdent)
- {
- boolean state;
- if (iLex->iType == ELexIdent)
- {
- aIdent = iLex->iText;
- iLexAnal->Read();
- state = etrue;
- }
- else
- {
- Error(String("Identifier expected"));
- state = efalse;
- }
- return state;
- }
-
-boolean Reader::StringCopy(String& aString)
- {
- boolean state;
- if (iLex->iType == ELexString)
- {
- aString = iLex->iText;
- iLexAnal->Read();
- state = etrue;
- }
- else
- {
- Error(String("String expected"));
- state = efalse;
- }
- return state;
- }
-
-boolean Reader::Operator(char& aCh)
- {
- boolean state;
- if (iLex->iType == ELexOperator)
- {
- aCh = iLex->iText[0];
- iLexAnal->Read();
- state = etrue;
- }
- else
- {
- Error(String("Operator expected"));
- state = efalse;
- }
- return state;
- }
-
-EXPORT_C void Reader::Error(const String& aString)
- {
- cerr << "Error: " << aString;
- iLexAnal->Report();
- while ((iLex->iType != ELexNL) && (iLex->iType != ELexEOF))
- iLexAnal->Read();
- }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/RECORD.CPP
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/RECORD.CPP Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header RECORD.CPP
-*
-*/
-
-
-#include "RECORD.H"
-
-EXPORT_C Record::Record()
- : iLabel(), iStreamId(0)
- {
- }
-
-void RecordList::ExternalizeIds(ostream& out)
- {
- int32 i;
- int32 size = Size();
- out.write((char*) &size, sizeof(size));
- for (i = 0; i < size; i++)
- {
- ::ExternalizeStreamOff(out, (*this)[i]->iStreamId);
- }
- }
-
-void RecordList::Externalize(ostream& out)
- {
- int32 size = Size();
- out.write ((char*) &size, sizeof(size));
- for (int i = 0; i < size; i++)
- (*this)[i]->Externalize(out);
- }
-
-void RecordList::ExternalizeComponents(ostream& out)
- {
- int32 size = Size();
- for (int i = 0; i < size; i++)
- (*this)[i]->ExternalizeComponents(out);
- }
-
-EXPORT_C void RecordList::Add(Record* aRecord)
- {
- if (!LabelToRecord(aRecord->iLabel))
- List::Add(aRecord);
- }
-
-EXPORT_C Record *RecordList::LabelToRecord(const String& aLabel)
- {
- int32 size = Size();
- Record *record=NULL;
- if (aLabel.Length())
- for (int i = 0; i < size; i++)
- if ((*this)[i]->iLabel == aLabel)
- record = (*this)[i];
- return record;
- }
-
-EXPORT_C void RecordList::Destroy()
- {
- List::Destroy();
- }
-
-EXPORT_C RecordList::~RecordList()
- {
- }
-
-EXPORT_C Typeface::Typeface()
- : iName(), iFlags(0)
- {
- }
-
-void Typeface::Externalize(ostream& out)
- {
- iName.Externalize(out);
- out.put((char) iFlags);
- }
-
-void Point::Externalize(ostream& out)
- {
- out.write((char*) &iX, sizeof(iX));
- out.write((char*) &iY, sizeof(iY));
- }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/STRNG.CPP
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tools2/pdrtran/src/STRNG.CPP Wed Feb 03 14:47:56 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header STRNG.CPP
-*
-*/
-
-
-#include "STRNG.H"
-
-extern bool OutputUnicode;
-
-ostream& operator << (ostream& out, const String& aString)
- {
- for (int i = 0; i < aString.iLength; i++)
- out << aString.iText[i];
- out << '\n';
- return out;
- }
-
-EXPORT_C void String::Externalize(ostream& out)
- {
- if (OutputUnicode)
- {
- // Convert the string to Unicode, allowing #NNNN (each N is a hex digit)
- // to represent an arbitrary Unicode character. Other values are just
- // extended, so don't use codepage 1252 values in the range 128..159.
- unsigned short* buffer = new unsigned short[iLength];
- int i = 0;
- int j = 0;
- while (i < iLength)
- {
- if (iText[i] == '#')
- {
- i++;
- char hex[5];
- hex[0] = iText[i++];
- hex[1] = iText[i++];
- hex[2] = iText[i++];
- hex[3] = iText[i++];
- hex[4] = 0;
- buffer[j++] = (unsigned short)strtoul(hex, NULL, 16);
- }
- else
- {
- buffer[j] = iText[i];
- buffer[j] &= 0xFF;
- i++;
- j++;
- }
- }
- int unicode_characters = j;
- int32 length = (unicode_characters << 1); // 16-bit data
- if (length < 0x80)
- {
- unsigned char len = (unsigned char)(length << 1);
- out.write((char*)&len, sizeof(len));
- }
- else if (length < 0x4000)
- {
- uint16 len = (uint16)((length << 2) + 1);
- out.write((char*)&len, sizeof(len));
- }
- else
- {
- // assert len<0x20000000 ?
- uint32 len = (uint32)((length << 3) + 3);
- out.write((char*)&len, sizeof(len));
- }
- // Output Unicode characters using the Standard Compression Scheme for Unicode.
- // To save the bother of doing this properly, use a degenerate form whereby each
- // Unicode character is output as itself. 0x0F selects Unicode mode and 0xF0 quotes
- // characters that would conflict with other tags.
- out << (unsigned char)0x0F;
-
- for (i = 0; i < unicode_characters; i++)
- {
- unsigned char hi = (unsigned char)(buffer[i] >> 8);
- unsigned char lo = (unsigned char)buffer[i];
- if ((hi >= 0xe0) && (hi <= 0xf2))
- out << 0xf0;
- out << hi;
- out << lo;
- }
-
- delete [] buffer;
- }
- else
- {
- int32 length = (iLength << 1) + 1; // 8-bit data
- if (length < 0x80)
- {
- unsigned char len = (unsigned char)(length << 1);
- out.write((char*)&len, sizeof(len));
- }
- else if (length < 0x4000)
- {
- uint16 len = (uint16)((length << 2) + 1);
- out.write((char*)&len, sizeof(len));
- }
- else
- {
- // assert len<0x20000000 ?
- uint32 len = (uint32)((length << 3) + 3);
- out.write((char*)&len, sizeof(len));
- }
- out.write(iText, iLength);
- }
- }
-
-EXPORT_C int String::CreateText(const int aLength)
- {
- if (aLength != iLength)
- {
- char* text = new char[aLength + 1];
- if (text)
- {
- iLength = aLength;
- iText = text;
- }
- else
- {
- iLength = 0;
- delete [] iText;
- iText = NULL;
- }
- }
- return iLength;
- }
-
-EXPORT_C void String::DeleteText(char* aText) const
- {
- if (aText != iText)
- delete [] aText;
- }
-
-EXPORT_C String::~String()
- {
- delete [] iText;
- }
diff -r f2b4ff56396b -r 8bc2b0b8d54c sbsv2/raptor/test/smoke_suite/tools2_cross_compilation.py
--- a/sbsv2/raptor/test/smoke_suite/tools2_cross_compilation.py Wed Feb 03 14:47:56 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tools2_cross_compilation.py Fri Feb 12 16:57:08 2010 +0000
@@ -22,7 +22,7 @@
t.id = "111a"
t.name = "tools2_cross_compilation_pdrtran"
- t.command = "sbs -b smoke_suite/test_resources/tools2/pdrtran/BLD.INF -c tools2 -c tools2.win32"
+ t.command = "sbs -b smoke_suite/test_resources/tools2/cross/BLD.INF -p PDRTRAN.MMP -c tools2 -c tools2.win32"
t.targets = [
"$(EPOCROOT)/epoc32/release/tools2/deb/pdrtran.exe",
@@ -32,7 +32,7 @@
"$(EPOCROOT)/epoc32/tools/pdrtran.exe",
"$(EPOCROOT)/epoc32/tools/pdrtran"
]
- t.addbuildtargets("smoke_suite/test_resources/tools2/pdrtran/BLD.INF", [
+ t.addbuildtargets("smoke_suite/test_resources/tools2/cross/BLD.INF", [
"pdrtran_/pdrtran_exe/tools2/deb/PDRTRAN.o",
"pdrtran_/pdrtran_exe/tools2/deb/LEXICAL.o",
"pdrtran_/pdrtran_exe/tools2/deb/PDRREADR.o",
@@ -117,7 +117,7 @@
t.usebash = True
t.id = "111c"
t.name = "tools2_cross_compilation_toolcheck_linux"
- t.command = "$(EPOCROOT)/epoc32/tools/pdrtran smoke_suite/test_resources/tools2/pdrtran/TEST.PD $(EPOCROOT)/epoc32/build/TEST_PDRTRAN.PDR"
+ t.command = "$(EPOCROOT)/epoc32/tools/pdrtran smoke_suite/test_resources/tools2/cross/TEST.PD $(EPOCROOT)/epoc32/build/TEST_PDRTRAN.PDR"
t.targets = [
"$(EPOCROOT)/epoc32/build/TEST_PDRTRAN.PDR"
]
@@ -137,6 +137,38 @@
t.run("linux")
+ t.id = "111e"
+ t.name = "tools2_cross_compilation_platmacro_linux"
+ t.command = "sbs -b smoke_suite/test_resources/tools2/cross/BLD.INF -p platmacros.mmp -c tools2"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/tools/test_platmacros"
+ ]
+ t.mustmatch = [
+ "TOOLS2_LINUX"
+ ]
+ t.mustnotmatch = [
+ "TOOLS2_WINDOWS"
+ ]
+ t.warnings = 1
+ t.run("linux")
+
+
+ t.id = "111f"
+ t.name = "tools2_cross_compilation_platmacro_windows"
+ t.command = "sbs -b smoke_suite/test_resources/tools2/cross/BLD.INF -p platmacros.mmp -c tools2.win32"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/tools/test_platmacros.exe"
+ ]
+ t.mustmatch = [
+ "TOOLS2_WINDOWS"
+ ]
+ t.mustnotmatch = [
+ "TOOLS2_LINUX"
+ ]
+ t.warnings = 1
+ t.run("linux")
+
+
t.id = "111"
t.name = "tools2_cross_compilation"
t.print_result()