gnunet-svn
[Top][All Lists]
Advanced

[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 */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]