You.i Engine
YiDeepLinkBridge.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2018. All rights reserved.
2 #ifndef _YI_DEEP_LINK_BRIDGE_H_
3 #define _YI_DEEP_LINK_BRIDGE_H_
4 
5 #include "network/YiUrl.h"
6 #include "signal/YiSignal.h"
7 
17 {
18 public:
19  typedef std::function<void(bool, const CYIUrl &)> OpenUrlCallback;
20 
21  virtual ~CYIDeepLinkBridge() {}
22 
28  void SetFirstLaunchUrl(const CYIUrl &url);
29 
33  const CYIUrl &GetFirstLaunchUrl() const;
34 
38  virtual bool CanOpenUrl(const CYIUrl &url) const = 0;
39 
46  void OpenUrl(const CYIUrl &url);
47 
55  void OpenUrl(const CYIUrl &url, OpenUrlCallback callback);
56 
69 
70 protected:
71  virtual void OpenUrlImpl(const CYIUrl &url, OpenUrlCallback callback) = 0;
72 
73 private:
74  CYIUrl m_firstLaunchUrl;
75 };
76 
81 #endif // _YI_DEEP_LINK_BRIDGE_H_
void SetFirstLaunchUrl(const CYIUrl &url)
const CYIUrl & GetFirstLaunchUrl() const
virtual bool CanOpenUrl(const CYIUrl &url) const =0
CYISignal< const CYIUrl & > IncomingUrlReceived
Definition: YiDeepLinkBridge.h:60
A class used to encapsulate an URL.
Definition: YiUrl.h:24
CYISignal< const CYIUrl & > OutgoingOpenUrlSucceeded
Definition: YiDeepLinkBridge.h:64
Class for accessing deep link urls which launched the app, and for launching other apps using urls...
Definition: YiDeepLinkBridge.h:16
std::function< void(bool, const CYIUrl &)> OpenUrlCallback
Definition: YiDeepLinkBridge.h:19
CYISignal< const CYIUrl & > OutgoingOpenUrlFailed
Definition: YiDeepLinkBridge.h:68
virtual void OpenUrlImpl(const CYIUrl &url, OpenUrlCallback callback)=0
void OpenUrl(const CYIUrl &url)
virtual ~CYIDeepLinkBridge()
Definition: YiDeepLinkBridge.h:21