Field3D
PluginLoader.h
Go to the documentation of this file.
1
//----------------------------------------------------------------------------//
2
3
/*
4
* Copyright (c) 2009 Sony Pictures Imageworks Inc
5
*
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the
17
* distribution. Neither the name of Sony Pictures Imageworks nor the
18
* names of its contributors may be used to endorse or promote
19
* products derived from this software without specific prior written
20
* permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
31
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
33
* OF THE POSSIBILITY OF SUCH DAMAGE.
34
*/
35
36
//----------------------------------------------------------------------------//
37
42
//----------------------------------------------------------------------------//
43
44
#ifndef _INCLUDED_Field3D_PluginLoader_H_
45
#define _INCLUDED_Field3D_PluginLoader_H_
46
47
#include <string>
48
#include <vector>
49
50
//----------------------------------------------------------------------------//
51
52
#include "
ns.h
"
53
54
FIELD3D_NAMESPACE_OPEN
55
56
//----------------------------------------------------------------------------//
57
// PluginLoader
58
//----------------------------------------------------------------------------//
59
66
//----------------------------------------------------------------------------//
67
68
class
PluginLoader
69
{
70
71
public
:
72
73
// Constructors --------------------------------------------------------------
74
76
PluginLoader
();
78
~PluginLoader
();
79
80
// Main methods --------------------------------------------------------------
81
83
static
void
loadPlugins
();
84
85
#if 0
86
bool
resolveGlobalsForPlugins(
const
char
*dso);
88
bool
getDso(
char
*cptr,
const
char
*dso, std::string &dsoPath);
89
#endif
90
91
private
:
92
93
// Private data members ------------------------------------------------------
94
96
static
std::vector<std::string>
ms_pluginsLoaded
;
97
98
};
99
100
//----------------------------------------------------------------------------//
101
// Utility functions
102
//----------------------------------------------------------------------------//
103
104
bool
getDirSos
(std::vector<std::string> &sos, std::string &dir);
105
106
//----------------------------------------------------------------------------//
107
108
FIELD3D_NAMESPACE_HEADER_CLOSE
109
110
//----------------------------------------------------------------------------//
111
112
#endif // Include guard
FIELD3D_NAMESPACE_HEADER_CLOSE
#define FIELD3D_NAMESPACE_HEADER_CLOSE
Definition:
ns.h:58
PluginLoader::PluginLoader
PluginLoader()
Default constructor.
Definition:
PluginLoader.cpp:238
PluginLoader::loadPlugins
static void loadPlugins()
Checks all paths in $FIELD3D_DSO_PATH and loads the plugins it finds.
Definition:
PluginLoader.cpp:252
ns.h
PluginLoader
This class provides methods for loading Field plugins from disk.
Definition:
PluginLoader.h:69
FIELD3D_NAMESPACE_OPEN
Definition:
FieldMapping.cpp:74
PluginLoader::ms_pluginsLoaded
static std::vector< std::string > ms_pluginsLoaded
List of plugins loaded.
Definition:
PluginLoader.h:96
getDirSos
bool getDirSos(std::vector< std::string > &sos, std::string &dir)
Definition:
PluginLoader.cpp:125
PluginLoader::~PluginLoader
~PluginLoader()
Destructor.
Definition:
PluginLoader.cpp:245
export
PluginLoader.h
Generated by
1.8.18