Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



PvGenParameterArray.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2007, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVGENPARAMETERARRAY_H__
8 #define __PVGENPARAMETERARRAY_H__
9 
10 #include <PvGenICamLib.h>
11 #include <PvGenString.h>
12 #include <PvGenInteger.h>
13 #include <PvGenEnum.h>
14 #include <PvGenFloat.h>
15 #include <PvGenCommand.h>
16 #include <PvGenBoolean.h>
17 #include <PvGenRegister.h>
18 #include <PvGenCategory.h>
19 
20 
21 namespace PvGenICamLib
22 {
23  class GenParameterArray;
24  class GenParameterArrayManager;
25 }
26 
27 namespace PvDeviceLib
28 {
29  class Device;
30 }
31 
32 
33 class PvGenFile;
36 
37 
39 {
40 public:
41 
42  PV_GENICAM_API PvGenParameterArray();
43  PV_GENICAM_API virtual ~PvGenParameterArray();
44 
45  PV_GENICAM_API uint32_t GetCount() const;
46  PV_GENICAM_API PvGenParameter *Get( uint32_t aIndex );
47  PV_GENICAM_API PvGenParameter *Get( const PvString &aName );
48 
49  PV_GENICAM_API PvGenParameter *operator[]( uint32_t aIndex );
50  PV_GENICAM_API PvGenParameter *operator[]( const PvString &aName );
51 
52  PV_GENICAM_API uint32_t GetCategoryCount() const;
53  PV_GENICAM_API PvGenCategory *GetCategory( uint32_t aIndex );
54  PV_GENICAM_API PvGenCategory *GetCategory( const PvString &aName );
55 
56  PV_GENICAM_API PvResult InvalidateCache();
57 
58  PV_GENICAM_API PV_GENAPI_NS::INodeMap *GetNodeMap();
59 
60  // Helper methods for direct feature access. Returns NULL on type mismatch.
61  PV_GENICAM_API PvGenInteger *GetInteger( const PvString &aName );
62  PV_GENICAM_API PvGenFloat *GetFloat( const PvString &aName );
63  PV_GENICAM_API PvGenEnum *GetEnum( const PvString &aName );
64  PV_GENICAM_API PvGenBoolean *GetBoolean( const PvString &aName );
65  PV_GENICAM_API PvGenCommand *GetCommand( const PvString &aName );
66  PV_GENICAM_API PvGenString *GetString( const PvString &aName );
67  PV_GENICAM_API PvGenRegister *GetRegister( const PvString &aName );
68 
69 #ifndef EBUS_PYTHON_DOXYGEN
70  // Helper methods for direct feature get/set
71  PV_GENICAM_API PvResult GetIntegerValue( const PvString &aName, int64_t &aValue );
72  PV_GENICAM_API PvResult SetIntegerValue( const PvString &aName, int64_t aValue );
73  PV_GENICAM_API PvResult GetFloatValue( const PvString &aName, double &aValue );
74  PV_GENICAM_API PvResult SetFloatValue( const PvString &aName, double aValue );
75  PV_GENICAM_API PvResult GetEnumValue( const PvString &aName, PvString &aValue );
76  PV_GENICAM_API PvResult GetEnumValue( const PvString &aName, int64_t &aValue );
77  PV_GENICAM_API PvResult SetEnumValue( const PvString &aName, const PvString &aValue );
78  PV_GENICAM_API PvResult SetEnumValue( const PvString &aName, int64_t aValue );
79  PV_GENICAM_API PvResult GetBooleanValue( const PvString &aName, bool &aValue );
80  PV_GENICAM_API PvResult SetBooleanValue( const PvString &aName, bool aValue );
81  PV_GENICAM_API PvResult GetStringValue( const PvString &aName, PvString &aValue );
82  PV_GENICAM_API PvResult SetStringValue( const PvString &aName, const PvString &aValue );
83  PV_GENICAM_API PvResult ExecuteCommand( const PvString &aName );
84 
85  // Range accessors
86  PV_GENICAM_API PvResult GetIntegerRange( const PvString &aName, int64_t &aMin, int64_t &aMax );
87  PV_GENICAM_API PvResult GetFloatRange( const PvString &aName, double &aMin, double &aMax );
88 
89  // Chunks
90  PV_GENICAM_API PvResult AttachDataChunks( uint8_t *aBuffer, uint32_t aBufferLength );
91  PV_GENICAM_API PvResult DetachDataChunks();
92 #else
93  int64_t GetIntegerValue( const PvString &aName );
94  PvResult SetIntegerValue( const PvString &aName, int64_t aValue );
95  double GetFloatValue( const PvString &aName );
96  PvResult SetFloatValue( const PvString &aName, double aValue );
97  PvString GetEnumValueString( const PvString &aName );
98  int64_t GetEnumValueInt( const PvString &aName );
99  PvResult SetEnumValue( const PvString &aName, const PvString &aValue );
100  PvResult SetEnumValue( const PvString &aName, int64_t aValue );
101  bool GetBooleanValue( const PvString &aName );
102  PvResult SetBooleanValue( const PvString &aName, bool aValue );
103  PvString GetStringValue( const PvString &aName );
104  PvResult SetStringValue( const PvString &aName, const PvString &aValue );
105  PvResult ExecuteCommand( const PvString &aName );
106  tuple GetIntegerRange( const PvString &aName );
107  tuple GetFloatRange( const PvString &aName );
108  PvResult AttachDataChunks( bytes aBuffer );
109  PvResult DetachDataChunks();
110 #endif
111 
112  PV_GENICAM_API PvGenAccessMode GetAccessMode() const;
113 
114  PV_GENICAM_API PvResult Poll();
115 
116 protected:
117 
118  PvGenICamLib::GenParameterArray *mThis;
119 
120 private:
121 
122  friend class PvGenFile;
123  friend class PvConfigurationWriter;
124  friend class PvConfigurationReader;
125  friend class PvGenICamLib::GenParameterArrayManager;
126  friend class PvDeviceLib::Device;
127 
128  // Not implemented
129  PvGenParameterArray( const PvGenParameterArray & );
130  const PvGenParameterArray &operator=( const PvGenParameterArray & );
131 
132 };
133 
134 #endif
String class.
Definition: PvString.h:21
Definition: PvGenCategory.h:15
Result information.
Definition: PvResult.h:13
GenICam category.
Definition: PvGenCategory.h:23
GenICam feature: Float.
Definition: PvGenFloat.h:13
Allows reading/writing to files hosted on the device.
Definition: PvGenFile.h:29
Save the state of the system.
Definition: PvConfigurationWriter.h:23
GenICam feature: Enumeration. A feature which can take one of many defined values.
Definition: PvGenEnum.h:14
Definition: PvActionCommand.h:13
GenICam feature: Boolean. A feature which can either be true or false.
Definition: PvGenBoolean.h:13
GenICam feature: Command. A feature which can only be activated.
Definition: PvGenCommand.h:13
Base class for all GenICam feature types.
Definition: PvGenParameter.h:37
GenICam feature array.
Definition: PvGenParameterArray.h:38
GenICam feature: Integer.
Definition: PvGenInteger.h:13
Restore the state of the system.
Definition: PvConfigurationReader.h:23
GenICam feature: String.
Definition: PvGenString.h:13
GenICam feature: Register, or IRegister. A feature providing direct access to a section of the device...
Definition: PvGenRegister.h:13

Copyright (c) 2002-2021 Pleora Technologies Inc.
www.pleora.com