GenApi 3.5.1
SelectorSet.h
1//-----------------------------------------------------------------------------
2// (c) 2010 by Basler Vision Technologies
3// Author: Fritz Dierks
4//
5// License: This file is published under the license of the EMVA GenICam Standard Group.
6// A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
7// If for some reason you are missing this file please contact the EMVA or visit the website
8// (http://www.genicam.org) for a full copy.
9//
10// THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
11// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
12// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
13// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
14// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
15// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
16// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
17// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
18// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
20// POSSIBILITY OF SUCH DAMAGE.
21//
22//-----------------------------------------------------------------------------
27#ifndef GENAPI_SELECTORSET_H
28#define GENAPI_SELECTORSET_H
29
30#include <GenApi/GenApiDll.h>
31#include <GenApi/ISelectorDigit.h>
32#include <GenApi/IBase.h>
33#include <GenApi/Pointer.h>
34
35namespace GENAPI_NAMESPACE
36{
37
39 class GENAPI_DECL CSelectorSet : public ISelectorDigit
40 {
41 public:
44 IBase *pBase
45 );
46
48 virtual ~CSelectorSet();
49 private:
50 CSelectorSet(const CSelectorSet&); // copy constructor not implemented
51 CSelectorSet& operator=(const CSelectorSet&); // assignment operator is not implemented
52 public:
54 bool IsEmpty();
55
56
57 // Implementation of ISelectorDigit
58 public:
59 virtual bool SetFirst();
60 virtual bool SetNext(bool Tick = true);
61 virtual void Restore();
62 virtual GENICAM_NAMESPACE::gcstring ToString();
63 virtual void GetState(CSelectorState &state);
64 virtual void GetSelectorList( GENAPI_NAMESPACE::FeatureList_t &SelectorList, bool Incremental = false );
65
66 private:
67 struct SelectorIteratorList_t;
69 SelectorIteratorList_t *m_pSelectorIterators;
70 GENICAM_NAMESPACE::gcstring m_blockStart;
72
74 void ExploreSelector(
75 CNodePtr &ptrNode,
76 NodeList_t &SelectorNodes
77 );
78
80 void Create(
81 IBase* pBase
82 );
83 };
84
85}
86#endif
87
declspec's to be used for GenApi Windows dll
Definition of interface IBase.
virtual IBoolean & operator=(bool Value)
Set node value.
Definition IBoolean.h:62
node_vector NodeList_t
a list of node references
Definition INode.h:53
Definition of template CPointer.
The set of selectors selecting a given node.
Definition SelectorSet.h:40
bool IsEmpty()
returns true if no selectors are present
CSelectorSet(IBase *pBase)
Constructor.
virtual ~CSelectorSet()
Destructor.
A string class which is a clone of std::string.
Definition GCString.h:51