RMS SDK for C++  0.2.1
A client library for using Microsoft RMS from Linux.
Url.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 IURL
10 #define IURL
11 
12 #include "types.h"
13 
14 namespace rmsauth {
15 
16 class IUrl
17 {
18 public:
19  virtual void setUrl(const String&) = 0;
20  virtual String toString() const = 0;
21  virtual String scheme() const = 0;
22  virtual String authority() const = 0;
23  virtual String host() const = 0;
24  virtual String fragment() const = 0;
25  virtual String path() const = 0;
26  virtual bool isValid() const = 0;
27 };
28 
29 class Url : public IUrl
30 {
31 public:
32  Url();
33  Url(const String& url);
34  void setUrl(const String& url) override;
35  String toString() const override;
36  String scheme() const override;
37  String authority() const override;
38  String host() const override;
39  String fragment() const override;
40  String path() const override;
41  bool isValid() const override;
42 
43 private:
44  ptr<IUrl> pImpl;
45 };
46 
47 using UrlPtr = ptr<Url>;
48 
49 } // namespace rmsauth {
50 
51 #endif // IURL
52 
Definition: Url.h:16
Definition: Url.h:29
Definition: AcquireTokenForClientHandler.h:14