15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright 2013 Google Inc. 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * found in the LICENSE file. 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "SkPdfMacOsFileInformationDictionary_autogen.h" 942a0b512b27badd0d560042d40f00d2b782c416fSelim Gurun#include "SkPdfNativeDoc.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SkString SkPdfMacOsFileInformationDictionary::Subtype(SkPdfNativeDoc* doc) { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SkPdfNativeObject* ret = get("Subtype", ""); 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (doc) {ret = doc->resolveReference(ret);} 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if ((ret != NULL && ret->isAnyString()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->stringValue2(); 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(edisonn): warn about missing default value for optional fields 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return SkString(); 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool SkPdfMacOsFileInformationDictionary::has_Subtype() const { 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return get("Subtype", "") != NULL; 217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SkString SkPdfMacOsFileInformationDictionary::Creator(SkPdfNativeDoc* doc) { 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SkPdfNativeObject* ret = get("Creator", ""); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (doc) {ret = doc->resolveReference(ret);} 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch if ((ret != NULL && ret->isAnyString()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->stringValue2(); 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(edisonn): warn about missing default value for optional fields 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return SkString(); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool SkPdfMacOsFileInformationDictionary::has_Creator() const { 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return get("Creator", "") != NULL; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SkPdfStream* SkPdfMacOsFileInformationDictionary::ResFork(SkPdfNativeDoc* doc) { 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SkPdfNativeObject* ret = get("ResFork", ""); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (doc) {ret = doc->resolveReference(ret);} 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if ((ret != NULL && ret->hasStream()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->getStream(); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(edisonn): warn about missing default value for optional fields 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 435c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liubool SkPdfMacOsFileInformationDictionary::has_ResFork() const { 445c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu return get("ResFork", "") != NULL; 455c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)