Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Grechuhin <i.grechuhin@gmail.com>2016-11-28 17:35:08 +0300
committerIlya Grechuhin <i.grechuhin@gmail.com>2016-11-28 17:35:29 +0300
commitdb4a6592645a100568f819ea69069f8dd6e4e7eb (patch)
tree8e237f918698ebc87de045a9b4dfcb38a1a7535d /platform
parenteef657c692328af61a33124f306e7290de345d4e (diff)
[MAPSME-2994] [ios] Adopted Network Policy.
Diffstat (limited to 'platform')
-rw-r--r--platform/network_policy.hpp31
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