Show CReflectedRefPointer.h syntax highlighted
#ifndef __CREFLECTEDREFPOINTER_H__
#define __CREFLECTEDREFPOINTER_H__ 1
#include <string>
#include <osg/Notify>
#include <osgIntrospectionToolKit/Export.h>
#include <osgIntrospectionToolKit/CReflectedPointer.h>
#include <boost/signal.hpp>
#include <osg/ref_ptr>
#include <osg/Referenced>
#include <osgIntrospection/Utility>
namespace osgIntrospectionToolKit
{
class SMemoryManager;
class OSGINTROSPECTIONTOOLKIT_EXPORT CReflectedRefPointer: public CReflectedPointer
{
typedef boost::signal0<void> UpdateSignal;
private:
CReflectedRefPointer(osgIntrospection::Value& ref_value);
friend class SMemoryManager;
protected:
virtual ~CReflectedRefPointer() {}
public:
virtual Scope valueScope() const
{ return (IReflectedValue::RefPointer); }
bool reload()
{
_value = osgIntrospection::Value(_ptr.get());
return (_value.getType().isDefined() && _value.getInstanceType().isDefined());
}
UpdateSignal& updateSignal()
{ return (_updateSignal); }
void emitUpdateSignal()
{ _updateSignal(); }
osg::Referenced* ptr()
{ return (_ptr.get()); }
private:
osg::ref_ptr<osg::Referenced> _ptr;
UpdateSignal _updateSignal;
};
}
#endif // ** __CREFLECTEDREFPOINTER_H__ ** //
See more files for this project here