34 virtual ~ProtocolLayer();
35 static ProtocolLayer *first();
36 static ProtocolLayer *last();
37 static bool IsAnyUpdatePending();
38 ProtocolLayer *next();
41 void setVerboseLog(
bool value);
42 virtual void onInit() = 0;
43 virtual bool onLoadConfig() = 0;
44 virtual bool verifyConfig() = 0;
45 virtual bool isEnabled() = 0;
46 virtual void disconnect() = 0;
47 virtual bool isConfigEmpty();
51 virtual bool iterate(uint32_t _millis) = 0;
52 virtual bool isNetworkRestartRequested() = 0;
53 virtual uint32_t getConnectionFailTime() = 0;
54 virtual bool isConnectionError();
55 virtual bool isConnecting();
56 virtual bool isUpdatePending();
57 virtual bool isRegisteredAndReady() = 0;
58 virtual void sendActionTrigger(uint8_t channelNumber, uint32_t actionId) = 0;
59 virtual void sendRemainingTimeValue(uint8_t channelNumber,
63 virtual void sendRemainingTimeValue(uint8_t channelNumber,
64 uint32_t remainingTime,
67 bool useSecondsInsteadOfMs);
68 virtual void getUserLocaltime();
69 virtual void sendChannelValueChanged(uint8_t channelNumber, int8_t *value,
70 uint8_t offline, uint32_t validityTimeSec) = 0;
71 virtual void sendExtendedChannelValueChanged(uint8_t channelNumber,
74 virtual void getChannelConfig(uint8_t channelNumber,
75 uint8_t configType = SUPLA_CONFIG_TYPE_DEFAULT);
76 virtual bool setChannelConfig(uint8_t channelNumber,
77 _supla_int_t channelFunction,
void *channelConfig,
int size,
78 uint8_t configType = SUPLA_CONFIG_TYPE_DEFAULT);
79 virtual void notifyConfigChange(
int channelNumber);
82 virtual bool setInitialCaption(uint8_t channelNumber,
const char *caption);
84 virtual void sendRegisterNotification(
86 virtual bool sendNotification(
int context,
91 virtual void sendChannelStateResult(int32_t receiverId, uint8_t channelNo);
94 static ProtocolLayer *firstPtr;
95 ProtocolLayer *nextPtr =
nullptr;
97 bool configEmpty =
true;
98 bool verboseLog =
true;