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