CaptureFactory_private.h
Go to the documentation of this file.
00001 /*
00002  * This file is part of ALVAR, A Library for Virtual and Augmented Reality.
00003  *
00004  * Copyright 2007-2012 VTT Technical Research Centre of Finland
00005  *
00006  * Contact: VTT Augmented Reality Team <alvar.info@vtt.fi>
00007  *          <http://www.vtt.fi/multimedia/alvar.html>
00008  *
00009  * ALVAR is free software; you can redistribute it and/or modify it under the
00010  * terms of the GNU Lesser General Public License as published by the Free
00011  * Software Foundation; either version 2.1 of the License, or (at your option)
00012  * any later version.
00013  *
00014  * This library is distributed in the hope that it will be useful, but WITHOUT
00015  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00016  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
00017  * for more details.
00018  *
00019  * You should have received a copy of the GNU Lesser General Public License
00020  * along with ALVAR; if not, see
00021  * <http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>.
00022  */
00023 
00024 #ifndef CAPTUREFACTORY_PRIVATE_H
00025 #define CAPTUREFACTORY_PRIVATE_H
00026 
00027 #include <vector>
00028 #include <map>
00029 #include <string>
00030 
00031 #include "Plugin.h"
00032 
00033 namespace alvar {
00034 
00035 class CapturePlugin;
00036 
00037 class CaptureFactoryPrivate
00038 {
00039 public:
00040     CaptureFactoryPrivate();
00041     ~CaptureFactoryPrivate();
00042 
00043     void setupPluginPaths();
00044     void parseEnvironmentVariable(const std::string &variable);
00045     std::string pluginPrefix();
00046     std::string pluginExtension();
00047 
00048     void loadPlugins();
00049     void loadPlugin(const std::string &captureType);
00050     void loadPlugin(const std::string &captureType, const std::string &filename);
00051     CapturePlugin *getPlugin(const std::string &captureType);
00052 
00053     typedef std::vector<std::string> PluginPathsVector;
00054     PluginPathsVector mPluginPaths;
00055     std::string mPluginPrefix;
00056     std::string mPluginPostfix;
00057 
00058     bool mLoadedAllPlugins;
00059     typedef std::map<std::string, Plugin> PluginMap;
00060     PluginMap mPluginMap;
00061     typedef std::map<std::string, CapturePlugin *> CapturePluginMap;
00062     CapturePluginMap mCapturePluginMap;
00063 };
00064 
00065 } // namespace alvar
00066 
00067 #endif


ar_track_alvar
Author(s): Scott Niekum
autogenerated on Sat Dec 28 2013 16:46:15