Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



PvGenParameter.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2007, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVGENPARAMETER_H__
8 #define __PVGENPARAMETER_H__
9 
10 #include <PvGenICamLib.h>
11 #include <PvGenParameterList.h>
12 #include <PvGenTypes.h>
13 #include <PvGenApi.h>
14 
15 
16 class PvGenEventSink;
17 class PvGenParameterList;
18 
19 namespace PvGenICamLib
20 {
21  class GenParameterArray;
22  class GenParameterInternal;
23  class GenParameterArrayManager;
24 }
25 
26 
27 #ifdef PV_INTERNAL_HEADERS
28  class PvGenBoolean;
29  class PvGenCommand;
30  class PvGenEnum;
31  class PvGenFloat;
32  class PvGenInteger;
33  class PvGenRegister;
34  class PvGenString;
35 #endif // PV_INTERNAL_HEADERS
36 
38 {
39 public:
40 
41 #ifndef EBUS_PYTHON_DOXYGEN
42  PV_GENICAM_API PvString GetName() const;
43  PV_GENICAM_API PvResult GetName( PvString &aName ) const;
44  PV_GENICAM_API PvResult GetType( PvGenType &aType ) const;
45  PV_GENICAM_API PvResult GetCategory( PvString &aCategory ) const;
46  PV_GENICAM_API PvResult GetToolTip( PvString &aToolTip ) const;
47  PV_GENICAM_API PvResult GetDescription( PvString &aDescription ) const;
48  PV_GENICAM_API PvResult GetDisplayName( PvString &aDisplayName ) const;
49  PV_GENICAM_API PvResult GetNameSpace( PvGenNameSpace &aNameSpace ) const;
50 
51  PV_GENICAM_API PvResult IsValueCached( bool &aCached ) const;
52  PV_GENICAM_API PvResult IsPersistent( bool &aPersistent ) const;
53  PV_GENICAM_API PvResult IsImplemented( bool &aImplemented ) const;
54  PV_GENICAM_API PvResult IsAvailable( bool &aAvailable ) const;
55  PV_GENICAM_API PvResult IsWritable( bool &aWritable ) const;
56  PV_GENICAM_API PvResult IsReadable( bool &aReadable ) const;
57  PV_GENICAM_API PvResult IsStreamable( bool &aStreamable ) const;
58 
59  PV_GENICAM_API bool IsValueCached() const;
60  PV_GENICAM_API bool IsPersistent() const;
61  PV_GENICAM_API bool IsImplemented() const;
62  PV_GENICAM_API bool IsAvailable() const;
63  PV_GENICAM_API bool IsWritable() const;
64  PV_GENICAM_API bool IsReadable() const;
65  PV_GENICAM_API bool IsVisible( PvGenVisibility aCurrentVisibility ) const;
66  PV_GENICAM_API bool IsStreamable() const;
67 
68  PV_GENICAM_API PvResult GetVisibility( PvGenVisibility &aVisibility ) const;
69  PV_GENICAM_API PvResult IsVisible( PvGenVisibility aCurrentVisibility, bool &aVisible ) const;
70 
71  PV_GENICAM_API PvResult IsSelector( bool &aSelector ) const;
72  PV_GENICAM_API PvResult GetSelectedParameters( PvGenParameterList &aList ) const;
73  PV_GENICAM_API PvResult GetSelectingParameters( PvGenParameterList &aList ) const;
74 
75  PV_GENICAM_API PvResult RegisterEventSink( PvGenEventSink *aEventSink );
76  PV_GENICAM_API PvResult UnregisterEventSink( PvGenEventSink *aEventSink );
77 
78  PV_GENICAM_API PvString ToString() const;
79  PV_GENICAM_API PvResult ToString( PvString &aValue ) const;
80  PV_GENICAM_API PvResult FromString( const PvString &aValue );
81 
82  PV_GENICAM_API PV_GENAPI_NS::INode *GetNode();
83 
84  // Temporarily disable (or re-enable) parameter update notifications
85  PV_GENICAM_API bool GetUpdatesEnabled();
86  PV_GENICAM_API void SetUpdatesEnabled( bool aEnabled );
87 #else
88  PvString GetName();
94  PvGenNameSpace GetNameSpace();
95 
96  bool IsValueCached();
97  bool IsPersistent();
98  bool IsImplemented();
99  bool IsAvailable();
100  bool IsWritable();
101  bool IsReadable();
102  bool IsStreamable();
103 
106 
107  bool IsSelector();
110 
113 
114  PvString ToString();
115  const FromString();
116 
117  PV_GENAPI_NS::INode *GetNode();
118 
119  bool GetUpdatesEnabled();
120  void SetUpdatesEnabled( bool aEnabled );
121 #endif
122 
123 protected:
124 
125  PvGenParameter();
126  virtual ~PvGenParameter();
127 
128 #ifndef PV_GENERATING_DOXYGEN_DOC
129 
130  PvGenICamLib::GenParameterInternal *mThis;
131 
132  friend class PvGenICamLib::GenParameterArray;
133  friend class PvGenICamLib::GenParameterArrayManager;
134 
135 #endif // PV_GENERATING_DOXYGEN_DOC
136 
137 private:
138 
139  // Not implemented
140  PvGenParameter( const PvGenParameter & );
141  const PvGenParameter &operator=( const PvGenParameter & );
142 
143 };
144 
145 
147 {
148 public:
149 
150  virtual void OnParameterUpdate( PvGenParameter *aParameter ) = 0;
151 
152 };
153 
154 #endif
PvGenParameter::IsPersistent
bool IsPersistent() const
Test if the parameter is to be considered when saving the state of a GenICam interface to disk.
Definition: PvGenParameter.cpp:536
PvResult
Result information.
Definition: PvResult.h:13
PvGenParameter::GetNode
GenApi_3_3 ::INode * GetNode()
Returns the GenApi node wrapped by this PvGenParameter.
Definition: PvGenParameter.cpp:1420
PvGenParameter::IsStreamable
bool IsStreamable() const
Test if the parameter is streamable.
Definition: PvGenParameter.cpp:846
PvGenFloat
GenICam feature: Float.
Definition: PvGenFloat.h:13
PvGenRegister
GenICam feature: Register, or IRegister. A feature providing direct access to a section of the device...
Definition: PvGenRegister.h:13
PvGenParameter::IsValueCached
bool IsValueCached() const
Test if the parameter's value is cached in the PC.
Definition: PvGenParameter.cpp:464
PvGenParameter::GetCategory
PvResult GetCategory(PvString &aCategory) const
Get the parameter's category.
Definition: PvGenParameter.cpp:198
PvGenParameter::GetDisplayName
PvResult GetDisplayName(PvString &aDisplayName) const
Get the parameter's display name.
Definition: PvGenParameter.cpp:333
PvGenParameter::RegisterEventSink
PvResult RegisterEventSink(PvGenEventSink *aEventSink)
Register an event sink interface that will be used for callbacks on this parameter.
Definition: PvGenParameter.cpp:1194
PvString
String class.
Definition: PvString.h:21
PvGenParameter::GetToolTip
PvResult GetToolTip(PvString &aToolTip) const
Get the parameter's tool tip.
Definition: PvGenParameter.cpp:239
PvGenParameter::PvGenParameter
PvGenParameter()
Constructor.
Definition: PvGenParameter.cpp:34
PvGenParameter::GetNameSpace
PvResult GetNameSpace(PvGenNameSpace &aNameSpace) const
Get the parameter's name space.
Definition: PvGenParameter.cpp:377
PvGenParameter::GetSelectingParameters
PvResult GetSelectingParameters(PvGenParameterList &aList) const
Returns all selectors for this parameter.
Definition: PvGenParameter.cpp:1132
PvGenParameter::GetVisibility
PvResult GetVisibility(PvGenVisibility &aVisibility) const
Get the parameter's recommended user level (visibility)
Definition: PvGenParameter.cpp:882
PvGenParameter::GetUpdatesEnabled
bool GetUpdatesEnabled()
Returns true if parameter update notifications are temporarily disabled.
Definition: PvGenParameter.cpp:1388
PvGenParameterList
Class used to hold a group of PvGenParameter pointers.
Definition: PvGenParameterList.h:23
PvGenParameter::IsReadable
bool IsReadable() const
Test if the parameter is readable.
Definition: PvGenParameter.cpp:781
PvGenEventSink::OnParameterUpdate
virtual void OnParameterUpdate(PvGenParameter *aParameter)=0
Callback that is invoked when a feature's value is updated.
PvGenEventSink
Observer interface for an observable PvGenParameter object.
Definition: PvGenParameter.h:146
PvGenCommand
GenICam feature: Command. A feature which can only be activated.
Definition: PvGenCommand.h:13
PvGenParameter::IsImplemented
bool IsImplemented() const
Test if the parameter is implemented.
Definition: PvGenParameter.cpp:604
PvGenTypes.h
GenICam feature-related constants.
PvGenParameter::UnregisterEventSink
PvResult UnregisterEventSink(PvGenEventSink *aEventSink)
Unregister an event sink.
Definition: PvGenParameter.cpp:1241
PvGenParameter::FromString
PvResult FromString(const PvString &aValue)
Sets the parameter value from a string.
Definition: PvGenParameter.cpp:1360
PvGenBoolean
GenICam feature: Boolean. A feature which can either be true or false.
Definition: PvGenBoolean.h:13
PvGenParameter::IsSelector
PvResult IsSelector(bool &aSelector) const
Queries whether this parameter is a selector or not.
Definition: PvGenParameter.cpp:1033
PvGenString
GenICam feature: String.
Definition: PvGenString.h:13
PvGenParameter::GetDescription
PvResult GetDescription(PvString &aDescription) const
Get the parameter's description.
Definition: PvGenParameter.cpp:285
PvGenParameter::~PvGenParameter
virtual ~PvGenParameter()
Destructor.
Definition: PvGenParameter.cpp:40
PvGenParameter::GetName
PvString GetName() const
Get the parameter's name.
Definition: PvGenParameter.cpp:57
PvGenType
PvGenType
Feature data type (Boolean, integer, etc.)
Definition: PvGenTypes.h:22
PvGenParameter::GetType
PvResult GetType(PvGenType &aType) const
Get the parameter's type.
Definition: PvGenParameter.cpp:124
PvGenParameter
Base class for all GenICam feature types.
Definition: PvGenParameter.h:37
PvGenEnum
GenICam feature: Enumeration. A feature which can take one of many defined values.
Definition: PvGenEnum.h:14
PvGenParameter::GetSelectedParameters
PvResult GetSelectedParameters(PvGenParameterList &aList) const
Returns all parameters selected by this parameter.
Definition: PvGenParameter.cpp:1080
PvGenInteger
GenICam feature: Integer.
Definition: PvGenInteger.h:13
PvGenParameter::SetUpdatesEnabled
void SetUpdatesEnabled(bool aEnabled)
Temporarily disable (or re-enable) parameter update notifications.
Definition: PvGenParameter.cpp:1400
PvGenParameter::IsVisible
bool IsVisible(PvGenVisibility aCurrentVisibility) const
Test if the parameter is visible at the specified visibilty level.
Definition: PvGenParameter.cpp:1005
PvGenParameter::IsAvailable
bool IsAvailable() const
Test if the parameter is currently available, but may be available latter on.
Definition: PvGenParameter.cpp:660
PvGenVisibility
PvGenVisibility
Feature (PvGenParameter object) visibility.
Definition: PvGenTypes.h:11
PvGenParameter::ToString
PvString ToString() const
Gets the parameter value as a string.
Definition: PvGenParameter.cpp:1279
PvGenParameter::IsWritable
bool IsWritable() const
Test if the parameter is writable.
Definition: PvGenParameter.cpp:716

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