RMS SDK for C++  0.2.1
A client library for using Microsoft RMS from Linux.
IConsent.h
1 /*
2  * ======================================================================
3  * Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
4  * Licensed under the MIT License.
5  * See LICENSE.md in the project root for license information.
6  * ======================================================================
7 */
8 
9 #ifndef ICONSENT
10 #define ICONSENT
11 
12 #include <string>
13 #include <vector>
14 #include "ConsentType.h"
15 #include "ConsentResult.h"
16 #include "ModernAPIExport.h"
17 
18 namespace rmscore {
19 namespace modernapi {
23 class IConsent {
24 public:
28  virtual const ConsentResult& Result() const = 0;
29 
30  // TODO (gcc): resolve conflict between this and rmscore::modernapi::ConsentResult
31  // virtual void ConsentResult(const ConsentResult& value) = 0;
32 
36  virtual ConsentType Type() const = 0;
37 
41  virtual const std::vector<std::string>Urls() const = 0;
42 
46  virtual const std::string User() const = 0;
47 
51  virtual const std::string Domain() const = 0;
52 };
53 } // namespace modernapi
54 } // namespace rmscore
55 
56 #endif // ICONSENT
virtual const std::vector< std::string > Urls() const =0
List of URLs for which consent is granted/refused.
Definition: AuthenticationCallbackImpl.h:16
virtual ConsentType Type() const =0
The type of URL to consented to.
virtual const std::string Domain() const =0
Just the domain.
virtual const std::string User() const =0
The user granting/refusing consent.
virtual const ConsentResult & Result() const =0
Result of a consent request.