TuttleOFX
1
|
00001 #ifndef _TUTTLE_HOST_OFX_ATTRIBUTE_CLIPDESCRIPTOR_HPP_ 00002 #define _TUTTLE_HOST_OFX_ATTRIBUTE_CLIPDESCRIPTOR_HPP_ 00003 00004 #include "OfxhAttributeAccessor.hpp" 00005 #include "OfxhAttributeDescriptor.hpp" 00006 #include "OfxhClipAccessor.hpp" 00007 00008 namespace tuttle { 00009 namespace host { 00010 namespace ofx { 00011 namespace attribute { 00012 00013 /** 00014 * a clip descriptor 00015 */ 00016 class OfxhClipDescriptor 00017 : public OfxhAttributeDescriptor 00018 , virtual public OfxhClipAccessor 00019 { 00020 public: 00021 typedef OfxhClipDescriptor This; 00022 00023 public: 00024 /// constructor 00025 OfxhClipDescriptor(); 00026 OfxhClipDescriptor( const property::OfxhSet& ); 00027 00028 virtual ~OfxhClipDescriptor() = 0; 00029 00030 bool operator==( const This& other ) const 00031 { 00032 if( OfxhAttributeDescriptor::operator!=( other ) ) 00033 return false; 00034 return true; 00035 } 00036 00037 bool operator!=( const This& other ) const { return !This::operator==( other ); } 00038 00039 private: 00040 friend class boost::serialization::access; 00041 template<class Archive> 00042 void serialize( Archive& ar, const unsigned int version ) 00043 { 00044 ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP( OfxhAttributeDescriptor ); 00045 } 00046 00047 }; 00048 00049 } 00050 } 00051 } 00052 } 00053 00054 // force boost::is_virtual_base_of value (used by boost::serialization) 00055 namespace boost { 00056 template<> 00057 struct is_virtual_base_of<tuttle::host::ofx::attribute::OfxhAttributeDescriptor, tuttle::host::ofx::attribute::OfxhClipDescriptor>: public mpl::true_ {}; 00058 } 00059 00060 #endif 00061