static IPhoneServiceLocator()
        {
            typedServices["net"]      = new IPhoneNet();
            typedServices["system"]   = new IPhoneSystem();
            typedServices["file"]     = new IPhoneFileSystem();
            typedServices["db"]       = new IPhoneDatabase();
            typedServices["io"]       = new IPhoneIO();
            typedServices["notify"]   = new IPhoneNotification();
            typedServices["geo"]      = new IPhoneGeo();
            typedServices["media"]    = new IPhoneMedia();
            typedServices["message"]  = new IPhoneMessaging();
            typedServices["pim"]      = new IPhonePIM();
            typedServices["phone"]    = new IPhoneTelephony();
            typedServices["i18n"]     = new IPhoneI18N();
            typedServices["log"]      = new IPhoneLog();
            typedServices["security"] = new IPhoneSecurity();
            typedServices["loader"]   = new IPhoneAppLoader();


            // include services from modules here
            // START_APPVERSE_MODULES_SERVICES

            // START_HERE_APPVERSE_MODULE_SERVICE
            // END_HERE_APPVERSE_MODULE_SERVICE

            // END_APPVERSE_MODULES_SERVICES

            // example:
            // typedServices["module.api.service.name"]  = new module.ios.main.class();
        }
		static IPhoneServiceLocator()
        {
            typedServices["net"]        = new IPhoneNet();
            typedServices["system"]     = new IPhoneSystem();
            typedServices["file"]       = new IPhoneFileSystem();
            typedServices["db"]         = new IPhoneDatabase();
            typedServices["io"]         = new IPhoneIO();
			typedServices["notify"]     = new IPhoneNotification();
			typedServices["geo"]     	= new IPhoneGeo();
			typedServices["media"]     	= new IPhoneMedia();
			typedServices["message"]    = new IPhoneMessaging();
			typedServices["pim"]    	= new IPhonePIM();
			typedServices["phone"]  	= new IPhoneTelephony();
			typedServices["i18n"]  		= new IPhoneI18N();
			typedServices["log"]  		= new IPhoneLog();
			typedServices["security"]   = new IPhoneSecurity();
			typedServices["loader"]  	= new IPhoneAppLoader();


			// include services from modules here
			// START_APPVERSE_MODULES_SERVICES

			// START_HERE_APPVERSE_MODULE_SERVICE
			// END_HERE_APPVERSE_MODULE_SERVICE

			// END_APPVERSE_MODULES_SERVICES 

			// example:
			// typedServices["module.api.service.name"]  = new module.ios.main.class();
        }
Exemplo n.º 3
0
        private void OpenBrowserWithOptionsOnThread(object browserOptionsObject)
        {
            SecondaryBrowserOptions browserOptions = (SecondaryBrowserOptions)browserOptionsObject;

            UIApplication.SharedApplication.InvokeOnMainThread(delegate {
                IPhoneUIViewController contentController = new IPhoneUIViewController(browserOptions.Title, browserOptions.CloseButtonText);
                UIWebView webView = IPhoneNet.generateWebView();

                //IF NO EXTENSIONS ARE USED THEN PARSE THE URL FILE EXTENSION
                if (browserOptions.BrowserFileExtensions != null && browserOptions.BrowserFileExtensions.Length > 0)
                {
                    webView.ShouldStartLoad = delegate(UIWebView view, NSUrlRequest req, UIWebViewNavigationType nav){
                        if (req != null && req.Url != null && req.Url.Path.LastIndexOf(".") != -1)
                        {
                            string sFileExtension = req.Url.Path.Substring(req.Url.Path.LastIndexOf("."));
                            if (browserOptions.BrowserFileExtensions.Contains(sFileExtension))
                            {
                                //HANDLE URL LIKE SYSTEM DOES
                                DownloadFile(req.Url.ToString());
                                //RETURN FALSE TO NOT LOAD THE URL ON OUR WEBVIEW
                                return(false);
                            }
                            else
                            {
                                //LOAD URL
                                return(true);
                            }
                        }
                        return(true);
                    };
                }
                contentController.AddInnerView(webView);
                IPhoneServiceLocator.CurrentDelegate.MainUIViewController().PresentModalViewController(contentController, true);
                IPhoneServiceLocator.CurrentDelegate.SetMainUIViewControllerAsTopController(false);
                if (!String.IsNullOrWhiteSpace(browserOptions.Url))
                {
                    NSUrl nsUrl = new NSUrl(browserOptions.Url);
                    NSUrlRequest nsUrlRequest = new NSUrlRequest(nsUrl, NSUrlRequestCachePolicy.ReloadRevalidatingCacheData, 120.0);
                    webView.LoadRequest(nsUrlRequest);
                }
                else if (!String.IsNullOrWhiteSpace(browserOptions.Html))
                {
                    webView.LoadHtmlString(browserOptions.Html, new NSUrl("/"));
                }
            });
        }
Exemplo n.º 4
0
 static IPhoneServiceLocator()
 {
     typedServices["net"]        = new IPhoneNet();
     typedServices["system"]     = new IPhoneSystem();
     typedServices["file"]       = new IPhoneFileSystem();
     typedServices["db"]         = new IPhoneDatabase();
     typedServices["io"]         = new IPhoneIO();
     typedServices["notify"]     = new IPhoneNotification();
     typedServices["geo"]     	= new IPhoneGeo();
     typedServices["media"]     	= new IPhoneMedia();
     typedServices["message"]    = new IPhoneMessaging();
     typedServices["pim"]    	= new IPhonePIM();
     typedServices["phone"]  	= new IPhoneTelephony();
     typedServices["i18n"]  		= new IPhoneI18N();
     typedServices["log"]  		= new IPhoneLog();
     typedServices["analytics"]  = new IPhoneAnalytics();
     typedServices["security"]   = new IPhoneSecurity();
     typedServices["webtrekk"]  	= new IPhoneWebtrekk();
     typedServices["loader"]  	= new IPhoneAppLoader();
 }
 static IPhoneServiceLocator()
 {
     typedServices["net"]       = new IPhoneNet();
     typedServices["system"]    = new IPhoneSystem();
     typedServices["file"]      = new IPhoneFileSystem();
     typedServices["db"]        = new IPhoneDatabase();
     typedServices["io"]        = new IPhoneIO();
     typedServices["notify"]    = new IPhoneNotification();
     typedServices["geo"]       = new IPhoneGeo();
     typedServices["media"]     = new IPhoneMedia();
     typedServices["message"]   = new IPhoneMessaging();
     typedServices["pim"]       = new IPhonePIM();
     typedServices["phone"]     = new IPhoneTelephony();
     typedServices["i18n"]      = new IPhoneI18N();
     typedServices["log"]       = new IPhoneLog();
     typedServices["analytics"] = new IPhoneAnalytics();
     typedServices["security"]  = new IPhoneSecurity();
     typedServices["webtrekk"]  = new IPhoneWebtrekk();
     typedServices["loader"]    = new IPhoneAppLoader();
 }
Exemplo n.º 6
0
        private void OpenBrowserOnThread(object browserCommandObject)
        {
            BrowserCommand browserCommand = (BrowserCommand)browserCommandObject;

            UIApplication.SharedApplication.InvokeOnMainThread(delegate {
                IPhoneUIViewController contentController = new IPhoneUIViewController(browserCommand.Title, browserCommand.ButtonText);
                UIWebView webView = IPhoneNet.generateWebView();
                contentController.AddInnerView(webView);

                IPhoneServiceLocator.CurrentDelegate.MainUIViewController().PresentModalViewController(contentController, true);
                IPhoneServiceLocator.CurrentDelegate.SetMainUIViewControllerAsTopController(false);
                if (!String.IsNullOrWhiteSpace(browserCommand.Url))
                {
                    NSUrl nsUrl = new NSUrl(browserCommand.Url);
                    NSUrlRequest nsUrlRequest = new NSUrlRequest(nsUrl, NSUrlRequestCachePolicy.ReloadRevalidatingCacheData, 120.0);
                    webView.LoadRequest(nsUrlRequest);
                }
                else if (!String.IsNullOrWhiteSpace(browserCommand.Html))
                {
                    webView.LoadHtmlString(browserCommand.Html, new NSUrl("/"));
                }
            });
        }
Exemplo n.º 7
0
        private void OpenBrowserWithOptionsOnThread(object browserOptionsObject)
        {
            SecondaryBrowserOptions browserOptions = (SecondaryBrowserOptions)browserOptionsObject;

            UIApplication.SharedApplication.InvokeOnMainThread(delegate {
                IPhoneUIViewController contentController = new IPhoneUIViewController(browserOptions.Title, browserOptions.CloseButtonText);
                UIWebView webView = IPhoneNet.generateWebView();

                //IF NO EXTENSIONS ARE USED THEN PARSE THE URL FILE EXTENSION
                if (browserOptions.BrowserFileExtensions != null && browserOptions.BrowserFileExtensions.Length > 0)
                {
                    webView.ShouldStartLoad = delegate(UIWebView view, NSUrlRequest req, UIWebViewNavigationType nav){
                        SystemLogger.Log(SystemLogger.Module.PLATFORM, "OpenBrowserWithOptionsOnThread - WebView ShouldStartLoad: " + req);

                        if (req != null && req.Url != null && req.Url.Path != null && req.Url.Path.LastIndexOf(".") != -1)
                        {
                            SystemLogger.Log(SystemLogger.Module.PLATFORM, "OpenBrowserWithOptionsOnThread - request path: " + req.Url.Path);
                            string sFileExtensionPath = req.Url.Path.Substring(req.Url.Path.LastIndexOf("."));
                            if (browserOptions.BrowserFileExtensions.Contains(sFileExtensionPath))
                            {
                                SystemLogger.Log(SystemLogger.Module.PLATFORM, "OpenBrowserWithOptionsOnThread - WebView ShouldStartLoad: Handled by system (file extension matching by Path)");
                                //HANDLE URL LIKE SYSTEM DOES
                                DownloadFile(Uri.UnescapeDataString(req.Url.ToString()));
                                //RETURN FALSE TO NOT LOAD THE URL ON OUR WEBVIEW
                                return(false);
                            }
                        }
                        // extensions could also be received as Query parameters
                        if (req != null && req.Url != null && req.Url.Query != null && req.Url.Query.LastIndexOf(".") != -1)
                        {
                            SystemLogger.Log(SystemLogger.Module.PLATFORM, "OpenBrowserWithOptionsOnThread - request query: " + req.Url.Query);
                            string sFileExtensionQuery = req.Url.Query.Substring(req.Url.Query.LastIndexOf("."));
                            if (browserOptions.BrowserFileExtensions.Contains(sFileExtensionQuery))
                            {
                                //HANDLE URL LIKE SYSTEM DOES
                                SystemLogger.Log(SystemLogger.Module.PLATFORM, "OpenBrowserWithOptionsOnThread - WebView ShouldStartLoad: Handled by system (file extension matching by Query)");
                                DownloadFile(Uri.UnescapeDataString(req.Url.ToString()));
                                //RETURN FALSE TO NOT LOAD THE URL ON OUR WEBVIEW
                                return(false);
                            }
                        }

                        SystemLogger.Log(SystemLogger.Module.PLATFORM, "OpenBrowserWithOptionsOnThread - WebView ShouldStartLoad: Loaded into WebView (not Path or Query match provided extensions)");

                        return(true);
                    };
                }
                contentController.AddInnerView(webView);
                IPhoneServiceLocator.CurrentDelegate.MainUIViewController().PresentModalViewController(contentController, true);
                IPhoneServiceLocator.CurrentDelegate.SetMainUIViewControllerAsTopController(false);
                if (!String.IsNullOrWhiteSpace(browserOptions.Url))
                {
                    NSUrl nsUrl = new NSUrl(browserOptions.Url);
                    NSUrlRequest nsUrlRequest = new NSUrlRequest(nsUrl, NSUrlRequestCachePolicy.ReloadRevalidatingCacheData, 120.0);
                    webView.LoadRequest(nsUrlRequest);
                }
                else if (!String.IsNullOrWhiteSpace(browserOptions.Html))
                {
                    webView.LoadHtmlString(browserOptions.Html, new NSUrl("/"));
                }
            });
        }