Microsoft Information Protection (MIP) SDK for C++: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C++
Loading...
Searching...
No Matches
NoPermissionsExtendedError Class Referenceabstract

The user could not get access to the content due to extended Access checks like ABAC. More...

#include <src/api/mip/error.h>

+ Inheritance diagram for NoPermissionsExtendedError:
+ Collaboration diagram for NoPermissionsExtendedError:

Public Types

enum class  Category {
  Unknown = 0 ,
  UserNotFound = 1 ,
  AccessDenied = 2 ,
  AccessExpired = 3 ,
  InvalidEmail = 4 ,
  UnknownTenant = 5 ,
  NotOwner = 6 ,
  NotPremiumLicenseUser = 7 ,
  ClientVersionNotSupported = 8
}
 Category of no permissions error. More...
 

Public Member Functions

void AddDebugInfo (const std::string &key, const std::string &value, bool sensitive=false)
 Add debug info entry.
 
virtual std::shared_ptr< ErrorClone () const =0
 Clone the error.
 
Category GetCategory () const
 Gets the category of no permissions failure.
 
const std::map< std::string, std::string > & GetDebugInfo () const
 Get debug info.
 
const std::string & GetErrorName () const
 Get the error name.
 
virtual ErrorType GetErrorType () const
 Get the error type.
 
const std::string & GetMessage (bool maskPII=false) const
 Get the error message.
 
std::string GetOwner () const
 Gets the owner of the document.
 
std::string GetReferrer () const
 Gets the contact in case of missing rights to the document.
 
void SetMessage (const std::string &msg)
 Set the error message.
 
char const * what () const noexcept override
 Get the error message.
 

Public Attributes

std::map< std::string, std::string > mDebugInfo
 
std::string mMessage
 
std::string mName
 
ErrorType mType
 

Detailed Description

The user could not get access to the content due to extended Access checks like ABAC.

Definition at line 782 of file error.h.

Member Enumeration Documentation

◆ Category

enum class NoPermissionsError::Category
stronginherited

Category of no permissions error.

Enumerator
Unknown 

Unknown no permissions failure.

UserNotFound 

Requested user was not found failure.

AccessDenied 

Access to content or action was not permitted.

AccessExpired 

Access to content or action has expired.

InvalidEmail 
UnknownTenant 
NotOwner 

User needs to be owner to perform action.

NotPremiumLicenseUser 

User needs to be a premium license holder to perform action.

Tracking and Revocation for example

ClientVersionNotSupported 

User needs to update their client in order to support features used within this document >

Definition at line 677 of file error.h.

677 {
678 Unknown = 0, /**< Unknown no permissions failure */
679 UserNotFound = 1, /**< Requested user was not found failure */
680 AccessDenied = 2, /**< Access to content or action was not permitted */
681 AccessExpired = 3, /**< Access to content or action has expired */
682 InvalidEmail = 4,
683 UnknownTenant = 5,
684 NotOwner = 6, /**< User needs to be owner to perform action */
685 NotPremiumLicenseUser = 7, /**< User needs to be a premium license holder to perform action. Tracking and Revocation for example */
686 ClientVersionNotSupported = 8, /**< User needs to update their client in order to support features used within this document >*/
687 };
@ AccessExpired
Access to content or action has expired.
@ UserNotFound
Requested user was not found failure.
@ NotOwner
User needs to be owner to perform action.
@ Unknown
Unknown no permissions failure.
@ NotPremiumLicenseUser
User needs to be a premium license holder to perform action.
@ ClientVersionNotSupported
User needs to update their client in order to support features used within this document >
@ AccessDenied
Access to content or action was not permitted.

Member Function Documentation

◆ AddDebugInfo()

void Error::AddDebugInfo ( const std::string & key,
const std::string & value,
bool sensitive = false )
inlineinherited

Add debug info entry.

Parameters
keyDebug info key
valueDebug info value

Definition at line 179 of file error.h.

179 {
180 if (!key.empty() && !value.empty()) {
181 mDebugInfo[key] = value;
182 mFormattedMessage = mFormattedMessage + ", " + key + "=" + value;
183 mMaskedMessage = mMaskedMessage + ", " + key + "=" + (sensitive ? "***" : value);
184 }
185 }
std::map< std::string, std::string > mDebugInfo
Definition error.h:225

References Error::mDebugInfo.

Referenced by DelegateResponseError::DelegateResponseError(), DelegateResponseError::DelegateResponseError(), and DelegateResponseError::DelegateResponseError().

◆ Clone()

virtual std::shared_ptr< Error > Error::Clone ( ) const
pure virtualinherited

Clone the error.

Returns
a clone of the error.

Implemented in JustificationRequiredError.

◆ GetCategory()

Category NoPermissionsError::GetCategory ( ) const
inlineinherited

Gets the category of no permissions failure.

Returns
Category of no permissions failure

Definition at line 755 of file error.h.

755{ return mCategory; }

◆ GetDebugInfo()

const std::map< std::string, std::string > & Error::GetDebugInfo ( ) const
inlineinherited

Get debug info.

Returns
Debug info (keys/values)

Definition at line 192 of file error.h.

192{ return mDebugInfo; }

References Error::mDebugInfo.

◆ GetErrorName()

const std::string & Error::GetErrorName ( ) const
inlineinherited

Get the error name.

Returns
the error name.

Definition at line 144 of file error.h.

144{ return mName; }
std::string mName
Definition error.h:226

References Error::mName.

◆ GetErrorType()

virtual ErrorType Error::GetErrorType ( ) const
inlinevirtualinherited

Get the error type.

Returns
the error type.

Definition at line 137 of file error.h.

137{ return mType; }
ErrorType mType
Definition error.h:227

References Error::mType.

◆ GetMessage()

const std::string & Error::GetMessage ( bool maskPII = false) const
inlineinherited

Get the error message.

Returns
the error message.

Definition at line 151 of file error.h.

151 {
152 return maskPII ? mMaskedMessage : mFormattedMessage;
153 }

◆ GetOwner()

std::string NoPermissionsError::GetOwner ( ) const
inlineinherited

Gets the owner of the document.

Returns
Document owner

Definition at line 748 of file error.h.

748{ return mOwner; }

◆ GetReferrer()

std::string NoPermissionsError::GetReferrer ( ) const
inlineinherited

Gets the contact in case of missing rights to the document.

Returns
The contact in case of missing rights to the document.

Definition at line 741 of file error.h.

741{ return mReferrer; }

◆ SetMessage()

void Error::SetMessage ( const std::string & msg)
inlineinherited

Set the error message.

Parameters
msgthe error message.

Definition at line 160 of file error.h.

160 {
161 std::string* targetStrings[] = { &mFormattedMessage, &mMaskedMessage };
162 for (auto* targetString : targetStrings) {
163 size_t pos = targetString->find(mMessage);
164 if (pos != std::string::npos) {
165 targetString->replace(pos, mMessage.length(), msg);
166 } else {
167 targetString->replace(0, 0, msg);
168 }
169 }
170 mMessage = msg;
171 }
std::string mMessage
Definition error.h:224

References Error::mMessage.

◆ what()

char const * Error::what ( ) const
inlineoverridenoexceptinherited

Get the error message.

Returns
the error message

Definition at line 121 of file error.h.

121 {
122 return mFormattedMessage.c_str();
123 }

Member Data Documentation

◆ mDebugInfo

std::map<std::string, std::string> Error::mDebugInfo
inherited

Definition at line 225 of file error.h.

Referenced by Error::AddDebugInfo(), and Error::GetDebugInfo().

◆ mMessage

std::string Error::mMessage
inherited

Definition at line 224 of file error.h.

Referenced by DelegateResponseError::DelegateResponseError(), and Error::SetMessage().

◆ mName

std::string Error::mName
inherited

Definition at line 226 of file error.h.

Referenced by Error::GetErrorName().

◆ mType

ErrorType Error::mType
inherited

Definition at line 227 of file error.h.

Referenced by Error::GetErrorType().


The documentation for this class was generated from the following file: