search/mag_sel search/close
FieldUnknown.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/Fields/IMergeFieldSurrogate.h>
14 #include <Aspose.Words.Cpp/Fields/Field.h>
15 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
16 
17 namespace Aspose { namespace Words { namespace Fields { class FieldUtil; } } }
18 namespace Aspose { namespace Words { namespace Fields { class FieldStart; } } }
19 namespace Aspose { namespace Words { namespace Fields { class FieldSeparator; } } }
20 namespace Aspose { namespace Words { namespace Fields { class FieldEnd; } } }
21 namespace System { namespace Text { namespace RegularExpressions { class Regex; } } }
22 namespace Aspose { namespace Words { namespace Fields { enum class FieldUpdateStage; } } }
23 namespace Aspose { namespace Words { namespace Fields { class FieldUpdateAction; } } }
24 namespace Aspose { namespace Words { namespace Fields { class FieldChar; } } }
25 namespace Aspose { namespace Words { namespace Fields { enum class FieldType; } } }
26 
27 namespace Aspose {
28 
29 namespace Words {
30 
31 namespace Fields {
32 
52 class ASPOSE_WORDS_SHARED_CLASS FieldUnknown : public Aspose::Words::Fields::Field, public Aspose::Words::Fields::IMergeFieldSurrogate
53 {
54  typedef FieldUnknown ThisType;
56  typedef Aspose::Words::Fields::IMergeFieldSurrogate BaseType1;
57 
58  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
59  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
60 
61  friend class Aspose::Words::Fields::FieldUtil;
62 
63 public:
64 
67 
70 
72  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Fields::FieldEnd> get_End() override;
73 
74  ASPOSE_WORDS_SHARED_API System::String GetMergeFieldName() override;
75  ASPOSE_WORDS_SHARED_API bool CanWorkAsMergeField() override;
76  ASPOSE_WORDS_SHARED_API bool IsMergeValueRequired() override;
77 
78 protected:
79 
80  ASPOSE_WORDS_SHARED_API Aspose::Words::Fields::FieldUpdateStage GetUpdateStage() override;
81  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Fields::FieldUpdateAction> UpdateCore() override;
82  bool IsBookmarkRef();
84 
85  virtual ASPOSE_WORDS_SHARED_API ~FieldUnknown();
86 
87 private:
88 
89  System::String get_BookmarkName();
90 
92  static bool IsBookmarkRef(System::String fieldCode, Aspose::Words::Fields::FieldType fieldType);
93 
94 };
95 
96 }
97 }
98 }