Olive
io
crossplatformlib.h
1
/***
2
3
Olive - Non-Linear Video Editor
4
Copyright (C) 2019 Olive Team
5
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19
***/
20
21
#ifndef CROSSPLATFORMLIB_H
22
#define CROSSPLATFORMLIB_H
23
24
#include <QString>
25
26
#ifdef _WIN32
27
#include <Windows.h>
28
#define LibAddress GetProcAddress
29
#define LibClose FreeModule
30
#define ModulePtr HMODULE
31
#elif defined(__linux__) || defined(__APPLE__)
32
#include <dlfcn.h>
33
#define LibAddress dlsym
34
#define LibClose dlclose
35
#define ModulePtr void*
36
#endif
37
38
ModulePtr LibLoad(
const
QString& filename);
39
QStringList LibFilter();
40
41
#ifdef __APPLE__
42
#include <CoreFoundation/CoreFoundation.h>
43
class
NSWindow;
44
45
CFBundleRef BundleLoad(
const
QString& filename);
46
void
BundleClose(CFBundleRef bundle);
47
#endif
48
49
#endif // CROSSPLATFORMLIB_H
Generated by
1.8.15