search/mag_sel search/close
WriteProtection.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/aspose_words_api_defs.h>
14 
15 namespace Aspose { namespace Words { namespace Settings { class DocPr; } } }
16 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxSettingsReader; } } } } }
17 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxSettingsWriter; } } } } }
18 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class DocWriter; } } } } }
19 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfFileHandler; } } } } }
20 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfDocPrWriter; } } } } }
21 namespace Aspose { namespace Words { namespace Settings { class PasswordHash; } } }
22 
23 namespace Aspose {
24 
25 namespace Words {
26 
27 namespace Settings {
28 
67 class ASPOSE_WORDS_SHARED_CLASS WriteProtection : public System::Object
68 {
69  typedef WriteProtection ThisType;
70  typedef System::Object BaseType;
71 
72  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
73  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
74 
75  friend class Aspose::Words::Settings::DocPr;
76  friend class Aspose::Words::RW::Docx::Reader::DocxSettingsReader;
77  friend class Aspose::Words::RW::Docx::Writer::DocxSettingsWriter;
78  friend class Aspose::Words::RW::Doc::Writer::DocWriter;
79  friend class Aspose::Words::RW::Rtf::Reader::RtfFileHandler;
80  friend class Aspose::Words::RW::Rtf::Writer::RtfDocPrWriter;
81 
82 public:
83 
113  ASPOSE_WORDS_SHARED_API bool get_ReadOnlyRecommended() const;
114 
116  ASPOSE_WORDS_SHARED_API void set_ReadOnlyRecommended(bool value);
117 
147  ASPOSE_WORDS_SHARED_API bool get_IsWriteProtected();
148 
183  ASPOSE_WORDS_SHARED_API void SetPassword(System::String password);
184 
215  ASPOSE_WORDS_SHARED_API bool ValidatePassword(System::String password);
216 
217 protected:
218 
220 
221  WriteProtection();
222 
223  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(WriteProtection, CODEPORTING_ARGS());
225  System::String GetPassword();
226  void UpdateDocxHash();
227 
228 private:
229 
230  bool mReadOnlyRecommended;
231  System::String mPassword;
233 
234 };
235 
236 }
237 }
238 }