Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pragma solidity ^0.4.24;
- interface AlarmWakeUp {
- function callback() public;
- }
- contract AlarmService {
- mapping(uint => address[]) private _events;
- function set(uint _time) public returns (bool) {
- _events[_time].push(msg.sender);
- }
- function call(uint _time) public {
- address[] addresses = _events[_time];
- for(uint i=0; i<addresses.length; i++) {
- AlarmWakeUp(addresses[i]).callback();
- }
- }
- }
- contract AlarmTrigger is AlarmWakeUp {
- AlarmService private _alarmService;
- function AlarmTrigger() {
- _alarmService = new AlarmService();
- }
- function callback() public {
- // Do something
- }
- function setAlarm() public {
- _alarmService.set(block.timestamp + 60);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement