| Index: printing/printing_context_android.h
|
| diff --git a/printing/printing_context_android.h b/printing/printing_context_android.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e38fff9d6c5939c0d48237c58f53305eba3375e0
|
| --- /dev/null
|
| +++ b/printing/printing_context_android.h
|
| @@ -0,0 +1,68 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef PRINTING_PRINTING_CONTEXT_ANDROID_H_
|
| +#define PRINTING_PRINTING_CONTEXT_ANDROID_H_
|
| +
|
| +#include <jni.h>
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/android/scoped_java_ref.h"
|
| +#include "printing/printing_context.h"
|
| +
|
| +namespace printing {
|
| +
|
| +// Android subclass of PrintingContext. The implementation for this header file
|
| +// resides in Chrome for Android repository. This class communicates with the
|
| +// Java side through JNI.
|
| +class PRINTING_EXPORT PrintingContextAndroid : public PrintingContext {
|
| + public:
|
| + explicit PrintingContextAndroid(const std::string& app_locale);
|
| + virtual ~PrintingContextAndroid();
|
| +
|
| + // Called when the page is successfully written to a PDF using the file
|
| + // descriptor specified, or when the printing operation failed.
|
| + static void PdfWritingDone(int fd, bool success);
|
| +
|
| + // Called from Java, when printing settings from the user are ready or the
|
| + // printing operation is canceled.
|
| + void AskUserForSettingsReply(bool success);
|
| +
|
| + // PrintingContext implementation.
|
| + virtual void AskUserForSettings(
|
| + gfx::NativeView parent_view,
|
| + int max_pages,
|
| + bool has_selection,
|
| + const PrintSettingsCallback& callback) OVERRIDE;
|
| + virtual Result UseDefaultSettings() OVERRIDE;
|
| + virtual Result UpdatePrinterSettings(
|
| + const base::DictionaryValue& job_settings,
|
| + const PageRanges& ranges) OVERRIDE;
|
| + virtual Result InitWithSettings(const PrintSettings& settings) OVERRIDE;
|
| + virtual Result NewDocument(const string16& document_name) OVERRIDE;
|
| + virtual Result NewPage() OVERRIDE;
|
| + virtual Result PageDone() OVERRIDE;
|
| + virtual Result DocumentDone() OVERRIDE;
|
| + virtual void Cancel() OVERRIDE;
|
| + virtual void ReleaseContext() OVERRIDE;
|
| + virtual gfx::NativeDrawingContext context() const OVERRIDE;
|
| +
|
| + // Registers JNI bindings for RegisterContext.
|
| + static bool RegisterPrintingContext(JNIEnv* env);
|
| +
|
| + private:
|
| + base::android::ScopedJavaGlobalRef<jobject> j_printing_context_;
|
| +
|
| + // The callback from AskUserForSettings to be called when the settings are
|
| + // ready on the Java side
|
| + PrintSettingsCallback callback_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(PrintingContextAndroid);
|
| +};
|
| +
|
| +} // namespace printing
|
| +
|
| +#endif // PRINTING_PRINTING_CONTEXT_ANDROID_H_
|
| +
|
|
|