UserSharedPointerDefines.h
Go to the documentation of this file.
00001 #ifndef AVT_VMBAPI_USERSHAREDPOINTER_H
00002 #define AVT_VMBAPI_USERSHAREDPOINTER_H
00003 
00004 #include "..\..\..\..\VimbaNET\Include\NetPointer.h"
00005     
00006 namespace AVT {
00007 namespace VmbAPINET {
00008 
00009 ref class Camera;
00010 ref class Interface;
00011 ref class Frame;
00012 ref class Feature;
00013 ref class AncillaryData;
00014 
00015 };
00016 };
00017 
00018 namespace AVT {
00019 namespace VmbAPI {
00020 
00021 // Set the calls for your implementation of the shared pointer functions
00022 // a) Declaration
00023 // b) Reset with argument
00024 // c) Reset without argument
00025 // d) == operator
00026 // e) NULL test
00027 // f) Access to underlying raw pointer
00028 
00029 // a) This is the define for a declaration.
00030 #define SP_DECL( T )                    NetPointer<T>
00031 // b) This is the define for setting an existing shared pointer.
00032 #define SP_SET( sp, rawPtr )    sp.Reset( rawPtr )
00033 // c) This is the define for resetting without an argument to decrease the ref count.
00034 #define SP_RESET( sp )                  sp.Reset()
00035 // d) This is the define for the equal operator. Shared pointers are usually considered equal when the raw pointers point to the same address.
00036 #define SP_ISEQUAL( sp1, sp2 )  sp1.IsEqualTo(sp2)
00037 // e) This is the define for the NULL check.
00038 #define SP_ISNULL( sp )         sp.IsNull()
00039 // f) This is the define for the raw pointer access. This is usually accomplished through the dereferencing operator (->).
00040 #define SP_ACCESS( sp )         sp.AccessNative()
00041 
00042 class Camera;
00043 typedef NetPointer<Camera, AVT::VmbAPINET::Camera> CameraPtr;
00044 
00045 class Interface;
00046 typedef NetPointer<Interface, AVT::VmbAPINET::Interface> InterfacePtr;
00047 
00048 class Feature;
00049 typedef NetPointer<Feature, AVT::VmbAPINET::Feature> FeaturePtr;
00050         
00051 class FeatureContainer;
00052 typedef SP_DECL( FeatureContainer ) FeatureContainerPtr;
00053 
00054 class IFeatureObserver;
00055 typedef SP_DECL( IFeatureObserver ) IFeatureObserverPtr;
00056 
00057 class Frame;
00058 typedef NetPointer<Frame, AVT::VmbAPINET::Frame> FramePtr;
00059 
00060 class FrameHandler;
00061 typedef SP_DECL( FrameHandler ) FrameHandlerPtr;
00062 
00063 class IFrameObserver;
00064 typedef SP_DECL( IFrameObserver ) IFrameObserverPtr;
00065 
00066 class AncillaryData;
00067 typedef NetPointer<AncillaryData, AVT::VmbAPINET::AncillaryData> AncillaryDataPtr;
00068 typedef NetPointer<AncillaryData, AVT::VmbAPINET::AncillaryData> ConstAncillaryDataPtr;
00069 
00070 class ICameraFactory;
00071 typedef SP_DECL( ICameraFactory) ICameraFactoryPtr;
00072 
00073 class IInterfaceListObserver;
00074 typedef SP_DECL( IInterfaceListObserver ) IInterfaceListObserverPtr;
00075 
00076 class ICameraListObserver;
00077 typedef SP_DECL( ICameraListObserver ) ICameraListObserverPtr;
00078 
00079 class Mutex;
00080 typedef SP_DECL( Mutex ) MutexPtr;
00081 
00082 class BasicLockable;
00083 typedef SP_DECL( BasicLockable ) BasicLockablePtr;
00084 
00085 }}
00086 
00087 #include "..\..\..\..\VimbaNET\Include\NetCamera.h"
00088 #include "..\..\..\..\VimbaNET\Include\NetInterface.h"
00089 #include "..\..\..\..\VimbaNET\Include\NetFrame.h"
00090 #include "..\..\..\..\VimbaNET\Include\NetFeature.h"
00091 #include "..\..\..\..\VimbaNET\Include\NetAncillaryData.h"
00092 
00093 #endif /* AVT_VMBAPI_USERSHAREDPOINTER_H */


avt_vimba_camera
Author(s): Miquel Massot , Allied Vision Technologies
autogenerated on Thu Jun 6 2019 18:23:39