private static void OnProfileStartup() { if (!EnableProfileMonitoring) { return; } nsIObserver addonsIntegration = null; nsIObserverService obsSvc = Xpcom.GetService <nsIObserverService>(Contracts.ObserverService); obsSvc.NotifyObservers(null, "profile-do-change", "startup"); try { addonsIntegration = Xpcom.GetService <nsIObserver>("@mozilla.org/addons/integration;1"); if (addonsIntegration != null) { addonsIntegration.Observe(null, "addons-startup", null); } obsSvc.NotifyObservers(null, "load-extension-defaults", null); } finally { Xpcom.FreeComObject(ref addonsIntegration); obsSvc.NotifyObservers(null, "profile-after-change", "startup"); NS_CreateServicesFromCategory("profile-after-change", null, "profile-after-change"); obsSvc.NotifyObservers(null, "profile-initial-state", null); Xpcom.FreeComObject(ref obsSvc); } }
public static nsIObserver GetProxy (Mono.WebBrowser.IWebBrowser control, nsIObserver obj) { object o = Base.GetProxyForObject (control, typeof(nsIObserver).GUID, obj); return o as nsIObserver; }
public void ShowPageSetup(nsIDOMWindow parent, nsIPrintSettings printSettings, nsIObserver aObs) { throw new NotImplementedException(); }
public void ShowProgress(nsIDOMWindow parent, nsIWebBrowserPrint webBrowserPrint, nsIPrintSettings printSettings, nsIObserver openDialogObserver, bool isForPrinting, ref nsIWebProgressListener webProgressListener, ref nsIPrintProgressParams printProgressParams, ref bool notifyOnOpen) { throw new NotImplementedException(); }
public static void RemoveObserver(nsIObserver observer, string topic) { _observerService.Instance.RemoveObserver(observer, topic); }
public static void AddObserver(nsIObserver observer, string topic, bool ownsWeak) { _observerService.Instance.AddObserver(observer, topic, ownsWeak); }
private static void NS_CreateServicesFromCategory(string category, nsISupports origin, string observerTopic) { nsICategoryManager catMan = null; nsISimpleEnumerator enumerator = null; nsIUTF8StringEnumerator senumerator = null; try { catMan = Xpcom.GetService <nsICategoryManager>(Contracts.CategoryManager); if (catMan == null) { return; } enumerator = catMan.EnumerateCategory(category); if (enumerator == null) { return; } senumerator = Xpcom.QueryInterface <nsIUTF8StringEnumerator>(enumerator); if (senumerator == null) { return; } while (senumerator.HasMore()) { nsISupports serviceInstance = null; nsIObserver observer = null; try { string entryString = nsString.Get(senumerator.GetNext); string contractID = catMan.GetCategoryEntry(category, entryString); serviceInstance = Xpcom.GetService <nsISupports>(contractID); if (serviceInstance == null || observerTopic == null) { continue; } observer = Xpcom.QueryInterface <nsIObserver>(serviceInstance); if (observer == null) { continue; } observer.Observe(origin, observerTopic, ""); } catch (NotImplementedException) { } catch (OutOfMemoryException) { } catch (COMException) { } finally { Xpcom.FreeComObject(ref serviceInstance); Xpcom.FreeComObject(ref observer); } } } finally { Xpcom.FreeComObject(ref catMan); Xpcom.FreeComObject(ref enumerator); Xpcom.FreeComObject(ref senumerator); } }
public static nsIObserver GetProxy(Mono.WebBrowser.IWebBrowser control, nsIObserver obj) { object o = Base.GetProxyForObject(control, typeof(nsIObserver).GUID, obj); return(o as nsIObserver); }