OLD | NEW |
1 #ifndef __DEFINED__SkPdfStandardSecurityHandlerDictionary | 1 #ifndef __DEFINED__SkPdfStandardSecurityHandlerDictionary |
2 #define __DEFINED__SkPdfStandardSecurityHandlerDictionary | 2 #define __DEFINED__SkPdfStandardSecurityHandlerDictionary |
3 | 3 |
4 #include "SkPdfUtils.h" | 4 #include "SkPdfUtils.h" |
5 #include "SkPdfEnums_autogen.h" | 5 #include "SkPdfEnums_autogen.h" |
6 #include "SkPdfArray_autogen.h" | 6 #include "SkPdfArray_autogen.h" |
7 #include "SkPdfDictionary_autogen.h" | 7 #include "SkPdfDictionary_autogen.h" |
8 | 8 |
9 // Additional encryption dictionary entries for the standard security handler | 9 // Additional encryption dictionary entries for the standard security handler |
10 class SkPdfStandardSecurityHandlerDictionary : public SkPdfDictionary { | 10 class SkPdfStandardSecurityHandlerDictionary : public SkPdfDictionary { |
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 * be used to interpret this dictionary. The revision number should be 2 if the
document is | 529 * be used to interpret this dictionary. The revision number should be 2 if the
document is |
530 * encrypted with a V value less than 2 (see Table 3.13) and does not have any
of the access | 530 * encrypted with a V value less than 2 (see Table 3.13) and does not have any
of the access |
531 * permissions set (via the P entry, below) that are designated "Revision 3" in
Table 3.15; | 531 * permissions set (via the P entry, below) that are designated "Revision 3" in
Table 3.15; |
532 * otherwise (that is, if the document is encrypted with a V value greater than
2 or has any | 532 * otherwise (that is, if the document is encrypted with a V value greater than
2 or has any |
533 * "Revision 3" access permissions set), this value should be 3. | 533 * "Revision 3" access permissions set), this value should be 3. |
534 **/ | 534 **/ |
535 bool has_R() const { | 535 bool has_R() const { |
536 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "
", NULL)); | 536 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "
", NULL)); |
537 } | 537 } |
538 | 538 |
539 double R() const { | 539 double R() const; |
540 double ret; | |
541 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &
ret)) return ret; | |
542 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
543 return 0; | |
544 } | |
545 | |
546 /** (Required) A 32-byte string, based on both the owner and user passwords, tha
t is used in | 540 /** (Required) A 32-byte string, based on both the owner and user passwords, tha
t is used in |
547 * computing the encryption key and in determining whether a valid owner passwo
rd was | 541 * computing the encryption key and in determining whether a valid owner passwo
rd was |
548 * entered. For more information, see "Encryption Key Algorithm" on page 78 and
"Pass- | 542 * entered. For more information, see "Encryption Key Algorithm" on page 78 and
"Pass- |
549 * word Algorithms" on page 79. | 543 * word Algorithms" on page 79. |
550 **/ | 544 **/ |
551 bool has_O() const { | 545 bool has_O() const { |
552 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "
", NULL)); | 546 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "
", NULL)); |
553 } | 547 } |
554 | 548 |
555 std::string O() const { | 549 std::string O() const; |
556 std::string ret; | |
557 if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", &
ret)) return ret; | |
558 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
559 return ""; | |
560 } | |
561 | |
562 /** (Required) A 32-byte string, based on the user password, that is used in det
ermining | 550 /** (Required) A 32-byte string, based on the user password, that is used in det
ermining |
563 * whether to prompt the user for a password and, if so, whether a valid user o
r owner pass- | 551 * whether to prompt the user for a password and, if so, whether a valid user o
r owner pass- |
564 * word was entered. For more information, see "Password Algorithms" on page 79
. | 552 * word was entered. For more information, see "Password Algorithms" on page 79
. |
565 **/ | 553 **/ |
566 bool has_U() const { | 554 bool has_U() const { |
567 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "U", "
", NULL)); | 555 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "U", "
", NULL)); |
568 } | 556 } |
569 | 557 |
570 std::string U() const { | 558 std::string U() const; |
571 std::string ret; | |
572 if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "U", "", &
ret)) return ret; | |
573 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
574 return ""; | |
575 } | |
576 | |
577 /** (Required) A set of flags specifying which operations are permitted when the
document is | 559 /** (Required) A set of flags specifying which operations are permitted when the
document is |
578 * opened with user access (see Table 3.15). | 560 * opened with user access (see Table 3.15). |
579 **/ | 561 **/ |
580 bool has_P() const { | 562 bool has_P() const { |
581 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "
", NULL)); | 563 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "
", NULL)); |
582 } | 564 } |
583 | 565 |
584 long P() const { | 566 long P() const; |
585 long ret; | |
586 if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &re
t)) return ret; | |
587 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
588 return 0; | |
589 } | |
590 | |
591 }; | 567 }; |
592 | 568 |
593 #endif // __DEFINED__SkPdfStandardSecurityHandlerDictionary | 569 #endif // __DEFINED__SkPdfStandardSecurityHandlerDictionary |
OLD | NEW |