30 #ifndef GENAPI_INODE_H 31 #define GENAPI_INODE_H 42 # pragma warning ( push ) 43 # pragma warning ( disable : 4251 ) // XXX needs to have dll-interface to be used by clients of class YYY 49 GENICAM_INTERFACE
INode;
68 GENICAM_INTERFACE GENAPI_DECL_ABSTRACT
INode :
virtual public IBase 140 virtual void GetPropertyNames(GENICAM_NAMESPACE::gcstring_vector &PropertyNames)
const = 0;
153 virtual INode*
GetAlias()
const = 0;
178 return RO == AccessMode ||
RW == AccessMode;
184 return (p != NULL) &&
IsReadable( p->GetAccessMode() );
196 return WO == AccessMode ||
RW == AccessMode;
202 return (p != NULL) &&
IsWritable( p->GetAccessMode() );
214 return AccessMode !=
NI;
232 return ! ( AccessMode ==
NA || AccessMode ==
NI );
238 return (p != NULL) &&
IsAvailable(p->GetAccessMode() );
253 if( Peter ==
NI || Paul ==
NI )
255 else if( Peter ==
NA || Paul ==
NA )
257 else if( (Peter ==
RO && Paul ==
WO) || (Peter ==
WO && Paul ==
RO) )
259 else if( Peter ==
WO || Paul ==
WO )
261 else if( Peter ==
RO || Paul ==
RO )
272 return (Visibility <= MaxVisiblity);
284 else if( Peter ==
Guru || Paul ==
Guru )
296 return (CachingMode !=
NoCache);
318 # pragma warning ( pop ) 321 #endif // ifndef GENAPI_INODE_H Definition of interface IBase.
virtual bool DeregisterCallback(CallbackHandleType hCallback)=0
De register change callback.
Object is not yet initialized.
Definition: Types.h:71
Common types used in the public GenApi interface.
bool IsImplemented(const IBase &r)
Checks if a node is implemented.
Definition: INode.h:224
virtual bool IsDeprecated() const =0
True if the node should not be used any more.
virtual INode * GetCastAlias() const =0
Retrieves the a node which describes the same feature so that it can be casted.
virtual GENICAM_NAMESPACE::gcstring GetDescription() const =0
Get a long description of the node.
bool IsAvailable(const IBase &r)
Checks if a node is available.
Definition: INode.h:242
enum GENAPI_NAMESPACE::_ENameSpace ENameSpace
virtual INodeMap * GetNodeMap() const =0
Retrieves the central node map.
Write Only.
Definition: Types.h:56
GENICAM_INTERFACE INode
Interface common to all nodes.
Definition: ICategory.h:49
enum GENAPI_NAMESPACE::_EYesNo EYesNo
bool IsCacheable(ECachingMode CachingMode)
Tests Cacheability.
Definition: INode.h:294
Visible for Gurus.
Definition: Types.h:69
ECachingMode Combine(ECachingMode Peter, ECachingMode Paul)
Computes which CachingMode results from a combination.
Definition: INode.h:300
virtual CallbackHandleType RegisterCallback(CNodeCallback *pCallback)=0
Register change callback.
enum GENAPI_NAMESPACE::_ELinkType ELinkType
typedef for link type
enum GENAPI_NAMESPACE::_ECachingMode ECachingMode
Do not use cache.
Definition: Types.h:78
enum GENAPI_NAMESPACE::_EVisibility EVisibility
callback body instance for INode pointers
Definition: NodeCallback.h:53
virtual ECachingMode GetCachingMode() const =0
Get Caching Mode.
virtual GENAPI_NAMESPACE::ENameSpace GetNameSpace() const =0
Get name space.
virtual void ImposeVisibility(EVisibility ImposedVisibility)=0
Imposes a visibility to the natural visibility of the node.
node_vector NodeList_t
a list of node references
Definition: INode.h:53
virtual GENICAM_NAMESPACE::gcstring GetEventID() const =0
Get the EventId of the node.
Not Visible.
Definition: Types.h:70
bool IsWritable(const IBase &r)
Checks if a node is writable.
Definition: INode.h:206
virtual EYesNo IsAccessModeCacheable() const =0
True if the AccessMode can be cached.
enum GENAPI_NAMESPACE::_EAccessMode EAccessMode
virtual INode * GetAlias() const =0
Retrieves the a node which describes the same feature in a different way.
virtual EVisibility GetVisibility() const =0
Get the recommended visibility of the node.
Write to cache and register.
Definition: Types.h:79
Write to register, write to cache on read.
Definition: Types.h:80
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IBase
Base interface common to all nodes.
Definition: IBase.h:53
bool IsVisible(EVisibility Visibility, EVisibility MaxVisiblity)
Tests Visibility.
Definition: INode.h:270
virtual bool IsFeature() const =0
True if the node can be reached via category nodes from a category node named "Root".
Read and Write.
Definition: Types.h:58
Visible for experts or Gurus.
Definition: Types.h:68
Read Only.
Definition: Types.h:57
virtual EInterfaceType GetPrincipalInterfaceType() const =0
Get the type of the main interface of a node.
Not available.
Definition: Types.h:55
Object is not yet initialized.
Definition: Types.h:59
virtual void GetParents(GENAPI_NAMESPACE::NodeList_t &Parents) const =0
Gets all nodes this node is directly depending on.
virtual void InvalidateNode()=0
Indicates that the node's value may have changed.
Not yet initialized.
Definition: Types.h:81
bool IsReadable(const IBase &r)
Checks if a node is readable.
Definition: INode.h:188
Always visible.
Definition: Types.h:67
enum GENAPI_NAMESPACE::_EInterfaceType EInterfaceType
virtual GENICAM_NAMESPACE::gcstring GetDisplayName() const =0
Get a name string for display.
intptr_t CallbackHandleType
the callback handle for nodes
Definition: INode.h:56
GENICAM_INTERFACE INodeMap
Interface to access the node map.
Definition: INode.h:50
virtual void ImposeAccessMode(EAccessMode ImposedAccessMode)=0
Imposes an access mode to the natural access mode of the node.
A string class which is a clone of std::string.
Definition: GCString.h:50
virtual bool IsCachable() const =0
Is the node value cachable.
virtual bool GetProperty(const GENICAM_NAMESPACE::gcstring &PropertyName, GENICAM_NAMESPACE::gcstring &ValueStr, GENICAM_NAMESPACE::gcstring &AttributeStr)=0
Retrieves a property plus an additional attribute by name.
virtual GENICAM_NAMESPACE::gcstring GetToolTip()=0
Get tool tip.
virtual void GetPropertyNames(GENICAM_NAMESPACE::gcstring_vector &PropertyNames) const =0
Returns a list of the names all properties set during initialization.
Portable string implementation.
virtual void GetChildren(GENAPI_NAMESPACE::NodeList_t &Children, ELinkType LinkType=ctReadingChildren) const =0
Get all nodes this node directly depends on.
All nodes which can be read from.
Definition: Types.h:209
declspec's to be used for GenApi Windows dll
virtual GENICAM_NAMESPACE::gcstring GetDeviceName() const =0
Get a name of the device.
Portable container classes for INode & IValue pointers.
Not implemented.
Definition: Types.h:54
virtual bool IsStreamable() const =0
True if the node is streamable.
Definition: ChunkAdapter.h:37
virtual GENICAM_NAMESPACE::gcstring GetDocuURL() const =0
Gets a URL pointing to the documentation of that feature.
virtual int64_t GetPollingTime() const =0
recommended polling time (for not cachable nodes)