Buffer Interface
BufferInterfaceProperties.h
Go to the documentation of this file.
1 #pragma once
2 #ifndef INCLUDED__BITFLOW__BUFFER_INTERFACE_PROPERTIES__H
3 #define INCLUDED__BITFLOW__BUFFER_INTERFACE_PROPERTIES__H
4 
5 #include "BufferInterface.h"
6 
13 namespace BufferAcquisition
14 {
20  enum class InterfaceType
21  {
22  Unknown = 0,
23 
24  Analog = 1,
25 
26  Differential = 2,
27  Dif = Differential,
28 
29  CameraLink = 3,
30  CL = CameraLink,
31 
32  CoaXPress = 4,
33  CXP = CoaXPress,
34  };
35 
41  enum class Trait
42  {
43  R2,
44  Rv,
45  R64,
46  R64Board,
47  CL,
48  R3,
49  PMC,
50  PLDA,
52  Kbn,
53  Kbn4,
54  Kbn2,
55  KbnBase,
56  KbnFull,
57  Neon,
58  NeonBase,
59  NeonD,
60  NeonQ,
61  NeonDif,
62  Alta,
63  AltaAN,
64  AltaCO,
65  AltaYPC,
66  Alta1,
67  Alta2,
68  Alta4,
69  Master,
70  Slave,
71  EncDiv,
72  NTG,
73  KbnCXP,
74  KbnCXP1,
75  KbnCXP2,
76  KbnCXP4,
77  Gn2,
78  Ctn,
79  CXP,
80  CtnCXP2,
81  CtnCXP4,
82  Axn,
83  Axn1xE,
84  Axn2xE,
85  Axn2xB,
86  Axn4xB,
87  Aon,
88  AonCXP1,
89  Synthetic
90  };
91 
93  {
94  public:
95  bool test (const Trait trait) const;
96 
97  InterfaceType interface_type (void) const;
98 
99  BFU32 vfg_number (void) const;
100 
101  std::string model_name (void) const;
102  bool get_model_name (char *const strBuf, size_t *const pBufSize) const;
103 
104  std::string family_name (void) const;
105  bool get_family_name (char *const strBuf, size_t *const pBufSize) const;
106 
107  private:
108  // PrivateData members.
109  struct PrivateData;
110  PrivateData &m_pd;
111 
112  // Valid constructors/destructors.
113  Properties (BufferInterface &bufin);
114  ~Properties (void);
115 
116  // The BufferInterface class is our friend.
117  friend class ::BufferAcquisition::BufferInterface;
118  friend struct ::BufferAcquisition::BufferInterface::PrivateData;
119 
120  // Deleted methods.
121  Properties (void);
122  Properties (Properties const&);
123  Properties& operator= (Properties const&);
124  };
125 }
126 
127 #endif // INCLUDED__BITFLOW__BUFFER_INTERFACE_PROPERTIES__H
unsigned long BFU32
Definition: BFTypeNT.h:55
Enumeration specifying the hardware interface type.
Class library for BitFlow frame grabber acquisition.
Definition: BFGTLUtilities.hpp:114
Enumeration specifying traits that a board may or may not have.
Static properties of an open BufferAcquisition::BufferInterface.
Definition: BufferInterfaceProperties.h:92
Base class for buffered acquisition using a BitFlow frame grabber.
Definition: BufferInterface.h:63