[KLF Application][KLF Tools][KLF Backend][KLF Home]
KLatexFormula Project
klfdefs.h
Go to the documentation of this file.
1 /***************************************************************************
2  * file klfdefs.h
3  * This file is part of the KLatexFormula Project.
4  * Copyright (C) 2011 by Philippe Faist
5  * philippe.faist at bluewin.ch
6  * *
7  * This program is free software; you can redistribute it and/or modify *
8  * it under the terms of the GNU General Public License as published by *
9  * the Free Software Foundation; either version 2 of the License, or *
10  * (at your option) any later version. *
11  * *
12  * This program is distributed in the hope that it will be useful, *
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15  * GNU General Public License for more details. *
16  * *
17  * You should have received a copy of the GNU General Public License *
18  * along with this program; if not, write to the *
19  * Free Software Foundation, Inc., *
20  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
21  ***************************************************************************/
22 /* $Id: klfdefs.h 603 2011-02-26 23:14:55Z phfaist $ */
23 
24 #ifndef KLFDEFS_H_
25 #define KLFDEFS_H_
26 
27 #include <qobject.h>
28 
29 // first, detect a missing KLFBACKEND_QT4 definition
30 #if defined(QT_VERSION) && QT_VERSION >= 0x040000
31 # ifndef KLFBACKEND_QT4
32 # define KLFBACKEND_QT4
33 # endif
34 #endif
35 
36 
37 #include <qstring.h>
38 #include <qvariant.h>
39 
40 
41 // EXPORTING SYMBOLS TO E.G. PLUGINS ...
42 #ifndef KLF_EXPORT
43 # if defined(Q_OS_WIN)
44 # if defined(KLF_SRC_BUILD)
45 # define KLF_EXPORT __declspec(dllexport)
46 # else
47 # define KLF_EXPORT __declspec(dllimport)
48 # endif
49 # else
50 # define KLF_EXPORT __attribute__((visibility("default")))
51 # endif
52 #endif
53 
54 
55 // VERSION INFORMATION
56 
57 KLF_EXPORT const char * klfVersion();
58 
59 KLF_EXPORT int klfVersionMaj();
60 KLF_EXPORT int klfVersionMin();
61 KLF_EXPORT int klfVersionRelease();
62 
63 
64 KLF_EXPORT QByteArray klfFmt(const char * fmt, ...)
65 #if defined(Q_CC_GNU) && !defined(__INSURE__)
66  __attribute__ ((format (printf, 1, 2)))
67 #endif
68 ;
69 
70 #define klfFmtCC (const char*)klfFmt
71 
72 KLF_EXPORT QByteArray klfFmt(const char * fmt, va_list pp) ;
73 
74 
75 #define KLF_FUNC_SINGLE_RUN \
76  { static bool first_run = true; if ( ! first_run ) return; first_run = false; }
77 
78 
79 
80 // utility functions
81 
82 
83 namespace KLFSysInfo
84 {
85  enum Os { Linux, Win32, MacOsX, OtherOs };
86 
87  inline int sizeofVoidStar() { return sizeof(void*); }
88 
89  KLF_EXPORT QString arch();
90 
91  KLF_EXPORT KLFSysInfo::Os os();
92 
93  KLF_EXPORT QString osString(KLFSysInfo::Os sysos = os());
94 };
95 
96 
97 
98 
99 KLF_EXPORT int klfVersionCompare(const QString& v1, const QString& v2);
100 
101 KLF_EXPORT bool klfVersionCompareLessThan(const QString& v1, const QString& v2);
102 
103 
104 #if defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
105 # define KLF_PATH_SEP ';'
106 #else
107 # define KLF_PATH_SEP ':'
108 #endif
109 
110 KLF_EXPORT QStringList klfSearchFind(const QString& wildcard_expression, int limit = -1);
111 KLF_EXPORT QString klfSearchPath(const QString& prog, const QString& extra_path = "");
112 
113 
114 
115 // Import debugging utilities
116 
117 #include <klfdebug.h>
118 
119 
120 
121 #endif
KLF_EXPORT int klfVersionRelease()
Definition: klfdefs.cpp:785
KLF_EXPORT int klfVersionMin()
Definition: klfdefs.cpp:781
KLF_EXPORT int klfVersionMaj()
Definition: klfdefs.cpp:777
systems on which Q_OS_LINUX is defined
Definition: klfdefs.h:85
Debugging utilities.
KLF_EXPORT bool klfVersionCompareLessThan(const QString &v1, const QString &v2)
Same as klfVersionCompare(v1,v2) < 0
Definition: klfdefs.cpp:1159
KLF_EXPORT const char * klfVersion()
Definition: klfdefs.cpp:772
int sizeofVoidStar()
the processor register size.
Definition: klfdefs.h:87
KLF_EXPORT QStringList klfSearchFind(const QString &wildcard_expression, int limit=-1)
Find files matching a path with wildcards.
Definition: klfdefs.cpp:1207
KLF_EXPORT QString klfSearchPath(const QString &prog, const QString &extra_path="")
Smart executable searching in a given path list with wildcards.
Definition: klfdefs.cpp:1228
Os
List of known operating systems.
Definition: klfdefs.h:85
KLF_EXPORT QString arch()
The architecture of this sytem.
Definition: klfdefs.cpp:1012
systems on which Q_OS_DARWIN is defined
Definition: klfdefs.h:85
KLF_EXPORT QString osString(KLFSysInfo::Os sysos=os())
The operating system we are running, returned as a string.
Definition: klfdefs.cpp:1030
KLF_EXPORT int klfVersionCompare(const QString &v1, const QString &v2)
Compares two version strings.
Definition: klfdefs.cpp:1070
Utilities to get system information.
systems on which neither Q_OS_{LINUX|WIN32|DARWIN} is defined
Definition: klfdefs.h:85
KLF_EXPORT KLFSysInfo::Os os()
Which operating system this system is running.
Definition: klfdefs.cpp:1017
KLF_EXPORT QByteArray klfFmt(const char *fmt,...)
Definition: klfdefs.cpp:899
systems on which Q_OS_WIN32 is defined
Definition: klfdefs.h:85

Generated by doxygen 1.8.8