gecko-dev/dom/alarm/nsIAlarmHalService.idl

41 lines
1.3 KiB
Plaintext

/* 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 "nsISupports.idl"
[scriptable, function, uuid(53dec7f9-bb51-4c3a-98ab-80d5d750c9dd)]
interface nsIAlarmFiredCb : nsISupports
{
void onAlarmFired();
};
[scriptable, function, uuid(e6662911-c066-4358-9388-8661065c65a2)]
interface nsITimezoneChangedCb : nsISupports
{
void onTimezoneChanged(in int32_t aTimezoneOffset);
};
[scriptable, function, uuid(46ece987-a3ec-4124-906f-d99c83296ac6)]
interface nsISystemClockChangedCb : nsISupports
{
void onSystemClockChanged(in int32_t aClockDeltaMS);
};
%{C++
#define NS_ALARMHALSERVICE_CID { 0x7dafea4c, 0x7163, 0x4b70, { 0x95, 0x4e, 0x5a, 0xd4, 0x09, 0x94, 0x83, 0xd7 } }
#define ALARMHALSERVICE_CONTRACTID "@mozilla.org/alarmHalService;1"
%}
[scriptable, uuid(35074214-f50d-4f9a-b173-8d564dfa657d)]
interface nsIAlarmHalService : nsISupports
{
bool setAlarm(in int32_t aSeconds, in int32_t aNanoseconds);
void setAlarmFiredCb(in nsIAlarmFiredCb aAlarmFiredCb);
void setTimezoneChangedCb(in nsITimezoneChangedCb aTimezoneChangedCb);
void setSystemClockChangedCb(in nsISystemClockChangedCb aSystemClockChangedCb);
};