29 #ifndef AVT_VMBAPI_USERSHAREDPOINTERDEFINES_H 30 #define AVT_VMBAPI_USERSHAREDPOINTERDEFINES_H 56 #define SP_DECL( T ) std::shared_ptr<T> 58 #define SP_SET( sp, rawPtr ) (sp).reset( rawPtr ) 60 #define SP_RESET( sp ) (sp).reset() 62 #define SP_ISEQUAL( sp1, sp2 ) ( (sp1) == (sp2) ) 64 #define SP_ISNULL( sp ) ( NULL == (sp) ) 66 #define SP_ACCESS( sp ) (sp).get() 68 #define SP_DYN_CAST( sp, T ) std::dynamic_pointer_cast<T>(sp) 72 typedef SP_DECL( Interface ) InterfacePtr;
75 typedef SP_DECL( Camera ) CameraPtr;
78 typedef SP_DECL( Feature ) FeaturePtr;
80 class FeatureContainer;
81 typedef SP_DECL( FeatureContainer ) FeatureContainerPtr;
83 class IFeatureObserver;
84 typedef SP_DECL( IFeatureObserver ) IFeatureObserverPtr;
87 typedef SP_DECL( Frame ) FramePtr;
90 typedef SP_DECL( FrameHandler ) FrameHandlerPtr;
93 typedef SP_DECL( IFrameObserver ) IFrameObserverPtr;
96 typedef SP_DECL( AncillaryData ) AncillaryDataPtr;
98 class ConstAncillaryData;
99 typedef SP_DECL(
const AncillaryData ) ConstAncillaryDataPtr;
101 class ICameraFactory;
102 typedef SP_DECL( ICameraFactory ) ICameraFactoryPtr;
104 class ICameraListObserver;
105 typedef SP_DECL( ICameraListObserver ) ICameraListObserverPtr;
107 class IInterfaceListObserver;
108 typedef SP_DECL( IInterfaceListObserver ) IInterfaceListObserverPtr;
111 typedef SP_DECL( Mutex ) MutexPtr;
114 typedef SP_DECL( BasicLockable ) BasicLockablePtr;
119 #endif //AVT_VMBAPI_USERSHAREDPOINTERDEFINES_H typedef SP_DECL(Interface) InterfacePtr