25 #ifndef WPROPERTYBASE_H
26 #define WPROPERTYBASE_H
30 #include <boost/function.hpp>
31 #include <boost/signals2/signal.hpp>
33 #include <boost/shared_ptr.hpp>
34 #include <boost/enable_shared_from_this.hpp>
36 #include "WProperties_Fwd.h"
37 #include "WCondition.h"
38 #include "WConditionSet.h"
44 class WPropertyBase:
public boost::enable_shared_from_this< WPropertyBase >
50 typedef boost::shared_ptr< WPropertyBase >
SPtr;
55 typedef boost::shared_ptr< const WPropertyBase >
ConstSPtr;
87 virtual boost::shared_ptr< WPropertyBase >
clone() = 0;
122 virtual PROPERTY_TYPE
getType()
const;
143 virtual void setPurpose( PROPERTY_PURPOSE purpose );
189 virtual bool set( boost::shared_ptr< WPropertyBase > value,
bool recommendedOnly = false ) = 0;
298 template<
typename T >
356 template<
typename T >
362 #endif // WPROPERTYBASE_H