StringNode.h
Go to the documentation of this file.
00001 
00002 //-----------------------------------------------------------------------------
00003 //  (c) 2008 by Basler Vision Technologies
00004 //  Section: Vision Components
00005 //  Project: GenApi
00006 //  Author:  Fritz Dierks
00007 //  $Header$
00008 //
00009 //  License: This file is published under the license of the EMVA GenICam  Standard Group.
00010 //  A text file describing the legal terms is included in  your installation as 'GenICam_license.pdf'.
00011 //  If for some reason you are missing  this file please contact the EMVA or visit the website
00012 //  (http://www.genicam.org) for a full copy.
00013 //
00014 //  THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
00015 //  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00016 //  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 //  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD  GROUP
00018 //  OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,
00019 //  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  LIMITED TO,
00020 //  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  DATA, OR PROFITS;
00021 //  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  THEORY OF LIABILITY,
00022 //  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE)
00023 //  ARISING IN ANY WAY OUT OF THE USE  OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00024 //  POSSIBILITY OF SUCH DAMAGE.
00025 //-----------------------------------------------------------------------------
00032 #ifndef GENAPI_STRINGNODE_H
00033 #define GENAPI_STRINGNODE_H
00034 
00035 #include "GenApi/Types.h"
00036 #include "GenApi/IString.h"
00037 #include "GenApi/impl/BaseT.h"
00038 #include "GenApi/impl/ValueT.h"
00039 #include "GenApi/impl/NodeT.h"
00040 #include "GenApi/impl/StringT.h"
00041 #include "GenApi/impl/Node.h"
00042 #include "PolyReference.h"
00043 
00045 namespace GENAPI_NAMESPACE
00046 {
00047     // *************************************************************
00048     // CStringNode class
00049     // *************************************************************
00051 
00052     class CStringNodeImpl : public CNodeImpl, public IString
00053     {
00054     public:
00055         CStringNodeImpl(void);
00056 
00057 
00058         //-------------------------------------------------------------
00059         // Implementation of INodePrivate
00060         //-------------------------------------------------------------
00062         //\{
00063         virtual void FinalConstruct();
00065         virtual EAccessMode InternalGetAccessMode() const;
00067 
00068 
00070         virtual EInterfaceType InternalGetPrincipalInterfaceType() const
00071         {
00072             return intfIString;
00073         }
00074 
00075     protected:
00076         //-------------------------------------------------------------
00077         // Implementation of IValue
00078         //-------------------------------------------------------------
00080         //\{
00081         virtual GENICAM_NAMESPACE::gcstring InternalToString(bool Verify = false, bool IgnoreCache = false);
00082 
00084         virtual void InternalFromString(const GENICAM_NAMESPACE::gcstring& valueString, bool Verify = true);
00085 
00087         virtual bool InternalIsValueCacheValid() const;
00089 
00090 
00091         //\}
00092 
00093         //-------------------------------------------------------------
00094         // Implementation of IString
00095         //-------------------------------------------------------------
00097         //\{
00098 
00099         // Set node value
00100         virtual void InternalSetValue(const GENICAM_NAMESPACE::gcstring& Value, bool Verify = true);
00101 
00102         // Get node value
00103         virtual GENICAM_NAMESPACE::gcstring InternalGetValue(bool Verify = false, bool IgnoreCache = false);
00104         
00106         virtual int64_t InternalGetMaxLength();
00107 
00108         //\}
00109 
00110     public:
00111         //-------------------------------------------------------------
00112         // Initializing
00113         //-------------------------------------------------------------
00114         
00115         
00116         virtual void SetProperty(CProperty &Property);
00117         virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const;
00118         
00119         
00120     private:
00121 
00123         CStringPolyRef m_Value;
00124     };
00125 
00126 
00127     class CStringNode : public BaseT< ValueT< NodeT< StringT< CStringNodeImpl > > > >
00128     {
00129     };
00130 
00131 }
00132 
00133 #endif // GENAPI_STRINGNODE_H


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Thu Jun 6 2019 18:42:47