/*
*******************************************************************************
- * Copyright (C) 1997-2004, International Business Machines
+ * Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved.
*******************************************************************************
* Date Name Description
*
* @draft ICU 2.2
*/
- virtual inline UClassID getDynamicClassID() const;
+ virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @draft ICU 2.2
*/
- static inline UClassID U_EXPORT2 getStaticClassID();
+ static UClassID U_EXPORT2 getStaticClassID();
protected:
rules,
rulesLength); // r-o alias
- RuleBasedTransliterator *trans = NULL;
- trans = new RuleBasedTransliterator(ID, ruleStr, dir,
- NULL, *parseError, *status);
- if (trans == NULL) {
- *status = U_MEMORY_ALLOCATION_ERROR;
- } else if (U_FAILURE(*status)) {
- delete trans;
- trans = NULL;
+ Transliterator *trans = NULL;
+ trans = Transliterator::createFromRules(ID, ruleStr, dir, *parseError, *status);
+ if(U_FAILURE(*status)) {
+ return NULL;
}
+
return (UTransliterator*) trans;
}
}
int32_t rulesLength, /* -1 if null-terminated */
UParseError* parseError, /* may be Null */
UErrorCode* status) {
- UnicodeString ID(id, ""); // use invariant converter
+ UnicodeString ID(id, -1, US_INV); // use invariant converter
return utrans_openU(ID.getBuffer(), ID.length(), dir,
rules, rulesLength,
parseError, status);
utrans_getID(const UTransliterator* trans,
char* buf,
int32_t bufCapacity) {
- return ((Transliterator*) trans)->getID().extract(0, 0x7fffffff, buf, bufCapacity, "");
+ return ((Transliterator*) trans)->getID().extract(0, 0x7fffffff, buf, bufCapacity, US_INV);
}
U_CAPI void U_EXPORT2
U_CAPI void U_EXPORT2
utrans_unregister(const char* id) {
- UnicodeString ID(id, ""); // use invariant converter
+ UnicodeString ID(id, -1, US_INV); // use invariant converter
Transliterator::unregister(ID);
}
utrans_getAvailableID(int32_t index,
char* buf, // may be NULL
int32_t bufCapacity) {
- return Transliterator::getAvailableID(index).extract(0, 0x7fffffff, buf, bufCapacity, "");
+ return Transliterator::getAvailableID(index).extract(0, 0x7fffffff, buf, bufCapacity, US_INV);
}
/* Transliterator UEnumeration ---------------------------------------------- */