[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [Aki] d156f4e: Moved NickInfo to QSharedData
From:       Keith Rusler <xzekecomax () gmail ! com>
Date:       2010-12-26 5:52:58
Message-ID: 20101226055258.415FCA6090 () git ! kde ! org
[Download RAW message or body]

commit d156f4e131e386426a5e1bf3d3492f6eb043dca3
branch master
Author: Keith Rusler <xzekecomax@gmail.com>
Date:   Sun Dec 26 05:52:14 2010 +0000

    Moved NickInfo to QSharedData

diff --git a/libaki/irc/nickinfo.cxx b/libaki/irc/nickinfo.cxx
index fd3b8f3..f780c50 100644
--- a/libaki/irc/nickinfo.cxx
+++ b/libaki/irc/nickinfo.cxx
@@ -25,20 +25,20 @@ using namespace Aki;
 using namespace Irc;
 
 NickInfo::NickInfo()
+    : _d(new Aki::Irc::NickInfoPrivate)
 {
-    _d.reset(new Aki::Irc::NickInfoPrivate(this));
 }
 
 NickInfo::NickInfo(const QString& hostmask)
+    : _d(new Aki::Irc::NickInfoPrivate)
 {
-    _d.reset(new Aki::Irc::NickInfoPrivate(this));
     setHostmask(hostmask);
 }
 
-NickInfo::NickInfo(const Aki::Irc::NickInfo& nickInfo)
+NickInfo::NickInfo(const Aki::Irc::NickInfo& other)
+    : _d(other._d)
 {
-    _d.reset(new Aki::Irc::NickInfoPrivate(this));
-    setHostmask(nickInfo.hostmask());
+    setHostmask(other.hostmask());
 }
 
 NickInfo::~NickInfo()
@@ -46,11 +46,9 @@ NickInfo::~NickInfo()
 }
 
 Aki::Irc::NickInfo&
-NickInfo::operator=(const Aki::Irc::NickInfo & rhs)
+NickInfo::operator=(const Aki::Irc::NickInfo& other)
 {
-    _d.reset(new Aki::Irc::NickInfoPrivate(this));
-    setHostmask(rhs.hostmask());
-
+    _d = other._d;
     return *this;
 }
 
diff --git a/libaki/irc/nickinfo.hpp b/libaki/irc/nickinfo.hpp
index 68ffce6..05a0666 100644
--- a/libaki/irc/nickinfo.hpp
+++ b/libaki/irc/nickinfo.hpp
@@ -22,7 +22,6 @@
 #define AKI_IRC_NICKINFO_HPP
 
 #include "aki.hpp"
-#include <QtCore/QString>
 
 namespace Aki
 {
@@ -34,7 +33,7 @@ class LIBAKI_EXPORT NickInfo
 public:
     NickInfo();
     explicit NickInfo(const QString& hostmask);
-    NickInfo(const Aki::Irc::NickInfo& nickInfo);
+    NickInfo(const Aki::Irc::NickInfo& other);
     ~NickInfo();
     Aki::Irc::NickInfo& operator=(const Aki::Irc::NickInfo& rhs);
     QString host() const;
@@ -43,7 +42,7 @@ public:
     void setHostmask(const QString& hostmask);
     QString user() const;
 private:
-    AKI_DECLARE_PRIVATE(NickInfo)
+    QSharedDataPointer<Aki::Irc::NickInfoPrivate> _d;
 }; // End of class NickInfo.
 } // End of namespace Irc.
 } // End of namespace Aki.
diff --git a/libaki/irc/private/nickinfo_p.cxx b/libaki/irc/private/nickinfo_p.cxx
index 094e43c..6f17fa9 100644
--- a/libaki/irc/private/nickinfo_p.cxx
+++ b/libaki/irc/private/nickinfo_p.cxx
@@ -20,11 +20,18 @@
 
 #include "nickinfo_p.hpp"
 #include "irc/nickinfo.hpp"
-using namespace Aki::Irc;
+using namespace Aki;
+using namespace Irc;
 
-NickInfoPrivate::NickInfoPrivate(Aki::Irc::NickInfo* qq)
-    : hostmask(QString()),
-    _q(qq)
+NickInfoPrivate::NickInfoPrivate()
+    : QSharedData(),
+    hostmask(QString())
+{
+}
+
+NickInfoPrivate::NickInfoPrivate(const Aki::Irc::NickInfoPrivate& other)
+    : QSharedData(other),
+    hostmask(other.hostmask)
 {
 }
 
diff --git a/libaki/irc/private/nickinfo_p.hpp b/libaki/irc/private/nickinfo_p.hpp
index 3991079..ba65187 100644
--- a/libaki/irc/private/nickinfo_p.hpp
+++ b/libaki/irc/private/nickinfo_p.hpp
@@ -21,24 +21,23 @@
 #ifndef AKI_IRC_NICKINFO_P_HPP
 #define AKI_IRC_NICKINFO_P_HPP
 
-#include <QtCore/QString>
+#include "aki.hpp"
 
 namespace Aki
 {
 namespace Irc
 {
-class NickInfo;
 class NickInfoPrivate
+    : public QSharedData
 {
 public:
-    explicit NickInfoPrivate(Aki::Irc::NickInfo* qq);
+    NickInfoPrivate();
+    NickInfoPrivate(const Aki::Irc::NickInfoPrivate& other);
     QString host() const;
     QString nick() const;
     QString user() const;
 public:
     QString hostmask;
-private:
-    Aki::Irc::NickInfo* _q;
 }; // End of class NickInfoPrivate.
 } // End of namespace Irc.
 } // End of namespace Aki.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic