[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