RMS SDK for C++  0.2.1
A client library for using Microsoft RMS from Linux.
ConsentCallbackImpl.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 _RMS_LIB_CONSENTCALLBACKIMPL_H_
10 #define _RMS_LIB_CONSENTCALLBACKIMPL_H_
11 
12 #include <string>
13 #include "IConsentCallbackImpl.h"
14 #include "IConsentCallback.h"
15 #include "ModernAPIExport.h"
16 
17 namespace rmscore {
18 namespace modernapi {
19 /*
20 * @brief Class wrapping IConsentCallback provided by library client.
21 */
23 public:
24  /*
25  * @brief Implementation of IConsentCallbackImpl.
26  * @param callback The IConsentCallback provided by the library client.
27  * @param userId ID of the user to be passed to the IConsentCallback.
28  * @param isPublishing Flag for publishing state.
29  */
31  const std::string& userId,
32  bool isPublishing);
39  virtual void Consents(const std::string & email,
40  const std::string & domain,
41  const std::vector<std::string>& urls) override;
42 
43 protected:
44 
45  IConsentCallback& m_callback;
46  std::shared_ptr<std::string> m_userId;
47  bool m_isPublishing;
48  std::shared_ptr<std::string> m_domain;
49 };
50 } // namespace modernapi
51 } // namespace rmscore
52 #endif // _RMS_LIB_CONSENTCALLBACKIMPL_H_
virtual void Consents(const std::string &email, const std::string &domain, const std::vector< std::string > &urls) override
Prepares Consent objects to pass to IConsentCallback.
Definition: ConsentCallbackImpl.cpp:34
Definition: IConsentCallbackImpl.h:19
Definition: ConsentCallbackImpl.h:22
Definition: AuthenticationCallbackImpl.h:16
Callback to be provided by library user to notify app user of actions to be taken and request their c...
Definition: IConsentCallback.h:24