15using ClientPtr = std::shared_ptr<ApolloClient>;
16using NotificationCallback =
18using NotificationCallbackPtr = std::weak_ptr<NotificationCallback>;
110 const std::string& app_id,
112 LoggerPtr logger =
nullptr);
ClientPtr makeApolloClient(const std::string &apollo_url, const std::string &app_id, Opts &&opts=Opts(), LoggerPtr logger=nullptr)
Creates a new Apollo client instance.
Apollo Client Library Type Definitions.
std::string NamespaceType
Type alias for namespace identifiers.
Definition apollo_types.h:22
std::vector< Change > Changes
List of configuration changes.
Definition apollo_types.h:62
constexpr auto long_poller_interval_default
Definition apollo_types.h:19
std::map< std::string, std::string > Configures
Map of key-value pairs representing a namespace's configuration.
Definition apollo_types.h:65
Interface for the Apollo configuration center client.
Definition apollo_client.h:30
virtual Configures getConfigures(const NamespaceType &s_namespace)=0
Retrieves configuration values from the ApolloClient cache.
virtual void setNotificationsListener(NotificationCallbackPtr notificationCallback)=0
Sets a callback for configuration change notifications.
virtual void stopLongPolling()=0
Stops the long polling thread.
virtual void startLongPolling(int long_polling_interval_ms=long_poller_interval_default)=0
Starts a long polling thread for configuration updates.
virtual ~ApolloClient()=default
Virtual destructor to ensure proper cleanup in derived classes.
Options for configuring the Apollo client.
Definition apollo_types.h:73