Remove deprecated code (roaming_agent)
authorJihoon Chung <jihoon.chung@samsung.com>
Mon, 5 Nov 2012 07:21:53 +0000 (16:21 +0900)
committerJihoon Chung <jihoon.chung@samsung.com>
Wed, 7 Nov 2012 04:39:38 +0000 (13:39 +0900)
[Issue#] N/A
[Problem] Remove deprecated code for roaming_agent
[Cause] N/A
[Solution] WRT will use system contorl for management network in
case of roaming
[SCMRequest] N/A

Change-Id: I0f5bc38c2882852f7a1bee9d2ef0c055b9f8ec7c

CMakeLists.txt
roaming_error.msg [deleted file]
src/view/common/CMakeLists.txt
src/view/common/roaming_agent.cpp [deleted file]
src/view/common/roaming_agent.h [deleted file]
src/view/common/view_logic_security_support.h
src/view/webkit/bundles/bundle_uri_handling.cpp
src/view/webkit/view_logic.cpp
src/view/webkit/view_logic.h

index 6f25f53..9d14f21 100644 (file)
@@ -138,10 +138,6 @@ INSTALL(FILES ${CMAKE_SOURCE_DIR}/warp_security_error.msg
     DESTINATION /usr/etc/wrt/
     PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE
     )
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/roaming_error.msg
-    DESTINATION /usr/etc/wrt/
-    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE
-    )
 INSTALL(FILES ${CMAKE_SOURCE_DIR}/parental.png
     DESTINATION /usr/etc/wrt/
     PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE
diff --git a/roaming_error.msg b/roaming_error.msg
deleted file mode 100644 (file)
index f8fd9e9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-This request was blocked because this site is not allowed to run in roaming mode.
index 2e63458..46422a7 100644 (file)
@@ -47,7 +47,6 @@ SET(VIEW_COMMON_SOURCES
     ${PROJECT_SOURCE_DIR}/src/view/common/application_data.cpp
     ${PROJECT_SOURCE_DIR}/src/view/common/application_launcher.cpp
     ${PROJECT_SOURCE_DIR}/src/view/common/evas_object.cpp
-    ${PROJECT_SOURCE_DIR}/src/view/common/roaming_agent.cpp
     ${PROJECT_SOURCE_DIR}/src/view/common/scheme.cpp
     ${PROJECT_SOURCE_DIR}/src/view/common/scheme_action_map.cpp
     ${PROJECT_SOURCE_DIR}/src/view/common/youtubehd.cpp
diff --git a/src/view/common/roaming_agent.cpp b/src/view/common/roaming_agent.cpp
deleted file mode 100644 (file)
index 5d7433e..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-/**
- * @file    roaming_agent.cpp
- * @author  Pawel Sikorski (p.sikorski@samsung.com)
- * @author  Lukasz Marek (l.marek@samsung.com)
- * @version 1.0
- * @brief   roaming agent
- */
-
-#include "roaming_agent.h"
-#include <PopupInvoker.h>
-#include <global_logic.h>
-#include <global_model.h>
-#include <dpl/singleton_impl.h>
-#include <dpl/log/log.h>
-#include <dpl/utils/wrt_global_settings.h>
-#include <vconf.h>
-
-IMPLEMENT_SINGLETON(RoamingAgent)
-
-namespace {
-const char* CONNECTING_ROAMING_NETWORK = "Connecting to Roaming Network";
-const char* CONNECTING_HOME_NETWORK = "Connecting to Home Network";
-const char* CONNECTION_WARNING =
-    "Your terminal is going online.<br>"
-    "Be aware that data charges might apply!<br>"
-    "Do you want to continue?";
-
-const char* KEEP_CONNECTION_WARNING =
-    "Notwork type changed.<br>"
-    "Do you want to keep active connections?";
-} // anonymous
-
-RoamingAgent::RoamingAgent()
-{
-    if (GlobalSettings::RoamingTestModeEnabled()) {
-        return;
-    }
-    //setting say if we are using roaming network or home network
-    int result = 0;
-    if (vconf_get_int(VCONFKEY_TELEPHONY_SVC_ROAM, &result) != 0) {
-        LogError("Cannot get current roaming status");
-    } else {
-        bool type = (result == VCONFKEY_TELEPHONY_SVC_ROAM_ON);
-        m_networkType = type ? ROAMING : HOME;
-        LogInfo("Network type is " << (type ? "ROAMING" : "HOME"));
-    }
-    //setting says if roaming is enabled at all
-    if (vconf_get_bool(VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL,
-                       &result) == -1) {
-        LogError("Cannot get current network setting");
-    } else {
-        m_roamingNetworkEnabled = result;
-        LogInfo("Roaming is " << (result ? "ENABLED" : "DISABLED"));
-    }
-
-    GlobalModel *globalModel =
-        GlobalLogicSingleton::Instance().GetGlobalModel();
-
-    //read current home network access setting
-    SaveNetworkAccessMode(HOME, globalModel->HomeNetworkAccess.Get());
-    //read current roaming network access setting
-    SaveNetworkAccessMode(ROAMING, globalModel->RoamingNetworkAccess.Get());
-
-    LogInfo("Roaming network setting " << m_networkOption.Option(ROAMING));
-    LogInfo("Home network network setting " << m_networkOption.Option(HOME));
-
-    globalModel->HomeNetworkAccess.AddListener(DPL::MakeDelegate(this,
-                                                                 &RoamingAgent
-                                                                     ::
-                                                                     OnHomeNetworkAccessModeChanged));
-    globalModel->RoamingNetworkAccess.AddListener(DPL::MakeDelegate(this,
-                                                                    &
-                                                                    RoamingAgent
-                                                                        ::
-                                                                        OnRoamingNetworkAccessModeChanged));
-
-    // current network is roaming or local
-    if (vconf_notify_key_changed(
-        VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL,
-            vConfChagedCallback, this) < 0)
-    {
-        LogError("Cannot add vconf callback [" <<
-                 VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL << "]");
-    }
-
-    if (vconf_notify_key_changed(
-        VCONFKEY_TELEPHONY_SVC_ROAM,
-        vConfChagedCallback, this) < 0)
-    {
-        LogError("Cannot add vconf callback [" <<
-                 VCONFKEY_TELEPHONY_SVC_ROAM << "]");
-    }
-
-    if (vconf_notify_key_changed(
-            VCONFKEY_NETWORK_WIFI_STATE,
-            vConfChagedCallback, this) < 0)
-    {
-        LogError("Cannot add vconf callback [" <<
-                            VCONFKEY_NETWORK_WIFI_STATE << "]");
-    }
-}
-
-RoamingAgent::~RoamingAgent()
-{
-    if (GlobalSettings::RoamingTestModeEnabled()) {
-        return;
-    }
-
-    GlobalModel *globalModel =
-        GlobalLogicSingleton::Instance().GetGlobalModel();
-    globalModel->HomeNetworkAccess.RemoveListener(DPL::MakeDelegate(this,
-                                                                    &
-                                                                    RoamingAgent
-                                                                        ::
-                                                                        OnHomeNetworkAccessModeChanged));
-    globalModel->RoamingNetworkAccess.RemoveListener(DPL::MakeDelegate(this,
-                                                                       &
-                                                                       RoamingAgent
-                                                                           ::
-                                                                           OnRoamingNetworkAccessModeChanged));
-}
-
-bool RoamingAgent::CheckAccess()
-{
-    if (GlobalSettings::RoamingTestModeEnabled()) {
-        return true;
-    }
-
-    //Don't allow to use network when global phone setting doesn't allow it
-    if (m_networkType == ROAMING && !m_roamingNetworkEnabled) {
-        LogInfo("global phone setting turned off roaming usage");
-        return false;
-    }
-
-    return AskUser(CONNECTION_WARNING);
-}
-
-bool RoamingAgent::AskUser(const std::string &label)
-{
-    // If current network uses wifi, pass the roaming check
-    int wifiState = VCONFKEY_NETWORK_WIFI_OFF;
-    if (vconf_get_int(VCONFKEY_NETWORK_WIFI_STATE, &wifiState) < 0) {
-        LogError("Fail to get wifi state");
-    } else {
-        if (VCONFKEY_NETWORK_WIFI_CONNECTED == wifiState) {
-            LogInfo("Current network uses WIFI");
-            return true;
-        }
-    }
-
-    NetworkOptionType &option = m_networkOption.Option(m_networkType);
-
-    switch (option) {
-    case NEVER_CONNECT:
-        LogInfo("Network option: never connect");
-        return false;
-    case CONNECT_AUTO:
-        LogInfo("Network option: connect automatically");
-        return true;
-    case ALWAYS_ASK:
-        LogInfo("Network option: always ask");
-        if (!(m_userAnswer.Answer(m_networkType).IsNull())) {
-            return *m_userAnswer.Answer(m_networkType);
-        }
-        //create popup and ask user
-        {
-            std::string title(m_networkType == ROAMING ?
-                              CONNECTING_ROAMING_NETWORK :
-                              CONNECTING_HOME_NETWORK);
-
-            bool response = Wrt::PopupInvoker().askYesNo(title, label);
-
-            LogDebug("Answer: " << response);
-
-            m_userAnswer.Answer(m_networkType) = response;
-            return response;
-        }
-    }
-    return false;
-}
-
-void RoamingAgent::Disconnect()
-{
-    if (m_optionalDisconnectCallback.IsNull()) {
-        LogWarning("No disconnect callback set. Ignoring...");
-    } else {
-        LogInfo("disconnecting connections");
-        (*m_optionalDisconnectCallback)();
-    }
-}
-
-void RoamingAgent::HandleDisconnection()
-{
-    if (!AskUser(KEEP_CONNECTION_WARNING)) {
-        Disconnect();
-    }
-}
-
-void RoamingAgent::NetworkAccessModeChanged(NetworkType networkType,
-        GlobalModel::NetworkAccessMode mode)
-{
-    if (GlobalSettings::RoamingTestModeEnabled()) {
-        return;
-    }
-    SaveNetworkAccessMode(networkType, mode);
-    HandleDisconnection();
-}
-
-void RoamingAgent::vConfChagedCallback(keynode_t *keyNode, void *data)
-{
-    LogInfo("vConfChagedCallback ");
-    RoamingAgent *roamAgent = static_cast<RoamingAgent *>(data);
-    if (GlobalSettings::RoamingTestModeEnabled()) {
-        return;
-    }
-
-    char *key = vconf_keynode_get_name(keyNode);
-    if (NULL == key) {
-        LogWarning("vconf key is null.");
-        return;
-    }
-    std::string keyString = key;
-
-    // current network is roaming or local
-    if (VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL == keyString) {
-        int value = vconf_keynode_get_bool(keyNode);
-
-        LogInfo("Network is now " << (value ? "ENABLED" : "DISABLED"));
-        if (roamAgent->m_roamingNetworkEnabled != value) {
-            roamAgent->m_roamingNetworkEnabled = value;
-            roamAgent->HandleDisconnection();
-        }
-        return;
-    }
-
-    // allow data connection in the roaming network
-    if (VCONFKEY_TELEPHONY_SVC_ROAM == keyString) {
-        int isRoaming = VCONFKEY_TELEPHONY_SVC_ROAM_OFF;
-        if(vconf_get_int(VCONFKEY_TELEPHONY_SVC_ROAM, &isRoaming) != 0) {
-            LogPedantic("Cannot get current roaming status");
-            return;
-        } else {
-            NetworkType networkType =
-                (isRoaming == VCONFKEY_TELEPHONY_SVC_ROAM_ON) ? ROAMING : HOME;
-
-            if (networkType != roamAgent->m_networkType) {
-                roamAgent->m_networkType = networkType;
-                LogInfo("Network type changed into " <<
-                        (isRoaming ? "Roaming" : "Home network"));
-                roamAgent->HandleDisconnection();
-            }
-        }
-        return;
-    }
-
-    // wifi setting
-    if (VCONFKEY_NETWORK_WIFI_STATE == keyString) {
-        roamAgent->HandleDisconnection();
-    }
-
-    Assert("Unknown key callback is called");
-    return;
-}
-
-void RoamingAgent::SaveNetworkAccessMode(NetworkType networkType,
-        GlobalModel::NetworkAccessMode mode)
-{
-    LogDebug("SaveNetworkAccessMode");
-    switch (mode) {
-    case GlobalModel::NEVER_CONNECT:
-        m_networkOption.Option(networkType) = NEVER_CONNECT;
-        break;
-    case GlobalModel::CONNECT_AUTOMATICALLY:
-        m_networkOption.Option(networkType) = CONNECT_AUTO;
-        break;
-    case GlobalModel::ALWAYS_ASK:
-        m_networkOption.Option(networkType) = ALWAYS_ASK;
-        break;
-    default:
-        LogWarning("Invalid network access, using default");
-        m_networkOption.Option(networkType) = ALWAYS_ASK;
-        break;
-    }
-}
-
-void RoamingAgent::OnHomeNetworkAccessModeChanged(
-        const DPL::Event::PropertyEvent<GlobalModel::NetworkAccessMode> &event)
-{
-    LogInfo("home network access type: " << event.value);
-    NetworkAccessModeChanged(HOME, event.value);
-}
-
-void RoamingAgent::OnRoamingNetworkAccessModeChanged(
-        const DPL::Event::PropertyEvent<GlobalModel::NetworkAccessMode> &event)
-{
-    LogInfo("roaming network access type: " << event.value);
-    NetworkAccessModeChanged(ROAMING, event.value);
-}
diff --git a/src/view/common/roaming_agent.h b/src/view/common/roaming_agent.h
deleted file mode 100644 (file)
index 8e3def8..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-/**
- * @file    roaming_agent.h
- * @author  Pawel Sikorski (p.sikorski@samsung.com)
- * @version 1.0
- * @brief   roaming agent
- */
-
-#ifndef ROAMING_AGENT_H_
-#define ROAMING_AGENT_H_
-
-#include <string>
-#include <dpl/fast_delegate.h>
-#include <dpl/optional.h>
-#include <dpl/optional_typedefs.h>
-#include <global_model.h>
-#include <vconf.h>
-
-class RoamingAgent
-{
-  public:
-    typedef DPL::FastDelegate0<void> DisconnectCallback;
-
-    bool CheckAccess();
-    bool IsRoamingOn() const
-    {
-        return m_networkType == ROAMING;
-    }
-    void setDisconnectCallback(DisconnectCallback cb)
-    {
-        m_optionalDisconnectCallback = cb;
-    }
-    void unsetDisconnectCallback()
-    {
-        m_optionalDisconnectCallback = OptionalDisconnectCallback::Null;
-    }
-
-  private:
-    enum NetworkType {ROAMING, HOME};
-    enum NetworkOptionType {NEVER_CONNECT, ALWAYS_ASK, CONNECT_AUTO};
-
-    typedef DPL::Optional<DisconnectCallback> OptionalDisconnectCallback;
-
-    NetworkType m_networkType;
-    bool m_roamingNetworkEnabled;
-    OptionalDisconnectCallback m_optionalDisconnectCallback;
-
-    class NetworkOption
-    {
-      public:
-        NetworkOption() :
-            m_roaming(ALWAYS_ASK),
-            m_home(ALWAYS_ASK)
-        {
-        }
-
-        NetworkOption(NetworkOptionType aroaming,
-                NetworkOptionType ahome) :
-            m_roaming(aroaming),
-            m_home(ahome)
-        {
-        }
-
-        ~NetworkOption()
-        {
-        }
-
-        NetworkOptionType &Option(NetworkType astate)
-        {
-            return astate == ROAMING ? m_roaming : m_home;
-        }
-
-      private:
-        NetworkOptionType m_roaming;
-        NetworkOptionType m_home;
-    };
-
-    class UserAnswer
-    {
-      public:
-        UserAnswer() :
-            m_roaming(DPL::OptionalBool::Null),
-            m_home(DPL::OptionalBool::Null)
-        {
-        }
-
-        UserAnswer(bool aroam,
-                bool ahome) :
-            m_roaming(aroam),
-            m_home(ahome)
-        {
-        }
-
-        ~UserAnswer()
-        {
-        }
-
-        DPL::OptionalBool &Answer(NetworkType astate)
-        {
-            return astate == ROAMING ? m_roaming : m_home;
-        }
-
-        void ResetAnswer(NetworkType astate)
-        {
-            DPL::OptionalBool &answer = astate == ROAMING ? m_roaming : m_home;
-            answer = DPL::OptionalBool::Null;
-        }
-
-      private:
-        DPL::OptionalBool m_roaming;
-        DPL::OptionalBool m_home;
-    };
-
-    NetworkOption m_networkOption;
-
-    UserAnswer m_userAnswer;
-
-    RoamingAgent();
-    virtual ~RoamingAgent();
-
-    bool AskUser(const std::string &label);
-    void Disconnect();
-    void HandleDisconnection();
-    void SaveNetworkAccessMode(NetworkType networkType,
-            GlobalModel::NetworkAccessMode mode);
-    void NetworkAccessModeChanged(NetworkType networkType,
-            GlobalModel::NetworkAccessMode mode);
-    static void vConfChagedCallback(keynode_t *keyNode, void *userParam);
-    virtual void OnHomeNetworkAccessModeChanged(
-            const DPL::Event::PropertyEvent<GlobalModel::NetworkAccessMode> &event);
-    virtual void OnRoamingNetworkAccessModeChanged(
-            const DPL::Event::PropertyEvent<GlobalModel::NetworkAccessMode> &event);
-
-    friend class DPL::Singleton<RoamingAgent>;
-};
-
-typedef DPL::Singleton<RoamingAgent> RoamingAgentSingleton;
-
-#endif /* ROAMING_AGENT_H_ */
index 7d7b272..5b03558 100644 (file)
@@ -31,11 +31,9 @@ class WidgetModel;
 namespace ViewModule {
 namespace SecuritySupport {
 
-char const * const ROAMING_ERROR_MSG = "file:///usr/etc/wrt/roaming_error.msg";
 char const * const PARAM_URL = "param:url";
 
 bool checkWhitelist(const char *url);
-bool checkUriRequiredNet(const std::string &uri);
 bool geolocationACECheck(WidgetHandle widgetHandle, bool highAccuracy);
 
 } // namespace SecuritySupport
index e52db0b..2783c22 100644 (file)
@@ -29,8 +29,6 @@
 #include <ace-common/ace_api_common.h>
 #include <ace-client/ace_api_client.h>
 #include <dpl/utils/warp_iri.h>
-// Roaming checks
-#include <roaming_agent.h>
 // URI localization
 #include <dpl/localization/w3c_file_localization.h>
 // WARP check
@@ -50,7 +48,6 @@ const char *SCHEME_TYPE_HTTPS = "https";
 
 char const * const WARP_ERROR_MSG =
         "file:///usr/etc/wrt/warp_security_error.msg";
-char const * const ROAMING_ERROR_MSG = "file:///usr/etc/wrt/roaming_error.msg";
 char const * const PARAM_URL = "param:url";
 char const * const ACE_IGNORED_SCHEMA[] = { "file://", "widget://", "data:",
     "tel:", "sms:", "mmsto:", "mailto:", 0 };
@@ -160,37 +157,6 @@ bool filterURIBySecurity(DPL::OptionalString &op_uri,
 
     return true;
 }
-
-bool checkUriRequiredNet(const std::string &uri)
-{
-    if (strstr(uri.c_str(), SCHEME_TYPE_HTTP) == uri.c_str() ||
-        strstr(uri.c_str(), SCHEME_TYPE_HTTPS) == uri.c_str())
-    {
-        return true;
-    } else {
-        return false;
-    }
-}
-
-bool filterURIByRoaming(DPL::OptionalString &opUri)
-{
-    if (opUri.IsNull())
-    {
-        return true; //accept empty uri
-    }
-
-    std::string uri = DPL::ToUTF8String(*opUri);
-    if (checkUriRequiredNet(uri))
-    {
-        if (!RoamingAgentSingleton::Instance().CheckAccess())
-        {
-            return false;
-        }
-    }
-
-    return true;
-}
-
 } // namespace (anonymous)
 
 namespace BundleURIHandling {
@@ -222,18 +188,6 @@ DPL::Optional<DPL::String> processURI(const DPL::String& inputURI,
         return DPL::Optional<DPL::String>::Null;
     }
 
-    // check roaming state for external scheme
-    WrtDB::WidgetDAOReadOnly dao = WrtDB::WidgetDAOReadOnly(whandle);
-    if (dao.getWidgetType().appType == WrtDB::APP_TYPE_TIZENWEBAPP)
-    {
-        LogInfo("TizenWebApp does not need to check roaming status!");
-    }
-    else if (!filterURIByRoaming(uri))
-    {
-        LogDebug("Request was blocked by roaming settings: " << uri);
-        return DPL::Optional<DPL::String>::Null;
-    }
-
     return uri;
 }
 
index 0155822..bca5338 100644 (file)
 
 #include <appcore-common.h>
 #include <pcrecpp.h>
+#include <vconf.h>
 #include <widget_model.h>
 #include <dpl/wrt-dao-ro/widget_dao_read_only.h>
 
 #include <common/application_data.h>
 #include <common/application_launcher.h>
 #include <common/scheme.h>
-#include <common/roaming_agent.h>
 
 #include <common/view_logic_apps_support.h>
 #include <common/view_logic_custom_header_support.h>
@@ -193,10 +193,6 @@ void ViewLogic::showWidget()
 
     LogInfo("m_currentUri: " << m_currentUri);
 
-    RoamingAgentSingleton::Instance().setDisconnectCallback(
-        DPL::MakeDelegate(this,
-                          &ViewLogic::disconnectNetworkConnectionsFunction));
-
     // load page
     ewk_view_uri_set(m_currentEwkView, m_currentUri.c_str());
 
@@ -208,7 +204,6 @@ void ViewLogic::showWidget()
 void ViewLogic::hideWidget()
 {
     LogDebug("hiding widget");
-    RoamingAgentSingleton::Instance().unsetDisconnectCallback();
     ViewModule::StorageSupport::deinitializeStorage(m_model);
     m_appsSupport->deinitialize();
 
@@ -1734,13 +1729,6 @@ std::string ViewLogic::requestUriChanged(const DPL::String& changedURL)
     return URICHANGE_PLUGIN_RESTART;
 }
 
-void ViewLogic::disconnectNetworkConnectionsFunction() {
-    if (m_ewkContext) {
-        LogDebug("disconnection network connections");
-        ewk_context_network_session_requests_cancel(m_ewkContext);
-    }
-}
-
 void ViewLogic::windowClose()
 {
     LogDebug("windowClose");
index 166bc2f..b069206 100644 (file)
@@ -244,7 +244,6 @@ class ViewLogic : public ViewModule::IViewModule
     // security
     void rememberBlockedURI(const DPL::String& str);
     std::string requestUriChanged(const DPL::String& changedURL);
-    void disconnectNetworkConnectionsFunction();
 
     // window
     void windowClose(void);