19#ifndef RTC_CONFIGURATIONLISTENER_H
20#define RTC_CONFIGURATIONLISTENER_H
22#include <coil/Properties.h>
104 static const char*
const typeString[] =
106 "ON_UPDATE_CONFIG_PARAM",
107 "CONFIG_PARAM_LISTENER_NUM"
109 return typeString[
static_cast<uint8_t
>(type)];
139 const char* config_param_name) = 0;
221 static const char*
const typeString[] =
225 "CONFIG_SET_LISTENER_NUM"
227 return typeString[
static_cast<uint8_t
>(type)];
256 virtual void operator()(
const coil::Properties& config_set) = 0;
334 static const char*
const typeString[] =
336 "ON_UPDATE_CONFIG_SET",
337 "ON_REMOVE_CONFIG_SET",
338 "ON_ACTIVATE_CONFIG_SET",
339 "CONFIG_SET_NAME_LISTENER_NUM"
341 return typeString[
static_cast<uint8_t
>(type)];
392 using Entry = std::pair<ConfigurationParamListener*, bool>;
472 void notify(
const char* config_set_name,
const char* config_param_name);
475 std::vector<Entry> m_listeners;
499 using Entry = std::pair<ConfigurationSetListener*, bool>;
579 void notify(
const coil::Properties& config_set);
582 std::vector<Entry> m_listeners;
606 using Entry = std::pair<ConfigurationSetNameListener*, bool>;
685 void notify(
const char* config_set_name);
688 std::vector<Entry> m_listeners;
886 if (
static_cast<uint8_t
>(type) < configparam_.size())
888 configparam_[
static_cast<uint8_t
>(type)].
notify(config_set_name, config_param_name);
915 if (
static_cast<uint8_t
>(type) < configset_.size())
917 configset_[
static_cast<uint8_t
>(type)].
notify(config_set);
944 if (
static_cast<uint8_t
>(type) < configsetname_.size())
946 configsetname_[
static_cast<uint8_t
>(type)].
notify(config_set_name);
Definition ConfigurationListener.h:707
bool removeListener(ConfigurationSetNameListenerType type, ConfigurationSetNameListener *listener)
リスナーの削除
bool notify(ConfigurationParamListenerType type, const char *config_set_name, const char *config_param_name)
リスナーへ通知する
Definition ConfigurationListener.h:884
bool removeListener(ConfigurationParamListenerType type, ConfigurationParamListener *listener)
リスナーの削除
bool notify(ConfigurationSetNameListenerType type, const char *config_set_name)
リスナーへ通知する
Definition ConfigurationListener.h:942
bool addListener(ConfigurationParamListenerType type, ConfigurationParamListener *listener, bool autoclean=true)
リスナーの追加
bool addListener(ConfigurationSetListenerType type, ConfigurationSetListener *listener, bool autoclean=true)
リスナーの追加
bool notify(ConfigurationSetListenerType type, const coil::Properties &config_set)
リスナーへ通知する
Definition ConfigurationListener.h:913
~ConfigurationListeners()
デストラクタ
bool addListener(ConfigurationSetNameListenerType type, ConfigurationSetNameListener *listener, bool autoclean=true)
リスナーの追加
bool removeListener(ConfigurationSetListenerType type, ConfigurationSetListener *listener)
リスナーの削除
ConfigurationParamListener ホルダクラス
Definition ConfigurationListener.h:391
void notify(const char *config_set_name, const char *config_param_name)
リスナーへ通知する
ConfigurationParamListenerHolder()
コンストラクタ
void removeListener(ConfigurationParamListener *listener)
リスナーの削除
virtual ~ConfigurationParamListenerHolder()
デストラクタ
void addListener(ConfigurationParamListener *listener, bool autoclean)
リスナーの追加
ConfigurationParamListener クラス
Definition ConfigurationListener.h:75
virtual void operator()(const char *config_set_name, const char *config_param_name)=0
仮想コールバック関数
static const char * toString(ConfigurationParamListenerType type)
ConfigurationParamListenerType を文字列に変換
Definition ConfigurationListener.h:100
virtual ~ConfigurationParamListener()
デストラクタ
ConfigurationSetListener ホルダクラス
Definition ConfigurationListener.h:498
void notify(const coil::Properties &config_set)
リスナーへ通知する
void removeListener(ConfigurationSetListener *listener)
リスナーの削除
void addListener(ConfigurationSetListener *listener, bool autoclean)
リスナーの追加
ConfigurationSetListenerHolder()
コンストラクタ
virtual ~ConfigurationSetListenerHolder()
デストラクタ
ConfigurationSetListener クラス
Definition ConfigurationListener.h:191
virtual ~ConfigurationSetListener()
デストラクタ
static const char * toString(ConfigurationSetListenerType type)
ConfigurationSetNameListenerType を文字列に変換
Definition ConfigurationListener.h:217
virtual void operator()(const coil::Properties &config_set)=0
仮想コールバック関数
ConfigurationSetNameListener ホルダクラス
Definition ConfigurationListener.h:605
void addListener(ConfigurationSetNameListener *listener, bool autoclean)
リスナーの追加
void removeListener(ConfigurationSetNameListener *listener)
リスナーの削除
virtual ~ConfigurationSetNameListenerHolder()
デストラクタ
void notify(const char *config_set_name)
リスナーへ通知する
ConfigurationSetNameListenerHolder()
コンストラクタ
ConfigurationSetNameListener クラス
Definition ConfigurationListener.h:304
static const char * toString(ConfigurationSetNameListenerType type)
ConfigurationSetNameListenerType を文字列に変換
Definition ConfigurationListener.h:330
virtual void operator()(const char *config_set_name)=0
仮想コールバック関数
virtual ~ConfigurationSetNameListener()
デストラクタ
ConfigurationSetNameListenerType
ConfigurationSetNameListenerType
Definition ConfigurationListener.h:272
@ CONFIG_SET_NAME_LISTENER_NUM
ConfigurationSetListenerType
ConfigurationSetListener のタイプ
Definition ConfigurationListener.h:161
@ CONFIG_SET_LISTENER_NUM
ConfigurationParamListenerType
ConfigurationParamListener のタイプ
Definition ConfigurationListener.h:46
@ CONFIG_PARAM_LISTENER_NUM