/* * Copyright (c) 2015-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include #include #include #include namespace Swift { class SWIFTEN_API FormPage { public: typedef std::shared_ptr page; FormPage (); ~FormPage(); void setLabel(const std::string& label); const std::string& getLabel() const; void addChildSection(std::shared_ptr section); const std::vector >& getChildSections() const; void addTextElement(std::shared_ptr textElement); const std::vector >& getTextElements() const; void addReportedRef(std::shared_ptr reportedRef); const std::vector >& getReportedRefs() const; void addField(std::shared_ptr field); const std::vector >& getFields() const; void addFieldRef(std::string ref); const std::vector getFieldRefs() const; private: std::string label_; std::vector > textElements_; std::vector > childSections_; std::vector > reportedRefs_; std::vector > fields_; std::vector fieldRefs_; }; }