mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 15:25:52 +00:00
6657eb539e
It creates new nsRemoteService instance which is parent (proxy) class which is registered as global nsIRemoteService. It provides basic functionality (watch observer for shutdown, launch firefox instance by HandleCommandLine()) for child services which are system specific. nsDBusRemoteService listens on DBus interface and it's available on DBus enabled systems only. nsGtkRemoteService is the former one based on X window propery mechanism. MozReview-Commit-ID: GHpXdjstwyY --HG-- extra : rebase_source : 54847a04ebd0bae6dc3d33352e8155a1e3fa09f4
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim:expandtab:shiftwidth=2:tabstop=2:
|
|
*/
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef __nsRemoteService_h__
|
|
#define __nsRemoteService_h__
|
|
|
|
#include "nsIRemoteService.h"
|
|
#include "nsIObserverService.h"
|
|
#include "nsIObserver.h"
|
|
#include "nsPIDOMWindow.h"
|
|
|
|
class nsRemoteService final : public nsIRemoteService,
|
|
public nsIObserver
|
|
{
|
|
public:
|
|
// We will be a static singleton, so don't use the ordinary methods.
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIREMOTESERVICE
|
|
NS_DECL_NSIOBSERVER
|
|
|
|
static const char*
|
|
HandleCommandLine(const char* aBuffer, nsIDOMWindow* aWindow,
|
|
uint32_t aTimestamp);
|
|
|
|
nsCOMPtr<nsIRemoteService> mDBusRemoteService;
|
|
nsCOMPtr<nsIRemoteService> mGtkRemoteService;
|
|
|
|
nsRemoteService()
|
|
{}
|
|
private:
|
|
~nsRemoteService();
|
|
|
|
static void
|
|
SetDesktopStartupIDOrTimestamp(const nsACString& aDesktopStartupID,
|
|
uint32_t aTimestamp);
|
|
};
|
|
|
|
#endif // __nsRemoteService_h__
|