Microsoft Information Protection (MIP) SDK for C: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C
Loading...
Searching...
No Matches
mip_context_cc.h
Go to the documentation of this file.
1/*
2 *
3 * Copyright (c) Microsoft Corporation.
4 * All rights reserved.
5 *
6 * This code is licensed under the MIT License.
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a copy
9 * of this software and associated documentation files(the "Software"), to deal
10 * in the Software without restriction, including without limitation the rights
11 * to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
12 * copies of the Software, and to permit persons to whom the Software is
13 * furnished to do so, subject to the following conditions :
14 *
15 * The above copyright notice and this permission notice shall be included in
16 * all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
21 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 * THE SOFTWARE.
25 *
26 */
27
28/**
29 * @brief Defines C-Style MipContext functions
30 *
31 * @file mip_context_cc.h
32 */
33
34#ifndef API_MIP_MIP_CONTEXT_CC_H_
35#define API_MIP_MIP_CONTEXT_CC_H_
36
37#include <stdint.h>
38
41#include "mip_cc/error_cc.h"
45#include "mip_cc/result_cc.h"
47
49
50/**
51 * @brief Defines a single feature's enabled/disabled state
52 */
53typedef struct {
54 mip_cc_flighting_feature feature; /**< Feature name */
55 bool value; /**< Enabled/disabled state */
57
58/**
59 * @brief Create a MIP context to manage state shared across all profile instances
60 *
61 * @param applicationInfo Info about application that is consuming the protection SDK
62 * @param path File path under which logging, telemetry, and other protection collateral is stored
63 * @param logLevel Minimum log level for .miplog
64 * @param isOfflineOnly Enable/disable network operations (not all actions supported when offline)
65 * @param loggerDelegateOverride (Optional) Logger override implementation
66 * @param diagnosticOverride (Optional) Overridden telemetry settings. If NULL, default settings will be used
67 * @param mipContext [Output] Newly-created MIP context instance
68 * @param errorInfo [Output] (Optional) Failure info if operation result is error
69 *
70 * @return Result code indicating success or failure
71 */
72MIP_CC_API(mip_cc_result) MIP_CC_CreateMipContext(
73 const mip_cc_application_info* applicationInfo,
74 const char* path,
76 const bool isOfflineOnly,
81
82/**
83 * @brief Create a MIP context to manage state shared across all profile instances
84 *
85 * @param applicationInfo Info about application that is consuming the protection SDK
86 * @param path File path under which logging, telemetry, and other protection collateral is stored
87 * @param logLevel Minimum log level for .miplog
88 * @param isOfflineOnly Enable/disable network operations (not all actions supported when offline)
89 * @param loggerDelegateOverride (Optional) Logger override implementation
90 * @param diagnosticOverride (Optional) Overridden telemetry settings. If NULL, default settings will be used
91 * @param featureSettings (Optional) Array of custom feature overrides
92 * @param featureSettingsSize Size of custom feature overrides (in # of overrides)
93 * @param mipContext [Output] Newly-created MIP context instance
94 * @param errorInfo [Output] (Optional) Failure info if operation result is error
95 *
96 * @return Result code indicating success or failure
97 */
98MIP_CC_API(mip_cc_result) MIP_CC_CreateMipContextWithCustomFeatureSettings(
99 const mip_cc_application_info* applicationInfo,
100 const char* path,
102 const bool isOfflineOnly,
106 const int64_t featureSettingsSize,
109
110/**
111 * @brief Release resources associated with a MIP context
112 *
113 * @param mipContext MIP context to be released
114 */
115MIP_CC_API(void) MIP_CC_ReleaseMipContext(mip_cc_mip_context mipContext);
116
117#endif // API_MIP_MIP_CONTEXT_CC_H_
ApplicationInfo definition.
A file Containing the common types used by the upe, file and protection modules.
Error definition and functions.
Flighting feature definition.
mip_cc_flighting_feature
Defines new features by name.
Defines logger callback functions.
mip_cc_log_level
Log level.
const char const mip_cc_log_level const bool const mip_cc_logger_delegate loggerDelegateOverride
const char const mip_cc_log_level logLevel
const char * path
MIP_CC_API(void) MIP_CC_ReleaseMipContext(mip_cc_mip_context mipContext)
Release resources associated with a MIP context.
const char const mip_cc_log_level const bool const mip_cc_logger_delegate const mip_cc_telemetry_configuration const mip_cc_feature_override const int64_t featureSettingsSize
const char const mip_cc_log_level const bool const mip_cc_logger_delegate const mip_cc_telemetry_configuration const mip_cc_feature_override * featureSettings
const char const mip_cc_log_level const bool isOfflineOnly
const char const mip_cc_log_level const bool const mip_cc_logger_delegate const mip_cc_telemetry_configuration mip_cc_mip_context mip_cc_error * errorInfo
const char const mip_cc_log_level const bool const mip_cc_logger_delegate const mip_cc_telemetry_configuration mip_cc_mip_context * mipContext
const char const mip_cc_log_level const bool const mip_cc_logger_delegate const mip_cc_telemetry_configuration diagnosticOverride
mip_cc_handle * mip_cc_mip_context
Export/import and other macros for C API.
Defines success/error result codes.
mip_cc_result
API success/failure result.
Definition result_cc.h:44
A struct that includes application specific information.
Error information.
Definition error_cc.h:79
Defines a single feature's enabled/disabled state.
bool value
Enabled/disabled state.
mip_cc_flighting_feature feature
Feature name.
Opaque handle to MIP object.
Defines custom telemetry settings.