Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/uriloader/exthandler/nsLocalHandlerApp.h
Line
Count
Source (jump to first uncovered line)
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
0
  nsLocalHandlerApp() { }
23
24
  nsLocalHandlerApp(const char16_t *aName, nsIFile *aExecutable) 
25
0
    : mName(aName), mExecutable(aExecutable) { }
26
27
  nsLocalHandlerApp(const nsAString & aName, nsIFile *aExecutable) 
28
0
    : mName(aName), mExecutable(aExecutable) { }
29
30
protected:
31
0
  virtual ~nsLocalHandlerApp() { }
32
33
  nsString mName;
34
  nsString mDetailedDescription;
35
  nsTArray<nsString> mParameters;
36
  nsCOMPtr<nsIFile> mExecutable;
37
  
38
  /**
39
   * Launches this application with a single argument (typically either
40
   * a file path or a URI spec).  This is meant as a helper method for
41
   * implementations of (e.g.) LaunchWithURI.
42
   *
43
   * @param aApp The application to launch (may not be null)
44
   * @param aArg The argument to pass on the command line
45
   */
46
  nsresult LaunchWithIProcess(const nsCString &aArg);
47
};
48
49
// any platforms that need a platform-specific class instead of just 
50
// using nsLocalHandlerApp need to add an include and a typedef here.
51
#ifdef XP_MACOSX
52
# ifndef NSLOCALHANDLERAPPMAC_H_  
53
# include "mac/nsLocalHandlerAppMac.h"
54
typedef nsLocalHandlerAppMac PlatformLocalHandlerApp_t;
55
# endif
56
#else 
57
typedef nsLocalHandlerApp PlatformLocalHandlerApp_t;
58
#endif
59
60
#endif //  __nsLocalHandlerAppImpl_h__