#pragma once #include "IntRange.h" #include "Element.h" namespace OTSDATA { // CElementRange command target class __declspec(dllexport) CElementRange : public xmls::ISlo { /*protected: DECLARE_SERIAL(CElementRange)*/ public: CElementRange(); // constructor CElementRange(const CElementRange&); // copy constructor CElementRange(CElementRange*); // copy constructor CElementRange& operator=(const CElementRange&); // =operator BOOL operator==(const CElementRange&); // ==operator virtual ~CElementRange(); // destructor // serialization //void Serialize(CArchive& ar); void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // element CElementPtr GetElement() { return m_poElement; } void SetElement(CElementPtr a_poElement); // % x 100 range CIntRangePtr GetRange() { return m_poRange; } void SetRange(CIntRangePtr a_poRange); protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CElementRange& a_oSource); // element CElementPtr m_poElement; // % x 100 range CIntRangePtr m_poRange; }; typedef std::shared_ptr __declspec(dllexport) CElementRangePtr; typedef std::vector __declspec(dllexport) CElementRangeList; }