dbertoni    01/12/07 10:58:26

  Modified:    c/src/ICUBridge ICUBridge.cpp ICUBridge.hpp
                        ICUBridgeCollationCompareFunctor.cpp
                        ICUBridgeCollationCompareFunctor.hpp
                        ICUXalanNumberFormatProxy.cpp
                        ICUXalanNumberFormatProxy.hpp
  Log:
  Fixes for ICU 2.0.
  
  Revision  Changes    Path
  1.13      +28 -30    xml-xalan/c/src/ICUBridge/ICUBridge.cpp
  
  Index: ICUBridge.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/ICUBridge/ICUBridge.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ICUBridge.cpp     2001/02/12 19:35:27     1.12
  +++ ICUBridge.cpp     2001/12/07 18:58:25     1.13
  @@ -113,12 +113,12 @@
   
   
   
  -const UnicodeString
  +const ICUBridge::ICUUnicodeString
   ICUBridge::XalanDOMCharStringToUnicodeString(const XalanDOMChar*     
theString)
   {
        if (theString == 0)
        {
  -             return UnicodeString();
  +             return ICUUnicodeString();
        }
        else
        {
  @@ -133,14 +133,14 @@
                        doCopyData(theString, theLength, theBuffer);
   
   #if U_SIZEOF_WCHAR_T==2
  -                     return UnicodeString((wchar_t*)&theBuffer[0], 
theLength);
  +                     return ICUUnicodeString((wchar_t*)&theBuffer[0], 
theLength);
   #else
  -                     return UnicodeString(&theBuffer[0], theLength);
  +                     return ICUUnicodeString(&theBuffer[0], theLength);
   #endif
                }
                else
                {
  -                     // Create a buffer to copy out the UnicodeString data...
  +                     // Create a buffer to copy out the ICUUnicodeString 
data...
                        UCharVectorType         theBuffer;
   
                        // Resize the buffer appropriately...
  @@ -154,17 +154,17 @@
   
                        assert(theLength == theBuffer.size());
   
  -                     return UnicodeString(&theBuffer[0], theLength);
  +                     return ICUUnicodeString(&theBuffer[0], theLength);
                }
   #else
  -             return UnicodeString(theString, length(theString));
  +             return ICUUnicodeString(theString, length(theString));
   #endif
        }
   }
   
   
   
  -const UnicodeString
  +const ICUBridge::ICUUnicodeString
   ICUBridge::XalanDOMStringToUnicodeString(const XalanDOMString&       
theString)
   {
        // Just call up to the XalanDOMChar* version...
  @@ -174,7 +174,7 @@
   
   
   const XalanDOMString
  -ICUBridge::UnicodeStringToXalanDOMString(const UnicodeString&        
theString)
  +ICUBridge::UnicodeStringToXalanDOMString(const ICUUnicodeString&     
theString)
   {
        const int32_t   theLength = theString.length();
   
  @@ -208,7 +208,7 @@
        }
        else
        {
  -             // Create a buffer to copy out the UnicodeString data...
  +             // Create a buffer to copy out the ICUUnicodeString data...
                UCharVectorType         theBuffer;
   
                // Resize the buffer appropriately...
  @@ -228,8 +228,8 @@
   
   void
   ICUBridge::UnicodeStringToXalanDOMString(
  -                     const UnicodeString&    theString,
  -                     XalanDOMString&                 theResult)
  +                     const ICUUnicodeString&         theString,
  +                     XalanDOMString&                         theResult)
   {
   #if defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
        
  @@ -260,7 +260,7 @@
                typedef std::vector<UChar>      UCharVectorType;
   #endif
   
  -             // Create a buffer to copy out the UnicodeString data...
  +             // Create a buffer to copy out the ICUUnicodeString data...
                UCharVectorType         theBuffer;
   
                // Resize the buffer appropriately...
  @@ -292,24 +292,22 @@
   
                // We got a XalanDecimalFormatSymbols, so set the
                // corresponding data in the ICU DecimalFormatSymbols.
  -             theDFS->setZeroDigit(theXalanDFS.getZeroDigit());
  -             
theDFS->setGroupingSeparator(theXalanDFS.getGroupingSeparator());
  -             theDFS->setDecimalSeparator(theXalanDFS.getDecimalSeparator());
  -             theDFS->setPerMill(theXalanDFS.getPerMill());
  -             theDFS->setPercent(theXalanDFS.getPercent());
  -             theDFS->setDigit(theXalanDFS.getDigit());
  -             theDFS->setPatternSeparator(theXalanDFS.getPatternSeparator());
  -
  -             
theDFS->setInfinity(ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getInfinity()));
  -             
theDFS->setNaN(ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getNaN()));
  -     //      theDFS->setPlusSign(theZeroDigitChar);
  -             theDFS->setMinusSign(theXalanDFS.getMinusSign());
  -     //      theDFS->setExponentialSymbol(theZeroDigitChar);
  -             
theDFS->setCurrencySymbol(ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getCurrencySymbol()));
  -             
theDFS->setInternationalCurrencySymbol(ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getInternationalCurrencySymbol()));
  -             
theDFS->setMonetaryDecimalSeparator(theXalanDFS.getMonetaryDecimalSeparator());
  +             theDFS->setSymbol(DecimalFormatSymbols::kZeroDigitSymbol, 
theXalanDFS.getZeroDigit());
  +             
theDFS->setSymbol(DecimalFormatSymbols::kGroupingSeparatorSymbol, 
theXalanDFS.getGroupingSeparator());
  +             
theDFS->setSymbol(DecimalFormatSymbols::kDecimalSeparatorSymbol, 
theXalanDFS.getDecimalSeparator());
  +             theDFS->setSymbol(DecimalFormatSymbols::kPerMillSymbol, 
theXalanDFS.getPerMill());
  +             theDFS->setSymbol(DecimalFormatSymbols::kPercentSymbol, 
theXalanDFS.getPercent());
  +             theDFS->setSymbol(DecimalFormatSymbols::kDigitSymbol, 
theXalanDFS.getDigit());
  +             
theDFS->setSymbol(DecimalFormatSymbols::kPatternSeparatorSymbol, 
theXalanDFS.getPatternSeparator());
  +
  +             theDFS->setSymbol(DecimalFormatSymbols::kInfinitySymbol, 
ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getInfinity()));
  +             theDFS->setSymbol(DecimalFormatSymbols::kNaNSymbol, 
ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getNaN()));
  +             theDFS->setSymbol(DecimalFormatSymbols::kMinusSignSymbol, 
theXalanDFS.getMinusSign());
  +             theDFS->setSymbol(DecimalFormatSymbols::kCurrencySymbol, 
ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getCurrencySymbol()));
  +             theDFS->setSymbol(DecimalFormatSymbols::kIntlCurrencySymbol, 
ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getInternationalCurrencySymbol()));
  +             
theDFS->setSymbol(DecimalFormatSymbols::kMonetarySeparatorSymbol, 
theXalanDFS.getMonetaryDecimalSeparator());
   
  -             UnicodeString   theUnicodeResult;
  +             ICUBridge::ICUUnicodeString             theUnicodeResult;
   
                // Construct a DecimalFormat.  Note that we release the 
XalanAutoPtr, since the
                // DecimalFormat will adopt the DecimalFormatSymbols instance.
  
  
  
  1.4       +28 -5     xml-xalan/c/src/ICUBridge/ICUBridge.hpp
  
  Index: ICUBridge.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/ICUBridge/ICUBridge.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ICUBridge.hpp     2000/07/12 21:45:39     1.3
  +++ ICUBridge.hpp     2001/12/07 18:58:25     1.4
  @@ -72,7 +72,24 @@
   
   
   
  +// We're stuck here.  We don't want to include the ICU header files, since 
we're trying
  +// to keep them hidden, but we need their namespace.  So we're just 
duplicating here.  When
  +// it changes, we'll have to track that change.  This is more desirable than 
forcing users
  +// to have the ICU sources.
  +//
  +// We could fix this by using factories, rather than allowing user access to 
these
  +// implementation classes.  It's certainly worth pursuing...
  +#if defined(XALAN_NO_NAMESPACES)
   class UnicodeString;
  +#else
  +namespace icu_2_0
  +{
  +     class UnicodeString;
  +};
  +#endif
  +
  +
  +
   class XalanDecimalFormatSymbols;
   
   
  @@ -80,20 +97,26 @@
   class XALAN_ICUBRIDGE_EXPORT ICUBridge
   {
   public:
  +
  +#if defined(XALAN_NO_NAMESPACES)
  +     typedef UnicodeString                   ICUUnicodeString;
  +#else
  +     typedef icu_2_0::UnicodeString  ICUUnicodeString;
  +#endif
   
  -     static const UnicodeString
  +     static const ICUUnicodeString
        XalanDOMCharStringToUnicodeString(const XalanDOMChar*   theString);
   
  -     static const UnicodeString
  +     static const ICUUnicodeString
        XalanDOMStringToUnicodeString(const XalanDOMString&             
theString);
   
        static const XalanDOMString
  -     UnicodeStringToXalanDOMString(const UnicodeString&      theString);
  +     UnicodeStringToXalanDOMString(const ICUUnicodeString&   theString);
   
        static void
        UnicodeStringToXalanDOMString(
  -                     const UnicodeString&    theString,
  -                     XalanDOMString&                 theResult);
  +                     const ICUUnicodeString&         theString,
  +                     XalanDOMString&                         theResult);
   
        static unsigned long
        FormatNumber(
  
  
  
  1.19      +3 -0      
xml-xalan/c/src/ICUBridge/ICUBridgeCollationCompareFunctor.cpp
  
  Index: ICUBridgeCollationCompareFunctor.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/ICUBridge/ICUBridgeCollationCompareFunctor.cpp,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ICUBridgeCollationCompareFunctor.cpp      2001/09/26 20:40:30     1.18
  +++ ICUBridgeCollationCompareFunctor.cpp      2001/12/07 18:58:25     1.19
  @@ -70,6 +70,9 @@
   
   #include <unicode/coll.h>
   
  +// this is the ICU's macro for using namespace ...
  +U_NAMESPACE_USE
  +
   
   
   const StylesheetExecutionContextDefault::DefaultCollationCompareFunctor      
        ICUBridgeCollationCompareFunctor::s_defaultFunctor;
  
  
  
  1.7       +19 -1     
xml-xalan/c/src/ICUBridge/ICUBridgeCollationCompareFunctor.hpp
  
  Index: ICUBridgeCollationCompareFunctor.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/ICUBridge/ICUBridgeCollationCompareFunctor.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ICUBridgeCollationCompareFunctor.hpp      2001/08/20 22:10:29     1.6
  +++ ICUBridgeCollationCompareFunctor.hpp      2001/12/07 18:58:25     1.7
  @@ -68,7 +68,21 @@
   
   
   
  +// We're stuck here.  We don't want to include the ICU header files, since 
we're trying
  +// to keep them hidden, but we need their namespace.  So we're just 
duplicating here.  When
  +// it changes, we'll have to track that change.  This is more desirable than 
forcing users
  +// to have the ICU sources.
  +//
  +// We could fix this by using factories, rather than allowing user access to 
these
  +// implementation classes.  It's certainly worth pursuing...
  +#if defined(XALAN_NO_NAMESPACES)
   class Collator;
  +#else
  +namespace icu_2_0
  +{
  +     class Collator;
  +};
  +#endif
   
   
   
  @@ -107,7 +121,11 @@
   
        bool            m_isValid;
   
  -     Collator*       m_defaultCollator;
  +#if defined(XALAN_NO_NAMESPACES)
  +     Collator*                       m_defaultCollator;
  +#else
  +     icu_2_0::Collator*      m_defaultCollator;
  +#endif
   
        const static 
StylesheetExecutionContextDefault::DefaultCollationCompareFunctor          
s_defaultFunctor;
   };
  
  
  
  1.8       +6 -1      xml-xalan/c/src/ICUBridge/ICUXalanNumberFormatProxy.cpp
  
  Index: ICUXalanNumberFormatProxy.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/ICUBridge/ICUXalanNumberFormatProxy.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ICUXalanNumberFormatProxy.cpp     2001/06/15 22:10:34     1.7
  +++ ICUXalanNumberFormatProxy.cpp     2001/12/07 18:58:25     1.8
  @@ -66,8 +66,11 @@
   #include <unicode/dcfmtsym.h>
   #include <unicode/decimfmt.h>
   
  +// this is the ICU's macro for using namespace ...
  +U_NAMESPACE_USE
   
   
  +
   #include <PlatformSupport/DOMStringHelper.hpp>
   
   
  @@ -258,7 +261,9 @@
        DecimalFormatSymbols* const             theNewSymbols =
                new DecimalFormatSymbols(*theCurrentSymbols);
   
  -     theNewSymbols->setGroupingSeparator(charAt(s, 0));
  +     theNewSymbols->setSymbol(
  +             DecimalFormatSymbols::kGroupingSeparatorSymbol,
  +             ICUBridge::XalanDOMStringToUnicodeString(s));
   
        m_decimalFormat->adoptDecimalFormatSymbols(theNewSymbols);
   }
  
  
  
  1.3       +19 -1     xml-xalan/c/src/ICUBridge/ICUXalanNumberFormatProxy.hpp
  
  Index: ICUXalanNumberFormatProxy.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/ICUBridge/ICUXalanNumberFormatProxy.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ICUXalanNumberFormatProxy.hpp     2001/06/14 19:04:37     1.2
  +++ ICUXalanNumberFormatProxy.hpp     2001/12/07 18:58:25     1.3
  @@ -68,7 +68,21 @@
   
   
   
  +// We're stuck here.  We don't want to include the ICU header files, since 
we're trying
  +// to keep them hidden, but we need their namespace.  So we're just 
duplicating here.  When
  +// it changes, we'll have to track that change.  This is more desirable than 
forcing users
  +// to have the ICU sources.
  +//
  +// We could fix this by using factories, rather than allowing user access to 
these
  +// implementation classes.  It's certainly worth pursuing...
  +#if defined(XALAN_NO_NAMESPACES)
   class DecimalFormat;
  +#else
  +namespace icu_2_0
  +{
  +     class DecimalFormat;
  +};
  +#endif
   
   
   
  @@ -138,7 +152,11 @@
   
   private:
   
  -     DecimalFormat*  m_decimalFormat;
  +#if defined(XALAN_NO_NAMESPACES)
  +     DecimalFormat*                          m_decimalFormat;
  +#else
  +     icu_2_0::DecimalFormat*         m_decimalFormat;
  +#endif
   };
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to