From b46d1968ba92613dca7f81a1e0540279d9e8d762 Mon Sep 17 00:00:00 2001 From: dismine Date: Sun, 29 Sep 2013 15:21:17 +0300 Subject: [PATCH] New field referens in class VDataTool. --HG-- branch : feature --- tools/vdatatool.cpp | 1 + tools/vdatatool.h | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/vdatatool.cpp b/tools/vdatatool.cpp index 8d26481cb..987c237d8 100644 --- a/tools/vdatatool.cpp +++ b/tools/vdatatool.cpp @@ -23,6 +23,7 @@ VDataTool &VDataTool::operator =(const VDataTool &tool){ data = tool.getData(); + _referens = tool.referens(); return *this; } diff --git a/tools/vdatatool.h b/tools/vdatatool.h index 11749d364..f6c114121 100644 --- a/tools/vdatatool.h +++ b/tools/vdatatool.h @@ -24,16 +24,21 @@ #include "container/vcontainer.h" +//We need QObject class because we use qobject_cast. class VDataTool : public QObject{ Q_OBJECT public: - explicit VDataTool(VContainer *data, QObject *parent = 0): QObject(parent), data(*data){} + explicit VDataTool(VContainer *data, QObject *parent = 0): QObject(parent), data(*data), _referens(0){} virtual ~VDataTool(){} VDataTool& operator= (const VDataTool &tool); VContainer getData() const { return data; } void setData(const VContainer *value); + qint64 referens() const {return _referens;} + void incrementReferens(){++_referens;} + void decrementReferens(){--_referens;} protected: VContainer data; + qint64 _referens; }; #endif // VDATATOOL_H