pdf report files

Review URL: https://codereview.chromium.org/26271002

git-svn-id: http://skia.googlecode.com/svn/trunk@11629 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/PdfViewer/SkPdfReporter.cpp b/experimental/PdfViewer/SkPdfReporter.cpp
new file mode 100644
index 0000000..cc0cc2d
--- /dev/null
+++ b/experimental/PdfViewer/SkPdfReporter.cpp
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+
+#include "SkPdfReporter.h"
+
+#include "SkTypes.h"
+
+const char* severityName[] = {
+"Info",
+"CodeWarning",
+"Warning",
+"IgnoreError",
+"Error",
+"FatalError",
+};
+
+const char* getSeverityName(SkPdfIssueSeverity sev) {
+    if (0 <= sev && sev < _kCount__SkPdfIssueSeverity) {
+        return severityName[sev];
+    }
+    SkASSERT(false);
+    return "UNKOWN SEVERITY";
+}
+
+// TODO(edisonn): add a flag to set the minimum warning level
+
+#ifdef PDF_REPORT
+void SkPdfReport(               SkPdfIssueSeverity sev, SkPdfIssue issue, const char* context, const SkPdfNativeObject* obj,                 SkPdfContext* pdfContext) {
+    if (sev >= kIgnoreError_SkPdfIssueSeverity) {
+        printf("%s: %s\n", getSeverityName(sev), context);
+    }
+}
+
+void SkPdfReportUnexpectedType(SkPdfIssueSeverity sev, const char* context, const SkPdfNativeObject* obj, int anyOfTypes, SkPdfContext* pdfContext) {
+    if (sev >= kIgnoreError_SkPdfIssueSeverity) {
+        printf("%s: %s\n", getSeverityName(sev), context);
+    }
+}
+
+void SkPdfReportIf(bool report, SkPdfIssueSeverity sev, SkPdfIssue issue, const char* context, const SkPdfNativeObject* obj,                 SkPdfContext* pdfContext) {
+    if (!report) {
+        return;
+    }
+    SkPdfReport(sev, issue, context, obj, pdfContext);
+}
+#endif  // PDF_REPORT