diff options
| author | Bob Jamison <ishmalius@gmail.com> | 2006-09-05 16:00:09 +0000 |
|---|---|---|
| committer | ishmal <ishmal@users.sourceforge.net> | 2006-09-05 16:00:09 +0000 |
| commit | 1cf78b0381215b4af2f502a5234812e13e12c43f (patch) | |
| tree | f14e09446e478143f9562a331eaa82e7efd6c1f4 /src/dom/domptr.cpp | |
| parent | comments for later (diff) | |
| download | inkscape-1cf78b0381215b4af2f502a5234812e13e12c43f.tar.gz inkscape-1cf78b0381215b4af2f502a5234812e13e12c43f.zip | |
Massive update for smart pointers. Rework js dom binding to be smarter. Placeholder for dom binding, finish later.
(bzr r1692)
Diffstat (limited to 'src/dom/domptr.cpp')
| -rw-r--r-- | src/dom/domptr.cpp | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/dom/domptr.cpp b/src/dom/domptr.cpp new file mode 100644 index 000000000..d325ae1ad --- /dev/null +++ b/src/dom/domptr.cpp @@ -0,0 +1,86 @@ +/** + * Phoebe DOM Implementation. + * + * This is a C++ approximation of the W3C DOM model, which follows + * fairly closely the specifications in the various .idl files, copies of + * which are provided for reference. Most important is this one: + * + * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html + * + * Authors: + * Bob Jamison + * + * Copyright (C) 2006 Bob Jamison + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "dom.h" + + +namespace org +{ +namespace w3c +{ +namespace dom +{ + + + + +/*######################################################################### +## NodePtr +#########################################################################*/ + + + +/** + * Increment the ref counter of the wrapped class instance + */ +void incrementRefCount(Node *p) +{ + if (p) + p->_refCnt++; +} + +/** + * Decrement the ref counter of the wrapped class instance. Delete + * the object if the reference count goes to zero + */ +void decrementRefCount(Node *p) +{ + if (p) + { + if (--(p->_refCnt) < 1) + delete p; + } +} + + + + +} //namespace dom +} //namespace w3c +} //namespace org + + + +/*######################################################################### +## E N D O F F I L E +#########################################################################*/ + + + + |
