summaryrefslogtreecommitdiff
path: root/libopie2/opiecore/osmartpointer.cpp
authorzecke <zecke>2004-11-18 21:36:33 (UTC)
committer zecke <zecke>2004-11-18 21:36:33 (UTC)
commit3302eb30390e6053637929316670da3e8fbe279e (patch) (side-by-side diff)
tree5d8eb530e081a95b2ee5152ef63575b6c966154c /libopie2/opiecore/osmartpointer.cpp
parent7ac32658ba09d8456cc75e5cf80707caa616848b (diff)
downloadopie-3302eb30390e6053637929316670da3e8fbe279e.zip
opie-3302eb30390e6053637929316670da3e8fbe279e.tar.gz
opie-3302eb30390e6053637929316670da3e8fbe279e.tar.bz2
-Move ORefCount to a non inline implementation in osmartpointer.cpp
-Add OSharedPointer as a smart pointer adapter to adapt any pointer This is used by Opie PIM Change pro file
Diffstat (limited to 'libopie2/opiecore/osmartpointer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/osmartpointer.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/libopie2/opiecore/osmartpointer.cpp b/libopie2/opiecore/osmartpointer.cpp
new file mode 100644
index 0000000..480e03a
--- a/dev/null
+++ b/libopie2/opiecore/osmartpointer.cpp
@@ -0,0 +1,57 @@
+// -*- Mode: C++; -*-
+/*
+ This file is part of the Opie Project
+ Copyright (C) 2004 Rajko Albrecht <alwin@handhelds.org>
+ Copyright (C) The Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+ .>+-=
+_;:, .> :=|. This program is free software; you can
+.> <`_, > . <= redistribute it and/or modify it under
+:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
+.="- .-=="i, .._ License as published by the Free Software
+- . .-<_> .<> Foundation; either version 2 of the License,
+ ._= =} : or (at your option) any later version.
+ .%`+i> _;_.
+ .i_,=:_. -<s. This program 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
+..}^=.= = ; Library General Public License for more
+++= -. .` .: details.
+: = ...= . :.=-
+-. .:....=;==+<; You should have received a copy of the GNU
+ -_. . . )=. = Library General Public License along with
+ -- :-=` this library; see the file COPYING.LIB.
+ If not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "osmartpointer.h"
+
+namespace Opie {
+namespace Core {
+
+ORefCount::ORefCount()
+ : m_RefCount(0)
+{}
+
+ORefCount::~ORefCount()
+{}
+
+void ORefCount::Incr() {
+ ++m_RefCount;
+}
+
+void ORefCount::Decr() {
+ --m_RefCount;
+}
+
+bool ORefCount::Shared() {
+ return (m_RefCount > 0);
+}
+
+}
+}