CaptureFactory_private.h
Go to the documentation of this file.
1 /*
2  * This file is part of ALVAR, A Library for Virtual and Augmented Reality.
3  *
4  * Copyright 2007-2012 VTT Technical Research Centre of Finland
5  *
6  * Contact: VTT Augmented Reality Team <alvar.info@vtt.fi>
7  * <http://www.vtt.fi/multimedia/alvar.html>
8  *
9  * ALVAR is free software; you can redistribute it and/or modify it under the
10  * terms of the GNU Lesser General Public License as published by the Free
11  * Software Foundation; either version 2.1 of the License, or (at your option)
12  * any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
17  * for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with ALVAR; if not, see
21  * <http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>.
22  */
23 
24 #ifndef CAPTUREFACTORY_PRIVATE_H
25 #define CAPTUREFACTORY_PRIVATE_H
26 
27 #include <vector>
28 #include <map>
29 #include <string>
30 
31 #include "Plugin.h"
32 
33 namespace alvar {
34 
35 class CapturePlugin;
36 
38 {
39 public:
42 
43  void setupPluginPaths();
44  void parseEnvironmentVariable(const std::string &variable);
45  std::string pluginPrefix();
46  std::string pluginExtension();
47 
48  void loadPlugins();
49  void loadPlugin(const std::string &captureType);
50  void loadPlugin(const std::string &captureType, const std::string &filename);
51  CapturePlugin *getPlugin(const std::string &captureType);
52 
53  typedef std::vector<std::string> PluginPathsVector;
54  PluginPathsVector mPluginPaths;
55  std::string mPluginPrefix;
56  std::string mPluginPostfix;
57 
59  typedef std::map<std::string, Plugin> PluginMap;
60  PluginMap mPluginMap;
61  typedef std::map<std::string, CapturePlugin *> CapturePluginMap;
62  CapturePluginMap mCapturePluginMap;
63 };
64 
65 } // namespace alvar
66 
67 #endif
Main ALVAR namespace.
Definition: Alvar.h:174
filename
This file implements a loader for plugins as dynamic libraries.
CapturePlugin * getPlugin(const std::string &captureType)
std::map< std::string, CapturePlugin * > CapturePluginMap
CapturePlugin interface that plugins must implement.
Definition: CapturePlugin.h:44
std::map< std::string, Plugin > PluginMap
void loadPlugin(const std::string &captureType)
void parseEnvironmentVariable(const std::string &variable)
std::vector< std::string > PluginPathsVector


ar_track_alvar
Author(s): Scott Niekum
autogenerated on Mon Jun 10 2019 12:47:03