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 
35 namespace GENAPI_NAMESPACE
36 {
37 
39  class GENAPI_DECL CSelectorSet : public ISelectorDigit
40  {
41  public:
43  CSelectorSet (
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;
71  GENICAM_NAMESPACE::gcstring m_blockEnd;
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 
Definition of interface IBase.
node_vector NodeList_t
a list of node references
Definition: INode.h:53
The set of selectors selecting a given node.
Definition: SelectorSet.h:39
virtual IBoolean & operator=(bool Value)
Set node value.
Definition: IBoolean.h:62
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IBase
Base interface common to all nodes.
Definition: IBase.h:53
Definition of template CPointer.
A string class which is a clone of std::string.
Definition: GCString.h:50
declspec&#39;s to be used for GenApi Windows dll
Definition: ChunkAdapter.h:37