Liquid XML Data Binder 2020
In This Topic
    MyRootObject.h
    In This Topic
    /**********************************************************************************************
     * Copyright (c) 2001-2020 Liquid Technologies Limited. All rights reserved.
     * See www.liquid-technologies.com for product details.
     *
     * Please see products End User License Agreement for distribution permissions.
     *
     * WARNING: THIS FILE IS GENERATED
     * Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten
     *
     * Generation  :  by Liquid XML Data Binder 17.0.1.9233
     * Using Schema: Cardinality.xsd
     **********************************************************************************************/
    #ifndef _CardinalityLib_CardinalityLib_CMyRootObject_h 
    #define _CardinalityLib_CardinalityLib_CMyRootObject_h 
    
    // Include Base classes
    #include "../CardinalityLib/AComplexMandatoryElement.h" 
    #include "../CardinalityLib/AComplexOptionalElement.h" 
    #include "../CardinalityLib/AComplexCollectionElementCol.h" 
    #include "../CardinalityLib/AComplexCollectionElement.h" 
    
    // ##HAND_CODED_BLOCK_START ID="Additional Includes"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
    
    // Add Additional Includes here...
    
    // ##HAND_CODED_BLOCK_END ID="Additional Includes"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
    
    // Forward declarations - done like this to keep the intellisense happy
    namespace CardinalityLib    {   class CClassFactory; };
    
    namespace CardinalityLib
    {
        /*
         * CMyRootObject
         *  
         * This class wraps the element MyRootObject in the schema
         */
        class CardinalityLib_DLL CMyRootObject : public CInstanceMonitor
                        , public virtual CardinalityLib::CXmlCommonBase
    // ##HAND_CODED_BLOCK_START ID="Additional Base Classes"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
    // Add Additional base classes here...
    // ##HAND_CODED_BLOCK_END ID="Additional Base Classes"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
        {
        public:
            static CardinalityLib::CMyRootObjectPtr CreateInstance(LPCTSTR lpctElementName=_T("MyRootObject"));
    
        protected:
            CMyRootObject(LPCTSTR lpctElementName=_T("MyRootObject"));
            virtual ~CMyRootObject();
            friend class CardinalityLib::CClassFactory;
        
            virtual void Init();
            virtual void AccessProperty(int iPropertyIndex, bool read, LtXmlLib18::LtVariant& rValue);
            virtual LtXmlLib18Data::CParentElementInfo* GetClassInfo() const;
            virtual LtXmlLib18Data::CElementInfo** GetClassElementInfo() const;
            virtual LtXmlLib18Data::CAttributeInfo** GetClassAttributeInfo() const;
            
            static  void CleanMetaData();
                    void Cleanup();
            virtual void OnEvent(LtXmlLib18::CXmlObjectBase* pMsgSource, LtXmlLib18::IEventSink::MsgType eMsgType, void* pData);
    
        public:
            std::tstring GetASimpleStringMandatoryElement() const;
            void SetASimpleStringMandatoryElement(std::tstring val);
        protected:
            std::tstring m_ASimpleStringMandatoryElement;
    
        public:
            LtXmlLib18::CDateTime GetASimpleDateMandatoryElement() const;
            void SetASimpleDateMandatoryElement(LtXmlLib18::CDateTime val);
        protected:
            LtXmlLib18::CDateTime m_ASimpleDateMandatoryElement;
    
        public:
            CardinalityLib::CAComplexMandatoryElementPtr GetAComplexMandatoryElement() const;
            void SetAComplexMandatoryElement(CardinalityLib::CAComplexMandatoryElement* value);
        protected:
            CardinalityLib::CAComplexMandatoryElementPtr m_AComplexMandatoryElement;
    
        public:
            std::tstring GetASimpleStringOptionalElement() const;
            void SetASimpleStringOptionalElement(std::tstring val);
            bool IsValidASimpleStringOptionalElement() const;
            void SetValidASimpleStringOptionalElement(bool val);
        protected:
            bool m_IsValidASimpleStringOptionalElement;
            std::tstring m_ASimpleStringOptionalElement;
    
        public:
            LtXmlLib18::CDateTime GetASimpleDateOptionalElement() const;
            void SetASimpleDateOptionalElement(LtXmlLib18::CDateTime val);
            bool IsValidASimpleDateOptionalElement() const;
            void SetValidASimpleDateOptionalElement(bool val);
        protected:
            bool m_IsValidASimpleDateOptionalElement;
            LtXmlLib18::CDateTime m_ASimpleDateOptionalElement;
    
        public:
            CardinalityLib::CAComplexOptionalElementPtr GetAComplexOptionalElement() const;
            void SetAComplexOptionalElement(CardinalityLib::CAComplexOptionalElement* value);
        protected:
            CardinalityLib::CAComplexOptionalElementPtr m_AComplexOptionalElement;
    
        public:
            LtXmlLib18::CstringColPtr GetASimpleStringCollectionElement() const;
        protected:
            LtXmlLib18::CstringColPtr m_ASimpleStringCollectionElement;
    
        public:
            LtXmlLib18::CdateColPtr GetASimpleDateCollectionElement() const;
        protected:
            LtXmlLib18::CdateColPtr m_ASimpleDateCollectionElement;
    
        public:
            CardinalityLib::CAComplexCollectionElementColPtr GetAComplexCollectionElement() const;
        protected:
            CardinalityLib::CAComplexCollectionElementColPtr m_AComplexCollectionElement;
    
    
    
        public:
            // Performs a 'deep copy' of all the data in the class (and its children)
            virtual CardinalityLib::CMyRootObjectPtr Clone() const;
    
            virtual std::tstring GetTargetNamespace() const;
            virtual std::tstring GetNamespace() const;
            virtual LtXmlLib18::CXmlObjectBase* GetBase();
    
        // Internal data for XML serialization
        private:
            static LtXmlLib18Data::CParentElementInfo* ms_pParentElementInfo;
            static LtXmlLib18Data::CElementInfo** ms_ppElementInfo;
            static LtXmlLib18Data::CAttributeInfo** ms_ppAttributeInfo;
    
    // ##HAND_CODED_BLOCK_START ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
    
    // Add Additional Methods here...
    
    // ##HAND_CODED_BLOCK_END ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
        };
    }; // end namespace (CardinalityLib)
    
    
    #endif // _CardinalityLib_CMyRootObject_h