GenApi 3.5.1
SelectorState.h
1//-----------------------------------------------------------------------------
2// (c) 2009 by Teledyne Digital Imaging Inc.
3// Author: Eric Bourbonnais
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_SELECTORSTATE_H
28#define GENAPI_SELECTORSTATE_H
29
30#include <GenApi/Types.h>
31#include <GenApi/IValue.h>
32
33namespace GENAPI_NAMESPACE
34{
35
36 class GENAPI_DECL CSelectorState
37 {
38 GENICAM_NAMESPACE::gcstring_vector m_Names;
39 GENICAM_NAMESPACE::gcstring_vector m_Values;
40
41 size_t m_position;
42
43 public:
44 CSelectorState();
45
48 bool SetFirst();
49
52 bool SetNext();
53
55 void AddSelector(IValue& item);
56
58 void AddSelector(GENICAM_NAMESPACE::gcstring name,
60
62 GENICAM_NAMESPACE::gcstring GetNodeName();
63
65 GENICAM_NAMESPACE::gcstring GetNodeValue();
66
69 bool IsEmpty();
70
74 bool RestoreState(INodeMap *pNodeMap, GENICAM_NAMESPACE::gcstring_vector *pErrorList = NULL);
75 };
76
77}
78#endif // GENAPI_SELECTORSTATE_H
Definition of the interface IValue.
Common types used in the public GenApi interface.
A string class which is a clone of std::string.
Definition GCString.h:51