Home | History | Annotate | Download | only in pdfapi
      1 /*
      2  * Copyright 2013 Google Inc.
      3 
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #include "SkPdfCatalogDictionary_autogen.h"
      9 #include "SkPdfNativeDoc.h"
     10 
     11 SkString SkPdfCatalogDictionary::Type(SkPdfNativeDoc* doc) {
     12   SkPdfNativeObject* ret = get("Type", "");
     13   if (doc) {ret = doc->resolveReference(ret);}
     14   if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
     15   // TODO(edisonn): warn about missing required field, assert for known good pdfs
     16   return SkString();
     17 }
     18 
     19 bool SkPdfCatalogDictionary::has_Type() const {
     20   return get("Type", "") != NULL;
     21 }
     22 
     23 SkString SkPdfCatalogDictionary::Version(SkPdfNativeDoc* doc) {
     24   SkPdfNativeObject* ret = get("Version", "");
     25   if (doc) {ret = doc->resolveReference(ret);}
     26   if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
     27   // TODO(edisonn): warn about missing default value for optional fields
     28   return SkString();
     29 }
     30 
     31 bool SkPdfCatalogDictionary::has_Version() const {
     32   return get("Version", "") != NULL;
     33 }
     34 
     35 SkPdfPageTreeNodeDictionary* SkPdfCatalogDictionary::Pages(SkPdfNativeDoc* doc) {
     36   SkPdfNativeObject* ret = get("Pages", "");
     37   if (doc) {ret = doc->resolveReference(ret);}
     38   if ((ret != NULL && ret->isDictionary() && ((SkPdfPageTreeNodeDictionary*)ret)->valid()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfPageTreeNodeDictionary*)ret;
     39   // TODO(edisonn): warn about missing default value for optional fields
     40   return NULL;
     41 }
     42 
     43 bool SkPdfCatalogDictionary::has_Pages() const {
     44   return get("Pages", "") != NULL;
     45 }
     46 
     47 bool SkPdfCatalogDictionary::isPageLabelsANumber(SkPdfNativeDoc* doc) {
     48   SkPdfNativeObject* ret = get("PageLabels", "");
     49   if (doc) {ret = doc->resolveReference(ret);}
     50   return ret != NULL && ret->isNumber();
     51 }
     52 
     53 double SkPdfCatalogDictionary::getPageLabelsAsNumber(SkPdfNativeDoc* doc) {
     54   SkPdfNativeObject* ret = get("PageLabels", "");
     55   if (doc) {ret = doc->resolveReference(ret);}
     56   if ((ret != NULL && ret->isNumber()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->numberValue();
     57   // TODO(edisonn): warn about missing default value for optional fields
     58   return 0;
     59 }
     60 
     61 bool SkPdfCatalogDictionary::isPageLabelsATree(SkPdfNativeDoc* doc) {
     62   SkPdfNativeObject* ret = get("PageLabels", "");
     63   if (doc) {ret = doc->resolveReference(ret);}
     64   return ret != NULL && false;
     65 }
     66 
     67 SkPdfTree SkPdfCatalogDictionary::getPageLabelsAsTree(SkPdfNativeDoc* doc) {
     68   SkPdfNativeObject* ret = get("PageLabels", "");
     69   if (doc) {ret = doc->resolveReference(ret);}
     70   if ((ret != NULL && false) || (doc == NULL && ret != NULL && ret->isReference())) return ret->treeValue();
     71   // TODO(edisonn): warn about missing default value for optional fields
     72   return SkPdfTree();
     73 }
     74 
     75 bool SkPdfCatalogDictionary::has_PageLabels() const {
     76   return get("PageLabels", "") != NULL;
     77 }
     78 
     79 SkPdfDictionary* SkPdfCatalogDictionary::Names(SkPdfNativeDoc* doc) {
     80   SkPdfNativeObject* ret = get("Names", "");
     81   if (doc) {ret = doc->resolveReference(ret);}
     82   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
     83   // TODO(edisonn): warn about missing default value for optional fields
     84   return NULL;
     85 }
     86 
     87 bool SkPdfCatalogDictionary::has_Names() const {
     88   return get("Names", "") != NULL;
     89 }
     90 
     91 SkPdfDictionary* SkPdfCatalogDictionary::Dests(SkPdfNativeDoc* doc) {
     92   SkPdfNativeObject* ret = get("Dests", "");
     93   if (doc) {ret = doc->resolveReference(ret);}
     94   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
     95   // TODO(edisonn): warn about missing default value for optional fields
     96   return NULL;
     97 }
     98 
     99 bool SkPdfCatalogDictionary::has_Dests() const {
    100   return get("Dests", "") != NULL;
    101 }
    102 
    103 SkPdfDictionary* SkPdfCatalogDictionary::ViewerPreferences(SkPdfNativeDoc* doc) {
    104   SkPdfNativeObject* ret = get("ViewerPreferences", "");
    105   if (doc) {ret = doc->resolveReference(ret);}
    106   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    107   // TODO(edisonn): warn about missing default value for optional fields
    108   return NULL;
    109 }
    110 
    111 bool SkPdfCatalogDictionary::has_ViewerPreferences() const {
    112   return get("ViewerPreferences", "") != NULL;
    113 }
    114 
    115 SkString SkPdfCatalogDictionary::PageLayout(SkPdfNativeDoc* doc) {
    116   SkPdfNativeObject* ret = get("PageLayout", "");
    117   if (doc) {ret = doc->resolveReference(ret);}
    118   if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
    119   // TODO(edisonn): warn about missing default value for optional fields
    120   return SkString();
    121 }
    122 
    123 bool SkPdfCatalogDictionary::has_PageLayout() const {
    124   return get("PageLayout", "") != NULL;
    125 }
    126 
    127 SkString SkPdfCatalogDictionary::PageMode(SkPdfNativeDoc* doc) {
    128   SkPdfNativeObject* ret = get("PageMode", "");
    129   if (doc) {ret = doc->resolveReference(ret);}
    130   if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
    131   // TODO(edisonn): warn about missing default value for optional fields
    132   return SkString();
    133 }
    134 
    135 bool SkPdfCatalogDictionary::has_PageMode() const {
    136   return get("PageMode", "") != NULL;
    137 }
    138 
    139 SkPdfDictionary* SkPdfCatalogDictionary::Outlines(SkPdfNativeDoc* doc) {
    140   SkPdfNativeObject* ret = get("Outlines", "");
    141   if (doc) {ret = doc->resolveReference(ret);}
    142   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    143   // TODO(edisonn): warn about missing default value for optional fields
    144   return NULL;
    145 }
    146 
    147 bool SkPdfCatalogDictionary::has_Outlines() const {
    148   return get("Outlines", "") != NULL;
    149 }
    150 
    151 SkPdfArray* SkPdfCatalogDictionary::Threads(SkPdfNativeDoc* doc) {
    152   SkPdfNativeObject* ret = get("Threads", "");
    153   if (doc) {ret = doc->resolveReference(ret);}
    154   if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret;
    155   // TODO(edisonn): warn about missing default value for optional fields
    156   return NULL;
    157 }
    158 
    159 bool SkPdfCatalogDictionary::has_Threads() const {
    160   return get("Threads", "") != NULL;
    161 }
    162 
    163 bool SkPdfCatalogDictionary::isOpenActionAArray(SkPdfNativeDoc* doc) {
    164   SkPdfNativeObject* ret = get("OpenAction", "");
    165   if (doc) {ret = doc->resolveReference(ret);}
    166   return ret != NULL && ret->isArray();
    167 }
    168 
    169 SkPdfArray* SkPdfCatalogDictionary::getOpenActionAsArray(SkPdfNativeDoc* doc) {
    170   SkPdfNativeObject* ret = get("OpenAction", "");
    171   if (doc) {ret = doc->resolveReference(ret);}
    172   if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret;
    173   // TODO(edisonn): warn about missing default value for optional fields
    174   return NULL;
    175 }
    176 
    177 bool SkPdfCatalogDictionary::isOpenActionADictionary(SkPdfNativeDoc* doc) {
    178   SkPdfNativeObject* ret = get("OpenAction", "");
    179   if (doc) {ret = doc->resolveReference(ret);}
    180   return ret != NULL && ret->isDictionary();
    181 }
    182 
    183 SkPdfDictionary* SkPdfCatalogDictionary::getOpenActionAsDictionary(SkPdfNativeDoc* doc) {
    184   SkPdfNativeObject* ret = get("OpenAction", "");
    185   if (doc) {ret = doc->resolveReference(ret);}
    186   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    187   // TODO(edisonn): warn about missing default value for optional fields
    188   return NULL;
    189 }
    190 
    191 bool SkPdfCatalogDictionary::has_OpenAction() const {
    192   return get("OpenAction", "") != NULL;
    193 }
    194 
    195 SkPdfDictionary* SkPdfCatalogDictionary::AA(SkPdfNativeDoc* doc) {
    196   SkPdfNativeObject* ret = get("AA", "");
    197   if (doc) {ret = doc->resolveReference(ret);}
    198   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    199   // TODO(edisonn): warn about missing default value for optional fields
    200   return NULL;
    201 }
    202 
    203 bool SkPdfCatalogDictionary::has_AA() const {
    204   return get("AA", "") != NULL;
    205 }
    206 
    207 SkPdfDictionary* SkPdfCatalogDictionary::URI(SkPdfNativeDoc* doc) {
    208   SkPdfNativeObject* ret = get("URI", "");
    209   if (doc) {ret = doc->resolveReference(ret);}
    210   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    211   // TODO(edisonn): warn about missing default value for optional fields
    212   return NULL;
    213 }
    214 
    215 bool SkPdfCatalogDictionary::has_URI() const {
    216   return get("URI", "") != NULL;
    217 }
    218 
    219 SkPdfDictionary* SkPdfCatalogDictionary::AcroForm(SkPdfNativeDoc* doc) {
    220   SkPdfNativeObject* ret = get("AcroForm", "");
    221   if (doc) {ret = doc->resolveReference(ret);}
    222   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    223   // TODO(edisonn): warn about missing default value for optional fields
    224   return NULL;
    225 }
    226 
    227 bool SkPdfCatalogDictionary::has_AcroForm() const {
    228   return get("AcroForm", "") != NULL;
    229 }
    230 
    231 SkPdfStream* SkPdfCatalogDictionary::Metadata(SkPdfNativeDoc* doc) {
    232   SkPdfNativeObject* ret = get("Metadata", "");
    233   if (doc) {ret = doc->resolveReference(ret);}
    234   if ((ret != NULL && ret->hasStream()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->getStream();
    235   // TODO(edisonn): warn about missing default value for optional fields
    236   return NULL;
    237 }
    238 
    239 bool SkPdfCatalogDictionary::has_Metadata() const {
    240   return get("Metadata", "") != NULL;
    241 }
    242 
    243 SkPdfDictionary* SkPdfCatalogDictionary::StructTreeRoot(SkPdfNativeDoc* doc) {
    244   SkPdfNativeObject* ret = get("StructTreeRoot", "");
    245   if (doc) {ret = doc->resolveReference(ret);}
    246   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    247   // TODO(edisonn): warn about missing default value for optional fields
    248   return NULL;
    249 }
    250 
    251 bool SkPdfCatalogDictionary::has_StructTreeRoot() const {
    252   return get("StructTreeRoot", "") != NULL;
    253 }
    254 
    255 SkPdfDictionary* SkPdfCatalogDictionary::MarkInfo(SkPdfNativeDoc* doc) {
    256   SkPdfNativeObject* ret = get("MarkInfo", "");
    257   if (doc) {ret = doc->resolveReference(ret);}
    258   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    259   // TODO(edisonn): warn about missing default value for optional fields
    260   return NULL;
    261 }
    262 
    263 bool SkPdfCatalogDictionary::has_MarkInfo() const {
    264   return get("MarkInfo", "") != NULL;
    265 }
    266 
    267 SkString SkPdfCatalogDictionary::Lang(SkPdfNativeDoc* doc) {
    268   SkPdfNativeObject* ret = get("Lang", "");
    269   if (doc) {ret = doc->resolveReference(ret);}
    270   if ((ret != NULL && ret->isAnyString()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->stringValue2();
    271   // TODO(edisonn): warn about missing default value for optional fields
    272   return SkString();
    273 }
    274 
    275 bool SkPdfCatalogDictionary::has_Lang() const {
    276   return get("Lang", "") != NULL;
    277 }
    278 
    279 SkPdfDictionary* SkPdfCatalogDictionary::SpiderInfo(SkPdfNativeDoc* doc) {
    280   SkPdfNativeObject* ret = get("SpiderInfo", "");
    281   if (doc) {ret = doc->resolveReference(ret);}
    282   if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
    283   // TODO(edisonn): warn about missing default value for optional fields
    284   return NULL;
    285 }
    286 
    287 bool SkPdfCatalogDictionary::has_SpiderInfo() const {
    288   return get("SpiderInfo", "") != NULL;
    289 }
    290 
    291 SkPdfArray* SkPdfCatalogDictionary::OutputIntents(SkPdfNativeDoc* doc) {
    292   SkPdfNativeObject* ret = get("OutputIntents", "");
    293   if (doc) {ret = doc->resolveReference(ret);}
    294   if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret;
    295   // TODO(edisonn): warn about missing default value for optional fields
    296   return NULL;
    297 }
    298 
    299 bool SkPdfCatalogDictionary::has_OutputIntents() const {
    300   return get("OutputIntents", "") != NULL;
    301 }
    302