Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/uriloader/exthandler/win/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  nsMIMEInfoWin.h   Sprache: C

 
/* 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 nsMIMEInfoWin_h_
#define nsMIMEInfoWin_h_

#include "nsMIMEInfoImpl.h"
#include "nsIPropertyBag.h"
#include "nsIMutableArray.h"
#include "nsTArray.h"

class nsMIMEInfoWin : public nsMIMEInfoBase, public nsIPropertyBag {
  virtual ~nsMIMEInfoWin();

 public:
  explicit nsMIMEInfoWin(const char* aType = "") : nsMIMEInfoBase(aType) {}
  explicit nsMIMEInfoWin(const nsACString& aMIMEType)
      : nsMIMEInfoBase(aMIMEType) {}
  nsMIMEInfoWin(const nsACString& aType, HandlerClass aClass)
      : nsMIMEInfoBase(aType, aClass) {}

  NS_IMETHOD LaunchWithFile(nsIFile* aFile) override;
  NS_IMETHOD GetHasDefaultHandler(bool* _retval) override;
  NS_IMETHOD GetDefaultExecutable(nsIFile** aExecutable) override;
  NS_IMETHOD GetPossibleLocalHandlers(nsIArray** _retval) override;
  NS_IMETHOD IsCurrentAppOSDefault(bool* _retval) override;

  void UpdateDefaultInfoIfStale();

  NS_DECL_ISUPPORTS_INHERITED
  NS_DECL_NSIPROPERTYBAG

  void SetDefaultApplicationHandler(nsIFile* aDefaultApplication) {
    mDefaultApplication = aDefaultApplication;
  }

 protected:
  nsIFile* GetDefaultApplication() {
    UpdateDefaultInfoIfStale();
    return mDefaultApplication;
  }

  virtual nsresult LoadUriInternal(nsIURI* aURI);
  virtual nsresult LaunchDefaultWithFile(nsIFile* aFile);

 private:
  nsCOMPtr<nsIFile> mDefaultApplication;

  // Given a path to a local handler, return its
  // nsILocalHandlerApp instance.
  bool GetLocalHandlerApp(const nsAString& aCommandHandler,
                          nsCOMPtr<nsILocalHandlerApp>& aApp);

  // Return the cleaned up file path associated
  // with a command verb located in root/Applications.
  bool GetAppsVerbCommandHandler(const nsAString& appExeName,
                                 nsAString& applicationPath, bool bEdit);

  // Return the cleaned up file path associated
  // with a progid command verb located in root.
  bool GetProgIDVerbCommandHandler(const nsAString& appProgIDName,
                                   nsAString& applicationPath, bool bEdit);

  // Lookup a rundll command handler and return
  // a populated command template for use with rundll32.exe.
  bool GetDllLaunchInfo(nsIFile* aDll, nsIFile* aFile, nsAString& args,
                        bool bEdit);

  // Helper routine used in tracking app lists
  void ProcessPath(nsCOMPtr<nsIMutableArray>& appList,
                   nsTArray<nsString>& trackList, const nsAutoString& appId,
                   const nsAString& appFilesystemCommand);

  // Helper routine to call mozilla::ShellExecuteByExplorer
  nsresult ShellExecuteWithIFile(nsIFile* aExecutable, int aArgc,
                                 const wchar_t** aArgv);
};

#endif

Messung V0.5
C=94 H=98 G=95

¤ Dauer der Verarbeitung: 0.26 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.