uriloader/exthandler/nsLocalHandlerApp.h

branch
TOR_BUG_3246
changeset 5
4ab42b5ab56c
equal deleted inserted replaced
-1:000000000000 0:e6948cf9e347
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim:expandtab:shiftwidth=2:tabstop=2:cin:
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7 #ifndef __nsLocalHandlerAppImpl_h__
8 #define __nsLocalHandlerAppImpl_h__
9
10 #include "nsString.h"
11 #include "nsIMIMEInfo.h"
12 #include "nsIFile.h"
13 #include "nsTArray.h"
14
15 class nsLocalHandlerApp : public nsILocalHandlerApp
16 {
17 public:
18 NS_DECL_ISUPPORTS
19 NS_DECL_NSIHANDLERAPP
20 NS_DECL_NSILOCALHANDLERAPP
21
22 nsLocalHandlerApp() { }
23
24 nsLocalHandlerApp(const char16_t *aName, nsIFile *aExecutable)
25 : mName(aName), mExecutable(aExecutable) { }
26
27 nsLocalHandlerApp(const nsAString & aName, nsIFile *aExecutable)
28 : mName(aName), mExecutable(aExecutable) { }
29 virtual ~nsLocalHandlerApp() { }
30
31 protected:
32 nsString mName;
33 nsString mDetailedDescription;
34 nsTArray<nsString> mParameters;
35 nsCOMPtr<nsIFile> mExecutable;
36
37 /**
38 * Launches this application with a single argument (typically either
39 * a file path or a URI spec). This is meant as a helper method for
40 * implementations of (e.g.) LaunchWithURI.
41 *
42 * @param aApp The application to launch (may not be null)
43 * @param aArg The argument to pass on the command line
44 */
45 NS_HIDDEN_(nsresult) LaunchWithIProcess(const nsCString &aArg);
46 };
47
48 // any platforms that need a platform-specific class instead of just
49 // using nsLocalHandlerApp need to add an include and a typedef here.
50 #ifdef XP_MACOSX
51 # ifndef NSLOCALHANDLERAPPMAC_H_
52 # include "mac/nsLocalHandlerAppMac.h"
53 typedef nsLocalHandlerAppMac PlatformLocalHandlerApp_t;
54 # endif
55 #else
56 typedef nsLocalHandlerApp PlatformLocalHandlerApp_t;
57 #endif
58
59 #endif // __nsLocalHandlerAppImpl_h__

mercurial