search/mag_sel search/close
SmartTag.h
1 // Copyright 2001-2021 Aspose Pty Ltd. All Rights Reserved.
3 //
4 // This file is part of Aspose.Words. The source code in this file
5 // is only intended as a supplement to the documentation, and is provided
6 // "as is", without warranty of any kind, either expressed or implied.
9 #pragma once
10 
11 #include <system/string.h>
12 
13 #include <Aspose.Words.Cpp/NodeType.h>
14 #include <Aspose.Words.Cpp/CompositeNode.h>
15 #include <Aspose.Words.Cpp/Markup/MarkupLevel.h>
16 #include <Aspose.Words.Cpp/Markup/IMarkupNode.h>
17 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
18 
19 namespace Aspose { namespace Words { namespace Validation { class DocumentPostLoader; } } }
20 namespace Aspose { namespace Words { namespace Markup { class CustomXmlPropertyCollection; } } }
21 namespace Aspose { namespace Words { class DocumentBase; } }
22 namespace Aspose { namespace Words { class Node; } }
23 namespace Aspose { namespace Words { class INodeCloningListener; } }
24 namespace Aspose { namespace Words { class DocumentVisitor; } }
25 namespace Aspose { namespace Words { enum class VisitorAction; } }
26 
27 namespace Aspose {
28 
29 namespace Words {
30 
31 namespace Markup {
32 
152 class ASPOSE_WORDS_SHARED_CLASS SmartTag : public Aspose::Words::CompositeNode, public Aspose::Words::Markup::IMarkupNode
153 {
154  typedef SmartTag ThisType;
156  typedef Aspose::Words::Markup::IMarkupNode BaseType1;
157 
158  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
159  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
160 
161  friend class Aspose::Words::Validation::DocumentPostLoader;
162 
163 public:
164  using Aspose::Words::CompositeNode::Clone;
165 
166 public:
167 
212  ASPOSE_WORDS_SHARED_API Aspose::Words::NodeType get_NodeType() const override;
213 
319  ASPOSE_WORDS_SHARED_API System::String get_Element() const;
320 
322  ASPOSE_WORDS_SHARED_API void set_Element(System::String value);
323 
429  ASPOSE_WORDS_SHARED_API System::String get_Uri() const;
430 
432  ASPOSE_WORDS_SHARED_API void set_Uri(System::String value);
433 
538  ASPOSE_WORDS_SHARED_API Aspose::Words::Markup::MarkupLevel get_Level_IMarkupNode() override;
539 
654 
764  ASPOSE_WORDS_SHARED_API bool Accept(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
765 
766 protected:
767 
769  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Node> Clone(bool isCloneChildren, System::SharedPtr<Aspose::Words::INodeCloningListener> cloningListener) override;
770  ASPOSE_WORDS_SHARED_API Aspose::Words::VisitorAction AcceptStart(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
771  ASPOSE_WORDS_SHARED_API Aspose::Words::VisitorAction AcceptEnd(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
772  ASPOSE_WORDS_SHARED_API bool CanInsert(System::SharedPtr<Aspose::Words::Node> newChild) override;
773 
774  virtual ASPOSE_WORDS_SHARED_API ~SmartTag();
775 
776 private:
777 
778  System::String mElement;
779  System::String mUri;
781 
782  ThisType* CppMemberwiseClone() const override { return new ThisType(*this); }
783 
784 };
785 
786 }
787 }
788 }