OpenShot Audio Library | OpenShotAudio  0.3.1
juce_Process.h
1 /*
2  ==============================================================================
3 
4  This file is part of the JUCE library.
5  Copyright (c) 2017 - ROLI Ltd.
6 
7  JUCE is an open source library subject to commercial or open-source
8  licensing.
9 
10  The code included in this file is provided under the terms of the ISC license
11  http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12  To use, copy, modify, and/or distribute this software for any purpose with or
13  without fee is hereby granted provided that the above copyright notice and
14  this permission notice appear in all copies.
15 
16  JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17  EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18  DISCLAIMED.
19 
20  ==============================================================================
21 */
22 
23 namespace juce
24 {
25 
26 //==============================================================================
36 class JUCE_API Process
37 {
38 public:
39  //==============================================================================
40  enum ProcessPriority
41  {
42  LowPriority = 0,
43  NormalPriority = 1,
44  HighPriority = 2,
45  RealtimePriority = 3
46  };
47 
53  static void JUCE_CALLTYPE setPriority (const ProcessPriority priority);
54 
63  static void JUCE_CALLTYPE terminate();
64 
65  //==============================================================================
69  static bool JUCE_CALLTYPE isForegroundProcess();
70 
74  static void JUCE_CALLTYPE makeForegroundProcess();
75 
77  static void JUCE_CALLTYPE hide();
78 
79  //==============================================================================
85  static void JUCE_CALLTYPE raisePrivilege();
86 
92  static void JUCE_CALLTYPE lowerPrivilege();
93 
94  //==============================================================================
96  static bool JUCE_CALLTYPE isRunningUnderDebugger() noexcept;
97 
98 
99  //==============================================================================
101  static bool JUCE_CALLTYPE openDocument (const String& documentURL, const String& parameters);
102 
104  static bool JUCE_CALLTYPE openEmailWithAttachments (const String& targetEmailAddress,
105  const String& emailSubject,
106  const String& bodyText,
107  const StringArray& filesToAttach);
108 
109  #if JUCE_WINDOWS || DOXYGEN
110  //==============================================================================
124  static void* JUCE_CALLTYPE getCurrentModuleInstanceHandle() noexcept;
125 
133  static void JUCE_CALLTYPE setCurrentModuleInstanceHandle (void* newHandle) noexcept;
134  #endif
135 
136  #if (JUCE_MAC && JUCE_MODULE_AVAILABLE_juce_gui_basics) || DOXYGEN
137  //==============================================================================
139  static void setDockIconVisible (bool isVisible);
140  #endif
141 
142  #if JUCE_MAC || JUCE_LINUX || DOXYGEN
143  //==============================================================================
148  static bool setMaxNumberOfFileHandles (int maxNumberOfFiles) noexcept;
149  #endif
150 
151 private:
152  Process();
153  JUCE_DECLARE_NON_COPYABLE (Process)
154 };
155 
156 } // namespace juce
static void JUCE_CALLTYPE lowerPrivilege()
static void JUCE_CALLTYPE hide()
static void JUCE_CALLTYPE makeForegroundProcess()
static bool JUCE_CALLTYPE isForegroundProcess()
static void JUCE_CALLTYPE setPriority(const ProcessPriority priority)
static void JUCE_CALLTYPE raisePrivilege()
static void JUCE_CALLTYPE terminate()