| Total Complexity | 4 | 
| Total Lines | 24 | 
| Duplicated Lines | 0 % | 
| Changes | 0 | ||
| 1 | from pyhap.accessory import Accessory  | 
            ||
| 2 | from pyhap.const import CATEGORY_SWITCH  | 
            ||
| 3 | |||
| 4 | |||
| 5 | class Callback(Accessory):  | 
            ||
| 6 | category = CATEGORY_SWITCH  | 
            ||
| 7 | |||
| 8 | def __init__(self, name, callback, driver):  | 
            ||
| 9 | super().__init__(driver, "Callback " + name)  | 
            ||
| 10 | |||
| 11 |         serv_switch = self.add_preload_service('Switch', chars=['On']) | 
            ||
| 12 | |||
| 13 | self.callback = callback  | 
            ||
| 14 | self.state = 0  | 
            ||
| 15 |         serv_switch.configure_char('On', setter_callback=self.set_state, getter_callback=self.get_state, | 
            ||
| 16 | value=self.state)  | 
            ||
| 17 | |||
| 18 | def get_state(self):  | 
            ||
| 19 | return self.state  | 
            ||
| 20 | |||
| 21 | def set_state(self, value):  | 
            ||
| 22 | if value == 1:  | 
            ||
| 23 | self.callback()  | 
            ||
| 24 |