xpcom/base/nsIMacPreferencesReader.idl
author Haik Aftandilian <haftandilian@mozilla.com>
Tue, 09 Oct 2018 05:47:40 +0000
changeset 440137 72189fd7d7b2986af012fa3e0ba93f7af0aad36d
parent 438641 816e01983b58fcf1cc3b02802a73dc9a41e88f84
permissions -rw-r--r--
Bug 1497408 - Make NS_MACPREFERENCESREADER_CID unique r=spohl Differential Revision: https://phabricator.services.mozilla.com/D8057

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupportsPrimitives.idl"

%{C++
#define ENTERPRISE_POLICIES_ENABLED_KEY "EnterprisePoliciesEnabled"
%}

/**
 * This interface is designed to provide scriptable access to the macOS
 * preferences system.
 *
 * This interface is highly macOS specific.
 */
[scriptable, uuid(b0f20595-88ce-4738-a1a4-24de78eb8051)]
interface nsIMacPreferencesReader : nsISupports
{
  /**
   * This method checks whether macOS policies are enabled.
   *
   * @return true if macOS policies are enabled, false otherwise.
   */
  bool policiesEnabled();

  /**
   * This method reads and returns the macOS preferences.
   *
   * @return A JSON object containing all macOS preferences.
   */
  [implicit_jscontext]
  jsval readPreferences();
};