Project

General

Profile

Kinect Scol plugin
DeviceManager.h
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OpenSpace3D
4 For the latest info, see http://www.openspace3d.com
5 
6 Copyright (c) 2012 I-maginer
7 
8 This program is free software; you can redistribute it and/or modify it under
9 the terms of the GNU Lesser General Public License as published by the Free Software
10 Foundation; either version 2 of the License, or (at your option) any later
11 version.
12 
13 This program is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16 
17 You should have received a copy of the GNU Lesser General Public License along with
18 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
20 http://www.gnu.org/copyleft/lesser.txt
21 
22 -----------------------------------------------------------------------------
23 */
24 
32 #ifndef __DeviceManager_H__
33 #define __DeviceManager_H__
34 
35 #include "core/Singleton.h"
36 #include "objects/KinectDevice.h"
37 #include "generator/Image.h"
38 #include "generator/Depth.h"
39 #include "generator/User.h"
40 #include "lib/common.h"
41 
42 class DeviceManager : public::Singleton<DeviceManager> // Device manager inherits from Singleton
43 {
44  public:
45  // Get singleton instance
46  static DeviceManager& GetSingleton();
47  static DeviceManager* GetSingletonPtr();
48 
49  // Constructor and Destructor
50  DeviceManager();
51  ~DeviceManager();
52 
53  // Create and destroy Kinect Device
54  KinectDevice* CreateKinectDevice();
55  void DestroyKinectDevice(KinectDevice* existingKinectDevice);
56  KinectDevice* GetKinectDevice(unsigned int id);
57 
58  private:
59  KinectDeviceMap listOfKinectDevice;
60  unsigned int createId();
61 
62  void close();
63  void addKinectDevice(KinectDevice* existingKinectDevice);
64 
65  protected:
66 };
67 
68 #endif
Kinect device handling. .
Definition: KinectDevice.h:39
Handle DeviceManager type. .
Definition: DeviceManager.h:42