33#ifndef API_MIP_MIP_CONFIGURATION_H_
34#define API_MIP_MIP_CONFIGURATION_H_
57 const std::string& path,
62 mThresholdLogLevel(thresholdLogLevel),
65 mApiLogCacheMaxMessages(1024) {}
79 const std::string&
GetPath()
const {
return mPath; }
106 void SetDiagnosticConfiguration(
const std::shared_ptr<DiagnosticConfiguration>& diagnosticConfiguration) { mDiagnosticConfiguration = diagnosticConfiguration; }
120 void SetLoggerDelegate(
const std::shared_ptr<LoggerDelegate>& loggerDelegate) { mLoggerDelegate = loggerDelegate; }
134 void SetLoggerConfiguration(
const std::shared_ptr<LoggerConfiguration>& loggerConfiguration) { mLoggerConfiguration = loggerConfiguration; }
148 void SetStorageDelegate(
const std::shared_ptr<StorageDelegate>& storageDelegate) { mStorageDelegate = storageDelegate; }
162 void SetHttpDelegate(
const std::shared_ptr<HttpDelegate>& httpDelegate) { mHttpDelegate = httpDelegate; }
194 void SetFeatureSettings(
const std::map<FlightingFeature, bool>& featureSettings) { mfeatureSettings = featureSettings; }
221 std::shared_ptr<LoggerDelegate> mLoggerDelegate;
222 std::shared_ptr<DiagnosticConfiguration> mDiagnosticConfiguration;
223 std::shared_ptr<StorageDelegate> mStorageDelegate;
224 std::map<FlightingFeature, bool> mfeatureSettings;
225 size_t mApiLogCacheMaxMessages;
226 std::shared_ptr<HttpDelegate> mHttpDelegate;
227 std::shared_ptr<LoggerConfiguration> mLoggerConfiguration;
Configuration used by MIP sdk during its creation and throughout its lifetime.
std::shared_ptr< xml::XmlDelegate > mXmlDelegate
std::shared_ptr< DiagnosticConfiguration > GetDiagnosticConfiguration() const
Get the Diagnostic (if any) provided by the application.
MipConfiguration(const ApplicationInfo &appInfo, const std::string &path, LogLevel thresholdLogLevel, bool isOfflineOnly)
std::shared_ptr< xml::XmlDelegate > GetXmlDelegate() const
Get the XmlDelegate (if any) override implementation.
const ApplicationInfo & GetApplicationInfo() const
Get the Description of host application.
void SetLoggerDelegate(const std::shared_ptr< LoggerDelegate > &loggerDelegate)
Set the LoggerDelegate (if any) override implementation.
const LogLevel & GetThresholdLogLevel() const
Get the Minimum log level for .miplog.
std::shared_ptr< JsonDelegate > mJsonDelegate
void SetFeatureSettings(const std::map< FlightingFeature, bool > &featureSettings)
Set the Flighting features which should be set to non-default values.
void SetLoggerConfiguration(const std::shared_ptr< LoggerConfiguration > &loggerConfiguration)
Override the default logger configuration.
std::map< FlightingFeature, bool > GetFeatureSettings() const
Get the Flighting features which should be set to non-default values.
const std::string & GetPath() const
Get the File path for logs, caches, etc.
void SetHttpDelegate(const std::shared_ptr< HttpDelegate > &httpDelegate)
Set the HttpDelegate (if any) override implementation.
std::shared_ptr< StorageDelegate > GetStorageDelegate() const
Get the StorageDelegate (if any) override implementation.
const bool isOfflineOnly() const
whether Network operations is enabled or disabled(not all actions supported when offline)
std::shared_ptr< HttpDelegate > GetHttpDelegate() const
Get the HttpDelegate (if any) override implementation.
std::shared_ptr< JsonDelegate > GetJsonDelegate() const
Get the JsonDelegate (if any) override implementation.
std::shared_ptr< LoggerDelegate > GetLoggerDelegate() const
Get the LoggerDelegate (if any) override implementation.
void SetDiagnosticConfiguration(const std::shared_ptr< DiagnosticConfiguration > &diagnosticConfiguration)
Override default configuration of diagnostic.
std::shared_ptr< LoggerConfiguration > GetLoggerConfiguration() const
Get the override configuration (if any) for the default logger implementation.
size_t GetApiLogCacheMaxMessages() const
Get the max messages per Api call that will be logged in the api log cache.
void SetStorageDelegate(const std::shared_ptr< StorageDelegate > &storageDelegate)
Set the StorageDelegate (if any) override implementation.
void SetApiLogCacheMaxMessages(size_t maxMessages)
Set the max messages per Api call that will be logged in the api log cache.
Defines custom telemetry or audit configurations.
A file containing the FlightingFeature definition.
Contains the JsonDelegate interface used to parse and produce JSON data.
LogLevel
Different log levels used across the MIP SDK.
A file containing the LoggerDelegate class to be used to override MIP logger.
Defines StorageDelegate interface.
A struct that includes application specific information.
A file containing the TaskDispatcherDelegate interface to be used to override MIP async task executor...
Contains XmlDelegate interface definition used to parse xml recieved by mip.