My Project
CapturePlugin.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 CAPTUREPLUGIN_H
25 #define CAPTUREPLUGIN_H
26 
33 #include "Alvar.h"
34 #include "CaptureDevice.h"
35 
36 namespace alvar {
37 
44 class ALVAR_EXPORT CapturePlugin
45 {
46 public:
52  CapturePlugin(const std::string &captureType) : mCaptureType(captureType)
53  {
54  }
55 
59  virtual ~CapturePlugin(){};
60 
64  typedef std::vector<CaptureDevice> CaptureDeviceVector;
65 
72 
79  virtual Capture *createCapture(const CaptureDevice captureDevice) = 0;
80 
81 protected:
82  std::string mCaptureType;
83 };
84 
85 } // namespace alvar
86 
87 #endif
This file defines library export definitions, version numbers and build information.
This file implements a capture device to hold camera information.
CaptureDevice holder for camera information.
Definition: CaptureDevice.h:45
Capture interface that plugins must implement.
Definition: Capture.h:47
CapturePlugin interface that plugins must implement.
Definition: CapturePlugin.h:45
virtual ~CapturePlugin()
Destructor.
Definition: CapturePlugin.h:59
virtual Capture * createCapture(const CaptureDevice captureDevice)=0
Create Capture class. Transfers onwership to the caller.
std::vector< CaptureDevice > CaptureDeviceVector
Vector of CaptureDevices.
Definition: CapturePlugin.h:59
CapturePlugin(const std::string &captureType)
Constructor.
Definition: CapturePlugin.h:52
virtual CaptureDeviceVector enumerateDevices()=0
Enumerate capture devices currently available.
Main ALVAR namespace.
Definition: Alvar.h:174