1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef CORE_FPDFDOC_CPDF_METADATA_H_
8 #define CORE_FPDFDOC_CPDF_METADATA_H_
9 
10 #include <vector>
11 
12 #include "core/fxcrt/retain_ptr.h"
13 
14 class CPDF_Stream;
15 
16 enum class UnsupportedFeature : uint8_t {
17   kDocumentXFAForm = 1,
18   kDocumentPortableCollection = 2,
19   kDocumentAttachment = 3,
20   kDocumentSecurity = 4,
21   kDocumentSharedReview = 5,
22   kDocumentSharedFormAcrobat = 6,
23   kDocumentSharedFormFilesystem = 7,
24   kDocumentSharedFormEmail = 8,
25 
26   kAnnotation3d = 11,
27   kAnnotationMovie = 12,
28   kAnnotationSound = 13,
29   kAnnotationScreenMedia = 14,
30   kAnnotationScreenRichMedia = 15,
31   kAnnotationAttachment = 16,
32   kAnnotationSignature = 17
33 };
34 
35 class CPDF_Metadata {
36  public:
37   explicit CPDF_Metadata(const CPDF_Stream* pStream);
38   ~CPDF_Metadata();
39 
40   std::vector<UnsupportedFeature> CheckForSharedForm() const;
41 
42  private:
43   RetainPtr<const CPDF_Stream> stream_;
44 };
45 
46 #endif  // CORE_FPDFDOC_CPDF_METADATA_H_
47