All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Category.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2006 by Basler Vision Technologies
3 // Section: Vision Components
4 // Project: GenApi
5 // Author: Fritz Dierks
6 // $Header$
7 //
8 // License: This file is published under the license of the EMVA GenICam Standard Group.
9 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 // If for some reason you are missing this file please contact the EMVA or visit the website
11 // (http://www.genicam.org) for a full copy.
12 //
13 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 // POSSIBILITY OF SUCH DAMAGE.
24 //-----------------------------------------------------------------------------
31 #ifndef GENAPI_CATEGORY_H
32 #define GENAPI_CATEGORY_H
33 
34 #include "../ICategory.h"
35 #include "Node.h"
36 #include "BaseT.h"
37 #include "ValueT.h"
38 #include "NodeT.h"
39 #include "NodeMap.h"
40 
41 namespace GENAPI_NAMESPACE
42 {
43 
44  //*************************************************************
45  // CCategory class
46  //*************************************************************
47 
53  class CCategoryImpl : public CNodeImpl, public ICategory
54  {
55  public:
56 
58  CCategoryImpl();
59 
60  //-------------------------------------------------------------
61  // IValue implementation (partial only)
62  //-------------------------------------------------------------
63 
64  protected:
66  virtual INode* InternalGetNode();
67 
69  virtual GENICAM_NAMESPACE::gcstring InternalToString(bool /*Verify = false*/, bool /*IgnoreCache = false*/)
70  {
71  return InternalGetNode()->GetDisplayName();
72  }
73 
75  #pragma BullseyeCoverage off
76  virtual void InternalFromString(const GENICAM_NAMESPACE::gcstring& /*ValueStr*/, bool /*Verify*/ )
77  {
78  // Categories are read-only
79  assert(false);
80  }
81  #pragma BullseyeCoverage on
82  virtual void Override(EVisibility newVisibility);
83  public:
84  //-------------------------------------------------------------
85  // ICategory implementation
86  //-------------------------------------------------------------
87 
89  virtual void GetFeatures(FeatureList_t &Features) const;
90 
91 
92  virtual void SetProperty( CProperty &Property );
93  virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const;
94 
95  virtual void FinalConstruct();
96 
98  virtual EAccessMode InternalGetAccessMode() const;
99 
102  {
103  return intfICategory;
104  }
105 
106  void SetInvalid(ESetInvalidMode simMode);
107 
109  FeatureList_t m_Features;
110  };
111 
112  class CCategory : public BaseT< ValueT< NodeT< CCategoryImpl > > >
113  {
114  };
115 
116 }
117 
118 #endif // ifndef GENAPI_CATEGORY_H
GENAPI_NAMESPACE
Lexical analyzer for CIntSwissKnife.
Definition: Destructible.h:30
GENAPI_NAMESPACE::CCategoryImpl::GetProperty
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
GENAPI_NAMESPACE::EAccessMode
enum GENAPI_NAMESPACE::_EAccessMode EAccessMode
access mode of a node
GENAPI_NAMESPACE::CCategoryImpl::GetFeatures
virtual void GetFeatures(FeatureList_t &Features) const
Get all features of the category (including sub-categories)
NodeMap.h
Declaration of CNodeMap.
GENAPI_NAMESPACE::CCategoryImpl
Holds a list of features and sub-categories.
Definition: Category.h:53
GENAPI_NAMESPACE::CNodeImpl
Standard implementation for the INode and the ISelector interface.
Definition: Node.h:86
GENICAM_NAMESPACE::gcstring
A string class which is a clone of std::string.
Definition: GCString.h:52
NodeT.h
Definition of the NodeT class template.
GENAPI_NAMESPACE::CCategoryImpl::InternalGetAccessMode
virtual EAccessMode InternalGetAccessMode() const
Returns the current access mode of the node.
GENAPI_NAMESPACE::CCategoryImpl::InternalFromString
virtual void InternalFromString(const GENICAM_NAMESPACE::gcstring &, bool)
Set content of the node as string.
Definition: Category.h:76
GENAPI_NAMESPACE::CCategoryImpl::SetInvalid
void SetInvalid(ESetInvalidMode simMode)
GENAPI_NAMESPACE::CCategory
Definition: Category.h:112
GENAPI_NAMESPACE::BaseT
Implementation of the IBase interface.
Definition: BaseT.h:48
GENAPI_NAMESPACE::CCategoryImpl::Override
virtual void Override(EVisibility newVisibility)
GENAPI_NAMESPACE::EInterfaceType
enum GENAPI_NAMESPACE::_EInterfaceType EInterfaceType
typedef for interface type
BaseT.h
Definition of the BaseT class template.
Node.h
GENAPI_NAMESPACE::ESetInvalidMode
ESetInvalidMode
Three different modes of operation for INodePrivate::SetInvalid()
Definition: INodePrivate.h:91
GENAPI_NAMESPACE::INode
GENICAM_INTERFACE INode
Interface common to all nodes.
Definition: ICategory.h:51
GENAPI_NAMESPACE::CCategoryImpl::CCategoryImpl
CCategoryImpl()
Constructor.
GENAPI_NAMESPACE::CCategoryImpl::FinalConstruct
virtual void FinalConstruct()
GENAPI_NAMESPACE::intfICategory
@ intfICategory
ICategory interface.
Definition: Types.h:198
GENAPI_NAMESPACE::CCategoryImpl::InternalGetNode
virtual INode * InternalGetNode()
Get the INode interface of the node.
GENAPI_NAMESPACE::CCategoryImpl::SetProperty
virtual void SetProperty(CProperty &Property)
GENAPI_NAMESPACE::EVisibility
enum GENAPI_NAMESPACE::_EVisibility EVisibility
recommended visibility of a node
GENAPI_NAMESPACE::CCategoryImpl::InternalGetPrincipalInterfaceType
virtual EInterfaceType InternalGetPrincipalInterfaceType() const
Implementation of IBase::GetPrincipalInterfaceType()
Definition: Category.h:101
ValueT.h
Definition of the ValueT class template.
GENAPI_NAMESPACE::ICategory
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT ICategory
Gives access to a category node.
Definition: ICategory.h:66
GENAPI_NAMESPACE::CCategoryImpl::m_Features
FeatureList_t m_Features
List of node references to features.
Definition: Category.h:109
GENAPI_NAMESPACE::CCategoryImpl::InternalToString
virtual GENICAM_NAMESPACE::gcstring InternalToString(bool, bool)
Get display name of the node as string.
Definition: Category.h:69


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Dec 4 2024 03:10:11