[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r5948 - GNUnet/src/setup/qt
From: |
gnunet |
Subject: |
[GNUnet-SVN] r5948 - GNUnet/src/setup/qt |
Date: |
Mon, 17 Dec 2007 14:06:22 -0700 (MST) |
Author: durner
Date: 2007-12-17 14:06:21 -0700 (Mon, 17 Dec 2007)
New Revision: 5948
Added:
GNUnet/src/setup/qt/gstring.cc
GNUnet/src/setup/qt/gstring.h
Log:
add
Added: GNUnet/src/setup/qt/gstring.cc
===================================================================
--- GNUnet/src/setup/qt/gstring.cc (rev 0)
+++ GNUnet/src/setup/qt/gstring.cc 2007-12-17 21:06:21 UTC (rev 5948)
@@ -0,0 +1,107 @@
+/*
+ This file is part of GNUnet.
+ (C) 2007 Christian Grothoff (and other contributing authors)
+
+ GNUnet is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 2, or (at your
+ option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNUnet; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+/**
+ * @file src/setup/qt/gstring.cc
+ * @brief Extended QString
+ * @author Nils Durner
+ */
+
+#include <QtCore/QByteArray>
+
+#include "gstring.h"
+
+GString::GString(const char *str) : QString(str)
+{
+ cstr = NULL;
+}
+
+GString::GString() : QString()
+{
+ cstr = NULL;
+}
+
+GString::~GString()
+{
+ if (cstr)
+ ::free(cstr);
+}
+
+GString &GString::operator=(const QString &src)
+{
+ if (cstr)
+ {
+ ::free(cstr);
+ cstr = NULL;
+ }
+
+ QString::operator=(src);
+ return *this;
+}
+
+GString &GString::operator=(const GString &src)
+{
+ if (cstr)
+ {
+ ::free(cstr);
+ cstr = NULL;
+ }
+
+ QString::operator=(src);
+ return *this;
+}
+
+GString &GString::operator=(const char *src)
+{
+ if (cstr)
+ {
+ ::free(cstr);
+ cstr = NULL;
+ }
+
+ QString::operator=(src);
+ return *this;
+}
+
+GString::GString(QString &src) : QString(src)
+{
+ cstr = NULL;
+}
+
+char *GString::toCString()
+{
+ QByteArray bytes = toLocal8Bit();
+
+ if (cstr)
+ ::free(cstr);
+
+ return cstr = strdup(bytes.data());
+}
+
+char *GString::toUtf8CStr()
+{
+ QByteArray bytes = toUtf8();
+
+ if (cstr)
+ ::free(cstr);
+
+ return cstr = strdup(bytes.data());
+}
+
+/* end of gstring.cc */
Added: GNUnet/src/setup/qt/gstring.h
===================================================================
--- GNUnet/src/setup/qt/gstring.h (rev 0)
+++ GNUnet/src/setup/qt/gstring.h 2007-12-17 21:06:21 UTC (rev 5948)
@@ -0,0 +1,59 @@
+/*
+ This file is part of GNUnet.
+ (C) 2007 Christian Grothoff (and other contributing authors)
+
+ GNUnet is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 2, or (at your
+ option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNUnet; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+/**
+ * @file src/setup/qt/gstring.h
+ * @brief Extended QString
+ * @author Nils Durner
+ */
+
+#ifndef GNUNET_GSTRING_H_
+#define GNUNET_GSTRING_H_
+
+#include <QtCore/QString>
+
+class GString : public QString
+{
+public:
+ GString();
+ GString(const char *str);
+ GString(QString &src);
+ ~GString();
+ GString &operator=(const QString &src);
+ GString &operator=(const GString &src);
+ GString &operator=(const char *src);
+
+ /**
+ * @brief Return the content as C string
+ */
+ char *toCString();
+
+ /**
+ * @brief Return the content as UTF-8 encoded C string
+ */
+ char *toUtf8CStr();
+
+protected:
+ char *cstr;
+};
+
+#endif /*GNUNET_STRING_H_*/
+
+/* end of gstring.h */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r5948 - GNUnet/src/setup/qt,
gnunet <=