107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch/* 207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch * Copyright 2013 Google Inc. 307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch * Use of this source code is governed by a BSD-style license that can be 507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch * found in the LICENSE file. 607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch */ 707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch#include "SkPdfEmbeddedFileParameterDictionary_autogen.h" 907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch#include "SkPdfNativeDoc.h" 1007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 1107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdochint64_t SkPdfEmbeddedFileParameterDictionary::Size(SkPdfNativeDoc* doc) { 1207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch SkPdfNativeObject* ret = get("Size", ""); 1307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if (doc) {ret = doc->resolveReference(ret);} 1407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if ((ret != NULL && ret->isInteger()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->intValue(); 1507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch // TODO(edisonn): warn about missing default value for optional fields 1607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return 0; 1707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 1807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 1907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdochbool SkPdfEmbeddedFileParameterDictionary::has_Size() const { 2007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return get("Size", "") != NULL; 2107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 2207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 2307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben MurdochSkPdfDate SkPdfEmbeddedFileParameterDictionary::CreationDate(SkPdfNativeDoc* doc) { 2407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch SkPdfNativeObject* ret = get("CreationDate", ""); 2507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if (doc) {ret = doc->resolveReference(ret);} 2607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if ((ret != NULL && ret->isDate()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->dateValue(); 2707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch // TODO(edisonn): warn about missing default value for optional fields 2807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return SkPdfDate(); 2907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 3007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 3107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdochbool SkPdfEmbeddedFileParameterDictionary::has_CreationDate() const { 3207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return get("CreationDate", "") != NULL; 3307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 3407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 3507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben MurdochSkPdfDate SkPdfEmbeddedFileParameterDictionary::ModDate(SkPdfNativeDoc* doc) { 3607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch SkPdfNativeObject* ret = get("ModDate", ""); 3707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if (doc) {ret = doc->resolveReference(ret);} 3807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if ((ret != NULL && ret->isDate()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->dateValue(); 3907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch // TODO(edisonn): warn about missing default value for optional fields 4007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return SkPdfDate(); 4107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 4207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 4307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdochbool SkPdfEmbeddedFileParameterDictionary::has_ModDate() const { 4407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return get("ModDate", "") != NULL; 4507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 4607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 4707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben MurdochSkPdfDictionary* SkPdfEmbeddedFileParameterDictionary::Mac(SkPdfNativeDoc* doc) { 4807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch SkPdfNativeObject* ret = get("Mac", ""); 4907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if (doc) {ret = doc->resolveReference(ret);} 5007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret; 5107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch // TODO(edisonn): warn about missing default value for optional fields 5207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return NULL; 5307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 5407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 5507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdochbool SkPdfEmbeddedFileParameterDictionary::has_Mac() const { 5607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return get("Mac", "") != NULL; 5707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 5807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 5907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben MurdochSkString SkPdfEmbeddedFileParameterDictionary::CheckSum(SkPdfNativeDoc* doc) { 6007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch SkPdfNativeObject* ret = get("CheckSum", ""); 6107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if (doc) {ret = doc->resolveReference(ret);} 6207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch if ((ret != NULL && ret->isAnyString()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->stringValue2(); 6307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch // TODO(edisonn): warn about missing default value for optional fields 6407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return SkString(); 6507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 6607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 6707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdochbool SkPdfEmbeddedFileParameterDictionary::has_CheckSum() const { 6807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch return get("CheckSum", "") != NULL; 6907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 7007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch