Line data Source code
1 : /* 2 : * 3 : * Copyright (c) 2023 Project CHIP Authors 4 : * 5 : * Licensed under the Apache License, Version 2.0 (the "License"); 6 : * you may not use this file except in compliance with the License. 7 : * You may obtain a copy of the License at 8 : * 9 : * http://www.apache.org/licenses/LICENSE-2.0 10 : * 11 : * Unless required by applicable law or agreed to in writing, software 12 : * distributed under the License is distributed on an "AS IS" BASIS, 13 : * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 : * See the License for the specific language governing permissions and 15 : * limitations under the License. 16 : */ 17 : #pragma once 18 : 19 : #ifndef ICD_SLEEP_TIME_JITTER_MS 20 : #define ICD_SLEEP_TIME_JITTER_MS (CHIP_CONFIG_ICD_IDLE_MODE_DURATION_SEC * 0.75) 21 : #endif 22 : 23 : #ifndef ICD_ACTIVE_TIME_JITTER_MS 24 : #define ICD_ACTIVE_TIME_JITTER_MS 300 25 : #endif 26 : 27 : namespace chip { 28 : namespace app { 29 : 30 : class ICDStateObserver 31 : { 32 : public: 33 0 : virtual ~ICDStateObserver() {} 34 : virtual void OnEnterActiveMode() = 0; 35 : virtual void OnTransitionToIdle() = 0; 36 : virtual void OnICDModeChange() = 0; 37 : }; 38 : 39 : } // namespace app 40 : } // namespace chip