Blame widget/nsPrintSettingsService.h

Packit f0b94e
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
Packit f0b94e
 *
Packit f0b94e
 * This Source Code Form is subject to the terms of the Mozilla Public
Packit f0b94e
 * License, v. 2.0. If a copy of the MPL was not distributed with this
Packit f0b94e
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Packit f0b94e
Packit f0b94e
#ifndef nsPrintSettingsService_h
Packit f0b94e
#define nsPrintSettingsService_h
Packit f0b94e
Packit f0b94e
#include "mozilla/embedding/PPrinting.h"
Packit f0b94e
#include "nsCOMPtr.h"
Packit f0b94e
#include "nsIPrintSettingsService.h"
Packit f0b94e
#include "nsString.h"
Packit f0b94e
#include "nsFont.h"
Packit f0b94e
Packit f0b94e
class nsIPrintSettings;
Packit f0b94e
Packit f0b94e
/**
Packit f0b94e
 * Class nsPrintSettingsService.  Base class for the platform specific widget
Packit f0b94e
 * subclasses to inherit from.
Packit f0b94e
 */
Packit f0b94e
class nsPrintSettingsService : public nsIPrintSettingsService {
Packit f0b94e
 public:
Packit f0b94e
  NS_DECL_ISUPPORTS
Packit f0b94e
  NS_DECL_NSIPRINTSETTINGSSERVICE
Packit f0b94e
Packit f0b94e
  nsPrintSettingsService() {}
Packit f0b94e
Packit f0b94e
  /**
Packit f0b94e
   * method Init
Packit f0b94e
   *  Initializes member variables. Every consumer that does manual
Packit f0b94e
   *  creation (instead of do_CreateInstance) needs to call this method
Packit f0b94e
   *  immediately after instantiation.
Packit f0b94e
   */
Packit f0b94e
  virtual nsresult Init();
Packit f0b94e
Packit f0b94e
 private:
Packit f0b94e
  // Copying is not supported.
Packit f0b94e
  nsPrintSettingsService(const nsPrintSettingsService& x) = delete;
Packit f0b94e
  nsPrintSettingsService& operator=(const nsPrintSettingsService& x) = delete;
Packit f0b94e
Packit f0b94e
 protected:
Packit f0b94e
  virtual ~nsPrintSettingsService() {}
Packit f0b94e
Packit f0b94e
  void ReadBitFieldPref(const char* aPrefId, int32_t anOption);
Packit f0b94e
  void WriteBitFieldPref(const char* aPrefId, int32_t anOption);
Packit f0b94e
  void ReadJustification(const char* aPrefId, int16_t& aJust,
Packit f0b94e
                         int16_t aInitValue);
Packit f0b94e
  void WriteJustification(const char* aPrefId, int16_t aJust);
Packit f0b94e
  void ReadInchesToTwipsPref(const char* aPrefId, int32_t& aTwips,
Packit f0b94e
                             const char* aMarginPref);
Packit f0b94e
  void WriteInchesFromTwipsPref(const char* aPrefId, int32_t aTwips);
Packit f0b94e
  void ReadInchesIntToTwipsPref(const char* aPrefId, int32_t& aTwips,
Packit f0b94e
                                const char* aMarginPref);
Packit f0b94e
  void WriteInchesIntFromTwipsPref(const char* aPrefId, int32_t aTwips);
Packit f0b94e
Packit f0b94e
  nsresult ReadPrefDouble(const char* aPrefId, double& aVal);
Packit f0b94e
  nsresult WritePrefDouble(const char* aPrefId, double aVal);
Packit f0b94e
Packit f0b94e
  /**
Packit f0b94e
   * method ReadPrefs
Packit f0b94e
   * @param aPS          a pointer to the printer settings
Packit f0b94e
   * @param aPrinterName the name of the printer for which to read prefs
Packit f0b94e
   * @param aFlags       flag specifying which prefs to read
Packit f0b94e
   */
Packit f0b94e
  virtual nsresult ReadPrefs(nsIPrintSettings* aPS,
Packit f0b94e
                             const nsAString& aPrinterName, uint32_t aFlags);
Packit f0b94e
  /**
Packit f0b94e
   * method WritePrefs
Packit f0b94e
   * @param aPS          a pointer to the printer settings
Packit f0b94e
   * @param aPrinterName the name of the printer for which to write prefs
Packit f0b94e
   * @param aFlags       flag specifying which prefs to read
Packit f0b94e
   */
Packit f0b94e
  virtual nsresult WritePrefs(nsIPrintSettings* aPS,
Packit f0b94e
                              const nsAString& aPrinterName, uint32_t aFlags);
Packit f0b94e
Packit f0b94e
  const char* GetPrefName(const char* aPrefName, const nsAString& aPrinterName);
Packit f0b94e
Packit f0b94e
  /**
Packit f0b94e
   * method _CreatePrintSettings
Packit f0b94e
   *   May be implemented by the platform-specific derived class
Packit f0b94e
   *
Packit f0b94e
   * @return             printer settings instance
Packit f0b94e
   */
Packit f0b94e
  virtual nsresult _CreatePrintSettings(nsIPrintSettings** _retval);
Packit f0b94e
Packit f0b94e
  // Members
Packit f0b94e
  nsCOMPtr<nsIPrintSettings> mGlobalPrintSettings;
Packit f0b94e
Packit f0b94e
  nsCString mPrefName;
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
#endif  // nsPrintSettingsService_h