ConverterFactory::ConverterFactory() { addConverter(new RepresentationConverterLoadFromDisk()); addConverter(new RepresentationConverterOctreeToRAM()); addConverter(new RepresentationConverterLoadFromDiskToGL()); addConverter(new RepresentationConverterUploadGL()); addConverter(new RepresentationConverterDownloadGL()); }
XMLLCPTranscoder* Iconv390TransService::makeNewLCPTranscoder() { XMLTransService::Codes resValue; // native MVS default code page is IBM-037 iconvconverter *tconv=addConverter("IBM-037",resValue); if (tconv == 0) { return 0; } return new Iconv390LCPTranscoder(tconv); }
static void parseLine(const char *line) { uint16_t pos=0, start, limit, length, cnv; char *converter, *alias; /* skip leading white space */ /* There is no whitespace at the beginning anymore */ /* while(line[pos]!=0 && isspace(line[pos])) { ++pos; } */ /* is there nothing on this line? */ if(line[pos]==0) { return; } /* get the converter name */ start=pos; while(line[pos]!=0 && !isspace((int)line[pos])) { ++pos; } limit=pos; /* store the converter name */ length=(uint16_t)(limit-start); converter=allocString(&stringBlock, line+start, length); /* add the converter to the converter table */ cnv=addConverter(converter); /* The name itself may be tagged, so let's added it to the aliases list properly */ pos = start; /* get all the real aliases */ for(;;) { /* skip white space */ while(line[pos]!=0 && isspace((int)line[pos])) { ++pos; } /* is there no more alias name on this line? */ if(line[pos]==0) { break; } /* get an alias name */ start=pos; while(line[pos]!=0 && line[pos]!='{' && !isspace((int)line[pos])) { ++pos; } limit=pos; /* store the alias name */ length=(uint16_t)(limit-start); if (start == 0) { /* add the converter as its own alias to the alias table */ alias = converter; addAlias(alias, ALL_TAG_NUM, cnv, TRUE); } else { alias=allocString(&stringBlock, line+start, length); addAlias(alias, ALL_TAG_NUM, cnv, FALSE); } addToKnownAliases(alias); /* add the alias/converter pair to the alias table */ /* addAlias(alias, 0, cnv, FALSE);*/ /* skip whitespace */ while (line[pos] && isspace((int)line[pos])) { ++pos; } /* handle tags if they are present */ if (line[pos] == '{') { ++pos; do { start = pos; while (line[pos] && line[pos] != '}' && !isspace((int)line[pos])) { ++pos; } limit = pos; if (start != limit) { /* add the tag to the tag table */ uint16_t tag = getTagNumber(line + start, (uint16_t)(limit - start)); addAlias(alias, tag, cnv, (UBool)(line[limit-1] == '*')); } while (line[pos] && isspace((int)line[pos])) { ++pos; } } while (line[pos] && line[pos] != '}'); if (line[pos] == '}') { ++pos; } else { fprintf(stderr, "%s:%d: Unterminated tag list\n", path, lineNum); exit(U_UNMATCHED_BRACES); } } else { addAlias(alias, EMPTY_TAG_NUM, cnv, (UBool)(tags[0].aliasList[cnv].aliasCount == 0)); } } }