diff options
author | Ilya Grechuhin <i.grechuhin@gmail.com> | 2016-11-28 17:35:08 +0300 |
---|---|---|
committer | Ilya Grechuhin <i.grechuhin@gmail.com> | 2016-11-28 17:35:29 +0300 |
commit | db4a6592645a100568f819ea69069f8dd6e4e7eb (patch) | |
tree | 8e237f918698ebc87de045a9b4dfcb38a1a7535d /platform | |
parent | eef657c692328af61a33124f306e7290de345d4e (diff) |
[MAPSME-2994] [ios] Adopted Network Policy.
Diffstat (limited to 'platform')
-rw-r--r-- | platform/network_policy.hpp | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/platform/network_policy.hpp b/platform/network_policy.hpp index a1e64112a2..da732e35b4 100644 --- a/platform/network_policy.hpp +++ b/platform/network_policy.hpp @@ -1,20 +1,40 @@ #pragma once +#include "std/function.hpp" + class _jobject; typedef _jobject * jobject; namespace platform { +class NetworkPolicy; +using PartnersApiFn = function<void(NetworkPolicy const & canUseNetwork)>; +} + +namespace network_policy +{ +void CallPartnersApi(platform::PartnersApiFn fn, bool force); +} + +namespace platform +{ /// Class that is used to allow or disallow remote calls. class NetworkPolicy { // Maker for android. friend NetworkPolicy ToNativeNetworkPolicy(jobject obj); - // Maker for ios. - // Dummy, real signature should be chosen by ios developer. - friend NetworkPolicy MakeNetworkPolicyIos(bool canUseNetwork); + + // iOS + friend void network_policy::CallPartnersApi(PartnersApiFn fn, bool force); public: + enum class Stage + { + Always, + Session, + Never + }; + bool CanUse() const { return m_canUse; } private: @@ -22,9 +42,4 @@ private: bool m_canUse = false; }; -// Dummy, real signature, implementation and location should be chosen by ios developer. -inline NetworkPolicy MakeNetworkPolicyIos(bool canUseNetwork) -{ - return NetworkPolicy(canUseNetwork); -} } // namespace platform |