33#ifndef API_MIP_MIP_CONTEXT_H_
34#define API_MIP_MIP_CONTEXT_H_
55class ProtectionCloudManager;
56class PolicyCloudManager;
57class OneDSCloudManager;
58class TelemetryManager;
69#ifndef MIP_CORE_PACKAGE
82#if !defined(SWIG) && !defined(SWIG_DIRECTORS)
83 [[deprecated(
"MipContext::Create(...) is deprecated, use MipContext::Create(const std::shared_ptr<const MipConfiguration>&)")]]
85 MIP_API
static std::shared_ptr<MipContext> __CDECL
Create(
87 const std::string& path,
90 const std::shared_ptr<LoggerDelegate>& loggerDelegateOverride,
91 const std::shared_ptr<DiagnosticConfiguration>& diagnosticOverride);
106#if !defined(SWIG) && !defined(SWIG_DIRECTORS)
107 [[deprecated(
"MipContext::CreateWithCustomFeatureSettings is deprecated, use MipContext::Create(const std::shared_ptr<const MipConfiguration>&)")]]
111 const std::string& path,
114 const std::shared_ptr<LoggerDelegate>& loggerDelegateOverride,
115 const std::shared_ptr<DiagnosticConfiguration>& diagnosticOverride,
116 const std::map<FlightingFeature, bool>& featureSettingsOverride);
126 MIP_API
static std::shared_ptr<MipContext> __CDECL
Create(
127 const std::shared_ptr<const MipConfiguration>& configuration);
239 virtual std::shared_ptr<ProtectionCloudManager> GetProtectionCloudManager()
const = 0;
240 virtual std::shared_ptr<PolicyCloudManager> GetPolicyCloudManager()
const = 0;
241 virtual std::shared_ptr<OneDSCloudManager> GetOneDSCloudManager()
const = 0;
242 virtual std::shared_ptr<TelemetryManager> GetTelemetryManager()
const = 0;
243 virtual std::shared_ptr<AuditManager> GetAuditManager()
const = 0;
244 virtual TelemetryManager* GetRawTelemetryManager()
const = 0;
245 virtual std::shared_ptr<JsonDelegate> GetJsonDelegate()
const = 0;
246 virtual std::shared_ptr<OneDSAriaHelper> GetOneDSAriaHelper()
const = 0;
247 virtual std::shared_ptr<EventContext> GetDefaultEventContext()
const = 0;
248 virtual void InitializeCloudDiscoveryStores(
const CacheStorageType cacheStorageType) = 0;
258 virtual std::shared_ptr<xml::XmlDelegate> GetXmlDelegate()
const = 0;
A class that defines the interface to the MIP SDK logger.
Definition logger_delegate.h:49
MipContext represents state that is shared across all profiles, engines, handlers.
Definition mip_context.h:66
virtual const std::string & GetMipPath() const =0
Get file path for logs, caches, etc.
virtual std::shared_ptr< HttpDelegate > GetHttpDelegate() const =0
Get Http implementation.
static MIP_API std::shared_ptr< MipContext > __CDECL Create(const ApplicationInfo &appInfo, const std::string &path, LogLevel thresholdLogLevel, bool isOfflineOnly, const std::shared_ptr< LoggerDelegate > &loggerDelegateOverride, const std::shared_ptr< DiagnosticConfiguration > &diagnosticOverride)
Create a new MipContext instance to be used when initializing profiles.
static MIP_API std::shared_ptr< MipContext > __CDECL CreateWithCustomFeatureSettings(const ApplicationInfo &appInfo, const std::string &path, LogLevel thresholdLogLevel, bool isOfflineOnly, const std::shared_ptr< LoggerDelegate > &loggerDelegateOverride, const std::shared_ptr< DiagnosticConfiguration > &diagnosticOverride, const std::map< FlightingFeature, bool > &featureSettingsOverride)
Create a new MipContext instance with custom feature settings.
virtual const ApplicationInfo & GetApplicationInfo() const =0
Get application description.
virtual std::shared_ptr< LoggerDelegate > GetLoggerDelegate() const =0
Get logger implementation.
virtual std::shared_ptr< StorageDelegate > GetStorageDelegate() const =0
Get Storage Delegate implementation if provided.
virtual LogLevel GetThresholdLogLevel() const =0
Get threshold log level.
virtual const std::shared_ptr< const MipConfiguration > & GetMipConfiguration() const =0
Gets the mip configuration that was used to create the MipContext.
virtual bool IsFeatureEnabled(FlightingFeature feature) const =0
Gets whether or not a feature is enabled.
virtual void ShutDown()=0
Terminate MIP.
virtual LoggerDelegate * GetRawLoggerDelegate() const =0
Get raw logger implementation.
virtual std::shared_ptr< CacheStorageType > GetCacheStorageType() const =0
Get whether caches are stored in memory or on disk.
virtual bool IsOfflineOnly() const =0
Get offline-only setting.
virtual const std::map< FlightingFeature, bool > & GetFlightingFeatures() const =0
Get flighting feature set.
static MIP_API std::shared_ptr< MipContext > __CDECL Create(const std::shared_ptr< const MipConfiguration > &configuration)
Create a new MipContext instance with mip configuration.
virtual std::shared_ptr< CloudDiscoveryDelegate > GetCloudDiscoveryDelegate() const =0
Get Cloud Discovery Delegate implementation if provided.
virtual const LoggerConfiguration & GetLoggerConfiguration() const =0
Gets the logger configuration that will be used by the default logger.
Defines CouldDiscoveryDelegate interface.
A file Containing the common types used by the upe, file and protection modules.
CacheStorageType
Storage type for the caches.
Definition common_types.h:734
Defines custom telemetry or audit configurations.
A file containing the FlightingFeature definition.
FlightingFeature
Defines new features by name.
Definition flighting_feature.h:45
Contains the JsonDelegate interface used to parse and produce JSON data.
LogLevel
Different log levels used across the MIP SDK.
Definition log_message_data.h:48
A file containing the LoggerDelegate class to be used to override MIP logger.
Defines configuration for all external mip delegates.
A file export/import macros.
A struct that includes application specific information.
Definition common_types.h:531
Configuration to use when default logging is enabled. This is set only once per process and any later...
Definition diagnostic_configuration.h:81
A file containing the TelemetryDelegate class to be used to override MIP telemetry.
Contains XmlDelegate interface definition used to parse xml recieved by mip.