[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

gramps gramps at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 05:50:37 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 5047bb81634dace075727bd30ccb3eea10c8cd59
Author: gramps <gramps at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Oct 17 20:02:09 2001 +0000

    First attempt at a real implementation
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@344 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/kwq/KWQTextCodec.h b/WebCore/kwq/KWQTextCodec.h
index 29d5356..e094684 100644
--- a/WebCore/kwq/KWQTextCodec.h
+++ b/WebCore/kwq/KWQTextCodec.h
@@ -33,47 +33,29 @@
 #include "qstring.h"
 #include "qcstring.h"
 
+class QTextCodec;
+
 // class QTextDecoder ==========================================================
 
 class QTextDecoder {
 public:
 
-    // typedefs ----------------------------------------------------------------
-    // enums -------------------------------------------------------------------
-    // constants ---------------------------------------------------------------
-    // static member functions -------------------------------------------------
-    
     // constructors, copy constructors, and destructors ------------------------
-    
-// add no-arg constructor
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder() {}
-#endif
 
-    virtual ~QTextDecoder();
-    
-    // member functions --------------------------------------------------------
+    QTextDecoder(const QTextCodec *);
+    ~QTextDecoder();
 
-    virtual QString toUnicode(const char *, int)=0;
+    // member functions --------------------------------------------------------
 
-    // operators ---------------------------------------------------------------
+    QString toUnicode(const char *, int);
 
-// protected -------------------------------------------------------------------
 // private ---------------------------------------------------------------------
 
 private:
 
-// add copy constructor
-// this private declaration prevents copying
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder(const QTextDecoder &);
-#endif
+    // data members ------------------------------------------------------------
 
-// add assignment operator 
-// this private declaration prevents assignment
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder &operator=(const QTextDecoder &);
-#endif
+    const QTextCodec *textCodec;
 
 }; // class QTextDecoder =======================================================
 
@@ -83,54 +65,42 @@ private:
 class QTextCodec {
 public:
 
-    // typedefs ----------------------------------------------------------------
-    // enums -------------------------------------------------------------------
-    // constants ---------------------------------------------------------------
-
     // static member functions -------------------------------------------------
 
     static QTextCodec *codecForMib(int);
-    static QTextCodec *codecForName(const char *, int accuracy=0);
+    //static QTextCodec *codecForName(const char *, int accuracy=0);
+    static QTextCodec *codecForName(const char *);
     static QTextCodec *codecForLocale();
 
     // constructors, copy constructors, and destructors ------------------------
 
-// add no-arg constructor
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec() {}
-#endif
-
-    virtual ~QTextCodec();
+    QTextCodec(int);
+    ~QTextCodec();
 
     // member functions --------------------------------------------------------
 
-    virtual const char* name() const=0;
-    virtual int mibEnum() const=0;
-    virtual QTextDecoder *makeDecoder() const;
+    //virtual const char* name() const=0;
+    const char* name() const;
+    //virtual int mibEnum() const=0;
+    int mibEnum() const;
+
+    //virtual QTextDecoder *makeDecoder() const;
+    QTextDecoder *makeDecoder() const;
+
     QCString fromUnicode(const QString &) const;
 
-    virtual QString toUnicode(const char *, int) const;
+    //virtual QString toUnicode(const char *, int) const;
+    QString toUnicode(const char *, int) const;
     QString toUnicode(const QByteArray &, int) const;
     QString toUnicode(const char *) const;
 
-    // operators ---------------------------------------------------------------
-
-// protected -------------------------------------------------------------------
 // private ---------------------------------------------------------------------
 
-private:
+//private:
 
-// add copy constructor
-// this private declaration prevents copying
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec(const QTextCodec &);
-#endif
+    // data members ------------------------------------------------------------
 
-// add assignment operator 
-// this private declaration prevents assignment
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec &operator=(const QTextCodec &);
-#endif
+    CFStringEncoding encoding;
 
 }; // class QTextCodec =========================================================
 
diff --git a/WebCore/kwq/KWQTextCodec.mm b/WebCore/kwq/KWQTextCodec.mm
index 90ae203..e8d3cfc 100644
--- a/WebCore/kwq/KWQTextCodec.mm
+++ b/WebCore/kwq/KWQTextCodec.mm
@@ -23,102 +23,98 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#include <qtextcodec.h>
-
-class QTextCodec;
-
-class KWQSimpleTextCodec : public QTextCodec {
-public:
-
-    virtual ~KWQSimpleTextCodec() {}
+// FIXME: obviously many functions here can be made inline
 
-    int KWQSimpleTextCodec::mibEnum() const {
-        // FIXME: do real work here
-        return 0;
-    }
-
-    const char *KWQSimpleTextCodec::name() const
-    {
-        // FIXME: do real work here
-        return "KWQSimpleTextCodec";
-    }
-
-};
+#include <qtextcodec.h>
+#include <kwqdebug.h>
 
+// FIXME: do we need this one we have a REAL implementation?
+static QTextCodec latin1TextCodec(kCFStringEncodingISOLatin1);
 
-class KWQSimpleTextDecoder : public QTextDecoder {
-public:
+// class QTextDecoder ==========================================================
 
-    virtual ~KWQSimpleTextDecoder() {}
+// constructors, copy constructors, and destructors ----------------------------
 
-    QString KWQSimpleTextDecoder::toUnicode(const char *s, int i) {
-        return QString(s);
-    }
-};
+QTextDecoder::QTextDecoder(const QTextCodec *tc)
+{
+    textCodec = tc;
+}
 
-// class QTextDecoder ==========================================================
+QTextDecoder::~QTextDecoder()
+{
+    // do nothing
+}
 
+// member functions --------------------------------------------------------
 
-QTextDecoder::~QTextDecoder()
+QString QTextDecoder::toUnicode(const char *chs, int len)
 {
+    return textCodec->toUnicode(chs, len);
 }
 
 
 // class QTextCodec ============================================================
 
+// static member functions -----------------------------------------------------
+
 QTextCodec *QTextCodec::codecForMib(int)
 {
-    // FIXME: do real work here
-    return new KWQSimpleTextCodec();
+    // FIXME: need REAL implementation here
+    _logPartiallyImplemented();
+    return &latin1TextCodec;
 }
 
-
-QTextCodec *QTextCodec::codecForName(const char *, int accuracy=0)
+QTextCodec *QTextCodec::codecForName(const char *)
 {
-    // FIXME: do real work here
-    return new KWQSimpleTextCodec();
+    // FIXME: need REAL implementation here
+    _logPartiallyImplemented();
+    return &latin1TextCodec;
 }
 
-
 QTextCodec *QTextCodec::codecForLocale()
 {
-    // FIXME: do real work here
-    return new KWQSimpleTextCodec();
+    // FIXME: need REAL implementation here
+    _logPartiallyImplemented();
+    return &latin1TextCodec;
 }
 
+// constructors, copy constructors, and destructors ----------------------------
+
+QTextCodec::QTextCodec(int e)
+{
+    encoding = e;
+}
 
 QTextCodec::~QTextCodec()
 {
+    // do nothing
 }
 
 // member functions --------------------------------------------------------
 
 QTextDecoder *QTextCodec::makeDecoder() const
 {
-    // FIXME: do real work here
-    return new KWQSimpleTextDecoder();
+    // FIXME: will this leak or do clients dispose of the object?
+    return new QTextDecoder(this);
 }
 
-
-QCString QTextCodec::fromUnicode(const QString &s) const
+QCString QTextCodec::fromUnicode(const QString &qcs) const
 {
-    return QCString(s.latin1());
+    // FIXME: is there a more efficient way to do this?
+    return QCString(qcs.latin1());
 }
 
-
-QString QTextCodec::toUnicode(const char *s, int) const
+QString QTextCodec::toUnicode(const char *chs, int len) const
 {
-    return QString(s);
+    return QString::fromStringWithEncoding(chs, len, encoding);
 }
 
-QString QTextCodec::toUnicode(const QByteArray &array, int) const
+QString QTextCodec::toUnicode(const QByteArray &qba, int len) const
 {
-    return QString(array);
+    return QString::fromStringWithEncoding(qba, len, encoding);
 }
 
-
-QString QTextCodec::toUnicode(const char *s) const
+QString QTextCodec::toUnicode(const char *chs) const
 {
-    return QString(s);
+    return QString::fromStringWithEncoding(chs, -1, encoding);
 }
-
diff --git a/WebCore/kwq/qt/qtextcodec.h b/WebCore/kwq/qt/qtextcodec.h
index 29d5356..e094684 100644
--- a/WebCore/kwq/qt/qtextcodec.h
+++ b/WebCore/kwq/qt/qtextcodec.h
@@ -33,47 +33,29 @@
 #include "qstring.h"
 #include "qcstring.h"
 
+class QTextCodec;
+
 // class QTextDecoder ==========================================================
 
 class QTextDecoder {
 public:
 
-    // typedefs ----------------------------------------------------------------
-    // enums -------------------------------------------------------------------
-    // constants ---------------------------------------------------------------
-    // static member functions -------------------------------------------------
-    
     // constructors, copy constructors, and destructors ------------------------
-    
-// add no-arg constructor
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder() {}
-#endif
 
-    virtual ~QTextDecoder();
-    
-    // member functions --------------------------------------------------------
+    QTextDecoder(const QTextCodec *);
+    ~QTextDecoder();
 
-    virtual QString toUnicode(const char *, int)=0;
+    // member functions --------------------------------------------------------
 
-    // operators ---------------------------------------------------------------
+    QString toUnicode(const char *, int);
 
-// protected -------------------------------------------------------------------
 // private ---------------------------------------------------------------------
 
 private:
 
-// add copy constructor
-// this private declaration prevents copying
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder(const QTextDecoder &);
-#endif
+    // data members ------------------------------------------------------------
 
-// add assignment operator 
-// this private declaration prevents assignment
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder &operator=(const QTextDecoder &);
-#endif
+    const QTextCodec *textCodec;
 
 }; // class QTextDecoder =======================================================
 
@@ -83,54 +65,42 @@ private:
 class QTextCodec {
 public:
 
-    // typedefs ----------------------------------------------------------------
-    // enums -------------------------------------------------------------------
-    // constants ---------------------------------------------------------------
-
     // static member functions -------------------------------------------------
 
     static QTextCodec *codecForMib(int);
-    static QTextCodec *codecForName(const char *, int accuracy=0);
+    //static QTextCodec *codecForName(const char *, int accuracy=0);
+    static QTextCodec *codecForName(const char *);
     static QTextCodec *codecForLocale();
 
     // constructors, copy constructors, and destructors ------------------------
 
-// add no-arg constructor
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec() {}
-#endif
-
-    virtual ~QTextCodec();
+    QTextCodec(int);
+    ~QTextCodec();
 
     // member functions --------------------------------------------------------
 
-    virtual const char* name() const=0;
-    virtual int mibEnum() const=0;
-    virtual QTextDecoder *makeDecoder() const;
+    //virtual const char* name() const=0;
+    const char* name() const;
+    //virtual int mibEnum() const=0;
+    int mibEnum() const;
+
+    //virtual QTextDecoder *makeDecoder() const;
+    QTextDecoder *makeDecoder() const;
+
     QCString fromUnicode(const QString &) const;
 
-    virtual QString toUnicode(const char *, int) const;
+    //virtual QString toUnicode(const char *, int) const;
+    QString toUnicode(const char *, int) const;
     QString toUnicode(const QByteArray &, int) const;
     QString toUnicode(const char *) const;
 
-    // operators ---------------------------------------------------------------
-
-// protected -------------------------------------------------------------------
 // private ---------------------------------------------------------------------
 
-private:
+//private:
 
-// add copy constructor
-// this private declaration prevents copying
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec(const QTextCodec &);
-#endif
+    // data members ------------------------------------------------------------
 
-// add assignment operator 
-// this private declaration prevents assignment
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec &operator=(const QTextCodec &);
-#endif
+    CFStringEncoding encoding;
 
 }; // class QTextCodec =========================================================
 
diff --git a/WebCore/src/kwq/KWQtextcodec.mm b/WebCore/src/kwq/KWQtextcodec.mm
index 90ae203..e8d3cfc 100644
--- a/WebCore/src/kwq/KWQtextcodec.mm
+++ b/WebCore/src/kwq/KWQtextcodec.mm
@@ -23,102 +23,98 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#include <qtextcodec.h>
-
-class QTextCodec;
-
-class KWQSimpleTextCodec : public QTextCodec {
-public:
-
-    virtual ~KWQSimpleTextCodec() {}
+// FIXME: obviously many functions here can be made inline
 
-    int KWQSimpleTextCodec::mibEnum() const {
-        // FIXME: do real work here
-        return 0;
-    }
-
-    const char *KWQSimpleTextCodec::name() const
-    {
-        // FIXME: do real work here
-        return "KWQSimpleTextCodec";
-    }
-
-};
+#include <qtextcodec.h>
+#include <kwqdebug.h>
 
+// FIXME: do we need this one we have a REAL implementation?
+static QTextCodec latin1TextCodec(kCFStringEncodingISOLatin1);
 
-class KWQSimpleTextDecoder : public QTextDecoder {
-public:
+// class QTextDecoder ==========================================================
 
-    virtual ~KWQSimpleTextDecoder() {}
+// constructors, copy constructors, and destructors ----------------------------
 
-    QString KWQSimpleTextDecoder::toUnicode(const char *s, int i) {
-        return QString(s);
-    }
-};
+QTextDecoder::QTextDecoder(const QTextCodec *tc)
+{
+    textCodec = tc;
+}
 
-// class QTextDecoder ==========================================================
+QTextDecoder::~QTextDecoder()
+{
+    // do nothing
+}
 
+// member functions --------------------------------------------------------
 
-QTextDecoder::~QTextDecoder()
+QString QTextDecoder::toUnicode(const char *chs, int len)
 {
+    return textCodec->toUnicode(chs, len);
 }
 
 
 // class QTextCodec ============================================================
 
+// static member functions -----------------------------------------------------
+
 QTextCodec *QTextCodec::codecForMib(int)
 {
-    // FIXME: do real work here
-    return new KWQSimpleTextCodec();
+    // FIXME: need REAL implementation here
+    _logPartiallyImplemented();
+    return &latin1TextCodec;
 }
 
-
-QTextCodec *QTextCodec::codecForName(const char *, int accuracy=0)
+QTextCodec *QTextCodec::codecForName(const char *)
 {
-    // FIXME: do real work here
-    return new KWQSimpleTextCodec();
+    // FIXME: need REAL implementation here
+    _logPartiallyImplemented();
+    return &latin1TextCodec;
 }
 
-
 QTextCodec *QTextCodec::codecForLocale()
 {
-    // FIXME: do real work here
-    return new KWQSimpleTextCodec();
+    // FIXME: need REAL implementation here
+    _logPartiallyImplemented();
+    return &latin1TextCodec;
 }
 
+// constructors, copy constructors, and destructors ----------------------------
+
+QTextCodec::QTextCodec(int e)
+{
+    encoding = e;
+}
 
 QTextCodec::~QTextCodec()
 {
+    // do nothing
 }
 
 // member functions --------------------------------------------------------
 
 QTextDecoder *QTextCodec::makeDecoder() const
 {
-    // FIXME: do real work here
-    return new KWQSimpleTextDecoder();
+    // FIXME: will this leak or do clients dispose of the object?
+    return new QTextDecoder(this);
 }
 
-
-QCString QTextCodec::fromUnicode(const QString &s) const
+QCString QTextCodec::fromUnicode(const QString &qcs) const
 {
-    return QCString(s.latin1());
+    // FIXME: is there a more efficient way to do this?
+    return QCString(qcs.latin1());
 }
 
-
-QString QTextCodec::toUnicode(const char *s, int) const
+QString QTextCodec::toUnicode(const char *chs, int len) const
 {
-    return QString(s);
+    return QString::fromStringWithEncoding(chs, len, encoding);
 }
 
-QString QTextCodec::toUnicode(const QByteArray &array, int) const
+QString QTextCodec::toUnicode(const QByteArray &qba, int len) const
 {
-    return QString(array);
+    return QString::fromStringWithEncoding(qba, len, encoding);
 }
 
-
-QString QTextCodec::toUnicode(const char *s) const
+QString QTextCodec::toUnicode(const char *chs) const
 {
-    return QString(s);
+    return QString::fromStringWithEncoding(chs, -1, encoding);
 }
-
diff --git a/WebCore/src/kwq/qt/qtextcodec.h b/WebCore/src/kwq/qt/qtextcodec.h
index 29d5356..e094684 100644
--- a/WebCore/src/kwq/qt/qtextcodec.h
+++ b/WebCore/src/kwq/qt/qtextcodec.h
@@ -33,47 +33,29 @@
 #include "qstring.h"
 #include "qcstring.h"
 
+class QTextCodec;
+
 // class QTextDecoder ==========================================================
 
 class QTextDecoder {
 public:
 
-    // typedefs ----------------------------------------------------------------
-    // enums -------------------------------------------------------------------
-    // constants ---------------------------------------------------------------
-    // static member functions -------------------------------------------------
-    
     // constructors, copy constructors, and destructors ------------------------
-    
-// add no-arg constructor
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder() {}
-#endif
 
-    virtual ~QTextDecoder();
-    
-    // member functions --------------------------------------------------------
+    QTextDecoder(const QTextCodec *);
+    ~QTextDecoder();
 
-    virtual QString toUnicode(const char *, int)=0;
+    // member functions --------------------------------------------------------
 
-    // operators ---------------------------------------------------------------
+    QString toUnicode(const char *, int);
 
-// protected -------------------------------------------------------------------
 // private ---------------------------------------------------------------------
 
 private:
 
-// add copy constructor
-// this private declaration prevents copying
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder(const QTextDecoder &);
-#endif
+    // data members ------------------------------------------------------------
 
-// add assignment operator 
-// this private declaration prevents assignment
-#ifdef _KWQ_PEDANTIC_
-    QTextDecoder &operator=(const QTextDecoder &);
-#endif
+    const QTextCodec *textCodec;
 
 }; // class QTextDecoder =======================================================
 
@@ -83,54 +65,42 @@ private:
 class QTextCodec {
 public:
 
-    // typedefs ----------------------------------------------------------------
-    // enums -------------------------------------------------------------------
-    // constants ---------------------------------------------------------------
-
     // static member functions -------------------------------------------------
 
     static QTextCodec *codecForMib(int);
-    static QTextCodec *codecForName(const char *, int accuracy=0);
+    //static QTextCodec *codecForName(const char *, int accuracy=0);
+    static QTextCodec *codecForName(const char *);
     static QTextCodec *codecForLocale();
 
     // constructors, copy constructors, and destructors ------------------------
 
-// add no-arg constructor
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec() {}
-#endif
-
-    virtual ~QTextCodec();
+    QTextCodec(int);
+    ~QTextCodec();
 
     // member functions --------------------------------------------------------
 
-    virtual const char* name() const=0;
-    virtual int mibEnum() const=0;
-    virtual QTextDecoder *makeDecoder() const;
+    //virtual const char* name() const=0;
+    const char* name() const;
+    //virtual int mibEnum() const=0;
+    int mibEnum() const;
+
+    //virtual QTextDecoder *makeDecoder() const;
+    QTextDecoder *makeDecoder() const;
+
     QCString fromUnicode(const QString &) const;
 
-    virtual QString toUnicode(const char *, int) const;
+    //virtual QString toUnicode(const char *, int) const;
+    QString toUnicode(const char *, int) const;
     QString toUnicode(const QByteArray &, int) const;
     QString toUnicode(const char *) const;
 
-    // operators ---------------------------------------------------------------
-
-// protected -------------------------------------------------------------------
 // private ---------------------------------------------------------------------
 
-private:
+//private:
 
-// add copy constructor
-// this private declaration prevents copying
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec(const QTextCodec &);
-#endif
+    // data members ------------------------------------------------------------
 
-// add assignment operator 
-// this private declaration prevents assignment
-#ifdef _KWQ_PEDANTIC_
-    QTextCodec &operator=(const QTextCodec &);
-#endif
+    CFStringEncoding encoding;
 
 }; // class QTextCodec =========================================================
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list