33#ifndef API_MIP_MIP_CONTEXT_H_
34#define API_MIP_MIP_CONTEXT_H_
49#include "mip/xml_delegate.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 const std::shared_ptr<OneDSAriaHelper> GetOneDSAriaHelper()
const = 0;
247 virtual const 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.
MipContext represents state that is shared across all profiles, engines, handlers.
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.
Defines custom telemetry or audit configurations.
A file containing the FlightingFeature definition.
FlightingFeature
Defines new features by name.
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 configuration for all external mip delegates.
A file export/import macros.
A struct that includes application specific information.
Configuration to use when default logging is enabled. This is set only once per process and any later...
A file containing the TelemetryDelegate class to be used to override MIP telemetry.