Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
berryPlatform.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef BERRY_Platform_INCLUDED
14 #define BERRY_Platform_INCLUDED
15 
16 
17 //
18 // Platform Identification
19 //
20 #define BERRY_OS_FREE_BSD 0x0001
21 #define BERRY_OS_AIX 0x0002
22 #define BERRY_OS_HPUX 0x0003
23 #define BERRY_OS_TRU64 0x0004
24 #define BERRY_OS_LINUX 0x0005
25 #define BERRY_OS_MAC_OS_X 0x0006
26 #define BERRY_OS_NET_BSD 0x0007
27 #define BERRY_OS_OPEN_BSD 0x0008
28 #define BERRY_OS_IRIX 0x0009
29 #define BERRY_OS_SOLARIS 0x000a
30 #define BERRY_OS_QNX 0x000b
31 #define BERRY_OS_VXWORKS 0x000c
32 #define BERRY_OS_CYGWIN 0x000d
33 #define BERRY_OS_UNKNOWN_UNIX 0x00ff
34 #define BERRY_OS_WINDOWS_NT 0x1001
35 #define BERRY_OS_WINDOWS_CE 0x1011
36 #define BERRY_OS_VMS 0x2001
37 
38 
39 #if defined(__FreeBSD__)
40  #define BERRY_OS_FAMILY_UNIX 1
41  #define BERRY_OS_FAMILY_BSD 1
42  #define BERRY_OS BERRY_OS_FREE_BSD
43 #elif defined(_AIX) || defined(__TOS_AIX__)
44  #define BERRY_OS_FAMILY_UNIX 1
45  #define BERRY_OS BERRY_OS_AIX
46 #elif defined(hpux) || defined(_hpux)
47  #define BERRY_OS_FAMILY_UNIX 1
48  #define BERRY_OS BERRY_OS_HPUX
49 #elif defined(__digital__) || defined(__osf__)
50  #define BERRY_OS_FAMILY_UNIX 1
51  #define BERRY_OS BERRY_OS_TRU64
52 #elif defined(linux) || defined(__linux) || defined(__linux__) || defined(__TOS_LINUX__)
53  #define BERRY_OS_FAMILY_UNIX 1
54  #define BERRY_OS BERRY_OS_LINUX
55 #elif defined(__APPLE__) || defined(__TOS_MACOS__)
56  #define BERRY_OS_FAMILY_UNIX 1
57  #define BERRY_OS_FAMILY_BSD 1
58  #define BERRY_OS BERRY_OS_MAC_OS_X
59 #elif defined(__NetBSD__)
60  #define BERRY_OS_FAMILY_UNIX 1
61  #define BERRY_OS_FAMILY_BSD 1
62  #define BERRY_OS BERRY_OS_NET_BSD
63 #elif defined(__OpenBSD__)
64  #define BERRY_OS_FAMILY_UNIX 1
65  #define BERRY_OS_FAMILY_BSD 1
66  #define BERRY_OS BERRY_OS_OPEN_BSD
67 #elif defined(sgi) || defined(__sgi)
68  #define BERRY_OS_FAMILY_UNIX 1
69  #define BERRY_OS BERRY_OS_IRIX
70 #elif defined(sun) || defined(__sun)
71  #define BERRY_OS_FAMILY_UNIX 1
72  #define BERRY_OS BERRY_OS_SOLARIS
73 #elif defined(__QNX__)
74  #define BERRY_OS_FAMILY_UNIX 1
75  #define BERRY_OS BERRY_OS_QNX
76 #elif defined(unix) || defined(__unix) || defined(__unix__)
77  #define BERRY_OS_FAMILY_UNIX 1
78  #define BERRY_OS BERRY_OS_UNKNOWN_UNIX
79 #elif defined(_WIN32_WCE)
80  #define BERRY_OS_FAMILY_WINDOWS 1
81  #define BERRY_OS BERRY_OS_WINDOWS_CE
82 #elif defined(_WIN32) || defined(_WIN64)
83  #define BERRY_OS_FAMILY_WINDOWS 1
84  #define BERRY_OS BERRY_OS_WINDOWS_NT
85 #elif defined(__CYGWIN__)
86  #define BERRY_OS_FAMILY_UNIX 1
87  #define BERRY_OS BERRY_OS_CYGWIN
88 #elif defined(__VMS)
89  #define BERRY_OS_FAMILY_VMS 1
90  #define BERRY_OS BERRY_OS_VMS
91 #endif
92 
93 
94 //
95 // Hardware Architecture and Byte Order
96 //
97 #define BERRY_ARCH_ALPHA 0x01
98 #define BERRY_ARCH_IA32 0x02
99 #define BERRY_ARCH_IA64 0x03
100 #define BERRY_ARCH_MIPS 0x04
101 #define BERRY_ARCH_HPPA 0x05
102 #define BERRY_ARCH_PPC 0x06
103 #define BERRY_ARCH_POWER 0x07
104 #define BERRY_ARCH_SPARC 0x08
105 #define BERRY_ARCH_AMD64 0x09
106 #define BERRY_ARCH_ARM 0x0a
107 
108 
109 #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA)
110  #define BERRY_ARCH BERRY_ARCH_ALPHA
111  #define BERRY_ARCH_LITTLE_ENDIAN 1
112 #elif defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_IX86)
113  #define BERRY_ARCH BERRY_ARCH_IA32
114  #define BERRY_ARCH_LITTLE_ENDIAN 1
115 #elif defined(_IA64) || defined(__IA64__) || defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
116  #define BERRY_ARCH BERRY_ARCH_IA64
117  #if defined(hpux) || defined(_hpux)
118  #define BERRY_ARCH_BIG_ENDIAN 1
119  #else
120  #define BERRY_ARCH_LITTLE_ENDIAN 1
121  #endif
122 #elif defined(__x86_64__)
123  #define BERRY_ARCH BERRY_ARCH_AMD64
124  #define BERRY_ARCH_LITTLE_ENDIAN 1
125 #elif defined(_M_X64)
126 #define BERRY_ARCH BERRY_ARCH_AMD64
127 #define BERRY_ARCH_LITTLE_ENDIAN 1
128 #elif defined(__mips__) || defined(__mips) || defined(__MIPS__) || defined(_M_MRX000)
129  #define BERRY_ARCH BERRY_ARCH_MIPS
130  #define BERRY_ARCH_BIG_ENDIAN 1
131 #elif defined(__hppa) || defined(__hppa__)
132  #define BERRY_ARCH BERRY_ARCH_HPPA
133  #define BERRY_ARCH_BIG_ENDIAN 1
134 #elif defined(__PPC) || defined(__POWERPC__) || defined(__powerpc) || defined(__PPC__) || \
135  defined(__powerpc__) || defined(__ppc__) || defined(_ARCH_PPC) || defined(_M_PPC)
136  #define BERRY_ARCH BERRY_ARCH_PPC
137  #define BERRY_ARCH_BIG_ENDIAN 1
138 #elif defined(_POWER) || defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_ARCH_PWR3) || \
139  defined(_ARCH_PWR4) || defined(__THW_RS6000)
140  #define BERRY_ARCH BERRY_ARCH_POWER
141  #define BERRY_ARCH_BIG_ENDIAN 1
142 #elif defined(__sparc__) || defined(__sparc) || defined(sparc)
143  #define BERRY_ARCH BERRY_ARCH_SPARC
144  #define BERRY_ARCH_BIG_ENDIAN 1
145 #elif defined(__arm__) || defined(__arm) || defined(ARM) || defined(_ARM_) || defined(__ARM__) || defined(_M_ARM)
146  #define BERRY_ARCH BERRY_ARCH_ARM
147  #if defined(__ARMEB__)
148  #define BERRY_ARCH_BIG_ENDIAN 1
149  #else
150  #define BERRY_ARCH_LITTLE_ENDIAN 1
151  #endif
152 #endif
153 
154 
156 
157 #include <berrySmartPointer.h>
158 
159 #include <QDir>
160 #include <QSharedPointer>
161 
162 struct ctkLocation;
163 class ctkPlugin;
164 
165 namespace Poco {
166 
167 class Path;
168 
169 }
170 
171 namespace mitk
172 {
173  class IPreferencesService;
174 }
175 
176 namespace berry {
177 
178 struct IAdapterManager;
179 struct IBundle;
180 struct IExtensionPointService;
181 struct IExtensionRegistry;
182 struct IProduct;
183 
184 
203 {
204 public:
205 
206  static const QString PI_RUNTIME;
207 
208  static const int OS_FREE_BSD;
209  static const int OS_AIX;
210  static const int OS_HPUX;
211  static const int OS_TRU64;
212  static const int OS_LINUX;
213  static const int OS_MAC_OS_X;
214  static const int OS_NET_BSD;
215  static const int OS_OPEN_BSD;
216  static const int OS_IRIX;
217  static const int OS_SOLARIS;
218  static const int OS_QNX;
219  static const int OS_VXWORKS;
220  static const int OS_CYGWIN;
221  static const int OS_UNKNOWN_UNIX;
222  static const int OS_WINDOWS_NT;
223  static const int OS_WINDOWS_CE;
224  static const int OS_VMS;
225 
226  static const int ARCH_ALPHA;
227  static const int ARCH_IA32;
228  static const int ARCH_IA64;
229  static const int ARCH_MIPS;
230  static const int ARCH_HPPA;
231  static const int ARCH_PPC;
232  static const int ARCH_POWER;
233  static const int ARCH_SPARC;
234  static const int ARCH_AMD64;
235  static const int ARCH_ARM;
236 
237  static const QString PROP_QTPLUGIN_PATH;
238 
239  static const QString PROP_NEWINSTANCE;
240  static const QString PROP_PLUGIN_DIRS;
241  static const QString PROP_FORCE_PLUGIN_INSTALL;
242 
243  static const QString PROP_APPLICATION;
244  static const QString PROP_IGNOREAPP;
245 
246  static const QString PROP_XARGS;
247 
255  static IAdapterManager* GetAdapterManager();
256 
264  static IExtensionRegistry* GetExtensionRegistry();
265 
273  static mitk::IPreferencesService* GetPreferencesService();
274 
280  static SmartPointer<IProduct> GetProduct();
281 
294  static QVariant GetDebugOption(const QString& option);
295 
308  QT_DEPRECATED static QDir GetConfigurationPath();
309 
324  static ctkLocation* GetConfigurationLocation();
325 
332  QT_DEPRECATED static QDir GetInstallPath();
333 
344  static ctkLocation* GetInstallLocation();
345 
353  QT_DEPRECATED static QDir GetInstancePath();
354 
365  static ctkLocation* GetInstanceLocation();
366 
388  QT_DEPRECATED static bool GetStatePath(QDir& statePath, const QSharedPointer<ctkPlugin>& plugin, bool create = true);
389 
409  static QDir GetStateLocation(const QSharedPointer<ctkPlugin>& plugin);
410 
420  QT_DEPRECATED static QDir GetUserPath();
421 
434  static ctkLocation* GetUserLocation();
435 
436 
437  static int GetOS();
438  static int GetOSArch();
439  static bool IsUnix();
440  static bool IsWindows();
441  static bool IsBSD();
442  static bool IsLinux();
443  static bool IsVMS();
444 
445  static bool IsRunning();
446 
451  static QStringList GetApplicationArgs();
452 
465  static QSharedPointer<ctkPlugin> GetPlugin(const QString& symbolicName);
466 
484  static QList<QSharedPointer<ctkPlugin> > GetPlugins(const QString& symbolicName,
485  const QString& version = QString());
486 
487 
488 private:
489  Platform();
490 };
491 
492 } // namespace
493 
494 #endif // BERRY_Platform_INCLUDED
org_blueberry_core_runtime_Export.h
berry::Platform::ARCH_IA32
static const int ARCH_IA32
Definition: berryPlatform.h:227
berry::Platform::ARCH_AMD64
static const int ARCH_AMD64
Definition: berryPlatform.h:234
berry::Platform::ARCH_PPC
static const int ARCH_PPC
Definition: berryPlatform.h:231
berry::Platform::OS_IRIX
static const int OS_IRIX
Definition: berryPlatform.h:216
berry::Platform::OS_FREE_BSD
static const int OS_FREE_BSD
Definition: berryPlatform.h:208
berry::Platform::PROP_NEWINSTANCE
static const QString PROP_NEWINSTANCE
Definition: berryPlatform.h:239
berry::Platform::OS_VMS
static const int OS_VMS
Definition: berryPlatform.h:224
berry::SmartPointer
Implements transparent reference counting.
Definition: berryICommandCategoryListener.h:21
berry::Platform::OS_VXWORKS
static const int OS_VXWORKS
Definition: berryPlatform.h:219
berry::Platform::OS_MAC_OS_X
static const int OS_MAC_OS_X
Definition: berryPlatform.h:213
berry::Platform::OS_UNKNOWN_UNIX
static const int OS_UNKNOWN_UNIX
Definition: berryPlatform.h:221
berry::Platform::OS_AIX
static const int OS_AIX
Definition: berryPlatform.h:209
berry::Platform::ARCH_MIPS
static const int ARCH_MIPS
Definition: berryPlatform.h:229
berry::Platform::OS_LINUX
static const int OS_LINUX
Definition: berryPlatform.h:212
berry::IExtensionRegistry
Definition: berryIExtensionRegistry.h:71
Poco
Definition: berryElementHandler.h:20
mitk
DataCollection - Class to facilitate loading/accessing structured data.
Definition: RenderingTests.dox:1
berry::Platform::ARCH_SPARC
static const int ARCH_SPARC
Definition: berryPlatform.h:233
berry::IAdapterManager
Definition: berryIAdapterManager.h:80
org_blueberry_core_runtime_EXPORT
#define org_blueberry_core_runtime_EXPORT
Definition: org_blueberry_core_runtime_Export.h:26
berry::Platform::PI_RUNTIME
static const QString PI_RUNTIME
Definition: berryPlatform.h:206
berry::Platform::OS_HPUX
static const int OS_HPUX
Definition: berryPlatform.h:210
berry::Platform
Definition: berryPlatform.h:202
QSharedPointer
Definition: berryILog.h:16
berry::Platform::ARCH_HPPA
static const int ARCH_HPPA
Definition: berryPlatform.h:230
berry::Platform::PROP_FORCE_PLUGIN_INSTALL
static const QString PROP_FORCE_PLUGIN_INSTALL
Definition: berryPlatform.h:241
berry::Platform::OS_OPEN_BSD
static const int OS_OPEN_BSD
Definition: berryPlatform.h:215
berry::Platform::OS_WINDOWS_CE
static const int OS_WINDOWS_CE
Definition: berryPlatform.h:223
berry::Platform::OS_QNX
static const int OS_QNX
Definition: berryPlatform.h:218
berry::Platform::OS_NET_BSD
static const int OS_NET_BSD
Definition: berryPlatform.h:214
berry::Platform::ARCH_IA64
static const int ARCH_IA64
Definition: berryPlatform.h:228
berry::Platform::PROP_IGNOREAPP
static const QString PROP_IGNOREAPP
Definition: berryPlatform.h:244
berry::Platform::ARCH_ALPHA
static const int ARCH_ALPHA
Definition: berryPlatform.h:226
berry::Platform::PROP_QTPLUGIN_PATH
static const QString PROP_QTPLUGIN_PATH
Definition: berryPlatform.h:237
berry::Platform::ARCH_POWER
static const int ARCH_POWER
Definition: berryPlatform.h:232
berry::Platform::ARCH_ARM
static const int ARCH_ARM
Definition: berryPlatform.h:235
berry::Platform::PROP_APPLICATION
static const QString PROP_APPLICATION
Definition: berryPlatform.h:243
berry::Platform::PROP_PLUGIN_DIRS
static const QString PROP_PLUGIN_DIRS
Definition: berryPlatform.h:240
berrySmartPointer.h
berry::Platform::PROP_XARGS
static const QString PROP_XARGS
Definition: berryPlatform.h:246
mitk::IPreferencesService
A service for persistent application preferences.
Definition: mitkIPreferencesService.h:33
berry::Platform::OS_WINDOWS_NT
static const int OS_WINDOWS_NT
Definition: berryPlatform.h:222
berry::Platform::OS_SOLARIS
static const int OS_SOLARIS
Definition: berryPlatform.h:217
berry
Definition: QmitkPropertyItemModel.h:24
berry::Platform::OS_TRU64
static const int OS_TRU64
Definition: berryPlatform.h:211
berry::Platform::OS_CYGWIN
static const int OS_CYGWIN
Definition: berryPlatform.h:220