michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: michael@0: [scriptable, function, uuid(9f3ed2c0-aed9-11e1-8c3d-5310bd393466)] michael@0: interface nsIAlarmFiredCb : nsISupports michael@0: { michael@0: void onAlarmFired(); michael@0: }; michael@0: michael@0: [scriptable, function, uuid(0ca52e84-ba8f-11e1-87e8-63235527db9e)] michael@0: interface nsITimezoneChangedCb : nsISupports michael@0: { michael@0: void onTimezoneChanged(in int32_t aTimezoneOffset); michael@0: }; michael@0: michael@0: %{C++ michael@0: #define NS_ALARMHALSERVICE_CID { 0x7dafea4c, 0x7163, 0x4b70, { 0x95, 0x4e, 0x5a, 0xd4, 0x09, 0x94, 0x83, 0xd7 } } michael@0: #define ALARMHALSERVICE_CONTRACTID "@mozilla.org/alarmHalService;1" michael@0: %} michael@0: michael@0: [scriptable, uuid(057b1ee4-f696-486d-bd55-205e21e88fab)] michael@0: interface nsIAlarmHalService : nsISupports michael@0: { michael@0: bool setAlarm(in int32_t aSeconds, in int32_t aNanoseconds); michael@0: void setAlarmFiredCb(in nsIAlarmFiredCb aAlarmFiredCb); michael@0: void setTimezoneChangedCb(in nsITimezoneChangedCb aTimezoneChangedCb); michael@0: }; michael@0: michael@0: michael@0: