Changeset 9343 for OpenSceneGraph/trunk/include/osg/Referenced
- Timestamp:
- 12/12/08 19:47:30 (5 years ago)
- Files:
-
- 1 modified
-
OpenSceneGraph/trunk/include/osg/Referenced (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/include/osg/Referenced
r9023 r9343 16 16 17 17 // When building OSG with Java need to derive from Noodle::CBridgable class, 18 // therefore so OSG_JAVA_BUILD must be defined. Also the thread-safe ref/unref test19 // as built in for the NoodleGlue wrapping. NoodleGlue has a Garbage collector mechanism20 // which is very similar to osg::DeletionManager. So these aspects of osg::Referenced21 // have been removed22 //#define OSG_JAVA_BUILD23 24 18 #include <osg/Export> 25 19 26 #ifdef OSG_JAVA_BUILD27 #include <NoodleGlue/Bridgable.h>28 #else29 20 #include <OpenThreads/ScopedLock> 30 21 #include <OpenThreads/Mutex> 31 #endif32 22 33 23 #include <OpenThreads/Atomic> … … 38 28 namespace osg { 39 29 40 #ifndef OSG_JAVA_BUILD41 30 // forward declare, declared after Referenced below. 42 31 class DeleteHandler; … … 194 183 inline void intrusive_ptr_release(Referenced* p) { p->unref(); } 195 184 196 #else197 198 /** Java wrappers use the CBridgable base-class for referencing199 * and garbage collection.200 */201 class OSG_EXPORT Referenced : public NoodleGlue::CBridgable202 {203 public:204 /** Method not used in NoodleGlue referencing205 */206 inline void unref_nodelete() const { --_refCount; }207 inline int referenceCount() const { return _refCount; }208 209 /* These methods are not used in JavaOSG */210 void addObserver(Observer* observer) {}211 void removeObserver(Observer* observer) {}212 213 public:214 215 /** Set whether reference counting should be use a mutex to create thread reference counting.*/216 static void setThreadSafeReferenceCounting(bool enableThreadSafeReferenceCounting) {}217 218 /** Get whether reference counting is active. */219 static bool getThreadSafeReferenceCounting() { return true; }220 221 protected:222 virtual ~Referenced() {}223 };224 #endif //OSG_JAVA_BUILD225 226 185 } 227 186
