33#ifndef API_MIP_MIP_CONTEXT_H_
34#define API_MIP_MIP_CONTEXT_H_
54class ProtectionCloudManager;
55class PolicyCloudManager;
56class OneDSCloudManager;
57class TelemetryManager;
58struct DiagnosticClientHandle {
59 DiagnosticClientHandle() {}
60 DiagnosticClientHandle(
const char *diagnosticType, int64_t diagnosticHandle)
61 : type(diagnosticType),
62 handle(diagnosticHandle) {}
64 const char *type = {};
75#ifndef MIP_CORE_PACKAGE
88#if !defined(SWIG) && !defined(SWIG_DIRECTORS)
89 [[deprecated(
"MipContext::Create(...) is deprecated, use MipContext::Create(const std::shared_ptr<const MipConfiguration>&)")]]
91 MIP_API
static std::shared_ptr<MipContext> __CDECL
Create(
93 const std::string& path,
96 const std::shared_ptr<LoggerDelegate>& loggerDelegateOverride,
97 const std::shared_ptr<DiagnosticConfiguration>& diagnosticOverride);
112#if !defined(SWIG) && !defined(SWIG_DIRECTORS)
113 [[deprecated(
"MipContext::CreateWithCustomFeatureSettings is deprecated, use MipContext::Create(const std::shared_ptr<const MipConfiguration>&)")]]
117 const std::string& path,
120 const std::shared_ptr<LoggerDelegate>& loggerDelegateOverride,
121 const std::shared_ptr<DiagnosticConfiguration>& diagnosticOverride,
122 const std::map<FlightingFeature, bool>& featureSettingsOverride);
132 MIP_API
static std::shared_ptr<MipContext> __CDECL
Create(
133 const std::shared_ptr<const MipConfiguration>& configuration);
231 virtual const ProtectionCloudManager& GetProtectionCloudManager()
const = 0;
232 virtual const PolicyCloudManager& GetPolicyCloudManager()
const = 0;
233 virtual const OneDSCloudManager& GetOneDSCloudManager()
const = 0;
234 virtual std::shared_ptr<TelemetryManager> GetTelemetryManager()
const = 0;
235 virtual std::shared_ptr<AuditManager> GetAuditManager()
const = 0;
236 virtual TelemetryManager* GetRawTelemetryManager()
const = 0;
237 virtual std::shared_ptr<JsonDelegate> GetJsonDelegate()
const = 0;
238 virtual DiagnosticClientHandle AddDiagnosticClient(
Cloud cloud,
DataBoundary dataBoundary)
const = 0;
239 virtual const std::shared_ptr<EventContext> GetDefaultEventContext()
const = 0;
249 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:72
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 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 const LoggerConfiguration & GetLoggerConfiguration() const =0
Gets the logger configuration that will be used by the default logger.
A file Containing the common types used by the upe, file and protection modules.
Cloud
Azure cloud identifier.
Definition common_types.h:728
DataBoundary
Diagnostic region identifier.
Definition common_types.h:745
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:523
Configuration to use when default logging is enabled. This is set only once per process and any later...
Definition diagnostic_configuration.h:80
A file containing the TelemetryDelegate class to be used to override MIP telemetry.
Contains XmlDelegate interface definition used to parse xml recieved by mip.