VirtualBox

source: vbox/trunk/src/VBox/Main/include/HostVideoCaptureDeviceImpl.h@ 48600

Last change on this file since 48600 was 48600, checked in by vboxsync, 11 years ago

VBoxManage,Main: IHost::VideoCaptureDevices. Windows host implementation.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1/* $Id: HostVideoCaptureDeviceImpl.h 48600 2013-09-20 14:30:46Z vboxsync $ */
2
3/** @file
4 *
5 * A host video capture device description.
6 */
7
8/*
9 * Copyright (C) 2013 Oracle Corporation
10 *
11 * This file is part of VirtualBox Open Source Edition (OSE), as
12 * available from http://www.virtualbox.org. This file is free software;
13 * you can redistribute it and/or modify it under the terms of the GNU
14 * General Public License (GPL) as published by the Free Software
15 * Foundation, in version 2 as it comes in the "COPYING" file of the
16 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18 */
19
20#ifndef HOSTVIDEOCAPTUREDEVICE_IMPL_H_
21#define HOSTVIDEOCAPTUREDEVICE_IMPL_H_
22
23#include "HostVideoCaptureDeviceWrap.h"
24
25#include <list>
26
27class HostVideoCaptureDevice;
28
29typedef std::list<ComObjPtr<HostVideoCaptureDevice> > HostVideoCaptureDeviceList;
30
31class ATL_NO_VTABLE HostVideoCaptureDevice :
32 public HostVideoCaptureDeviceWrap
33{
34public:
35
36 DECLARE_EMPTY_CTOR_DTOR(HostVideoCaptureDevice)
37
38 HRESULT FinalConstruct();
39 void FinalRelease();
40
41 /* Public initializer/uninitializer for internal purposes only. */
42 HRESULT init(const com::Utf8Str &name, const com::Utf8Str &path, const com::Utf8Str &alias);
43 void uninit();
44
45 static HRESULT queryHostDevices(HostVideoCaptureDeviceList *pList);
46
47private:
48
49 // wrapped IHostVideoCaptureDevice properties
50 virtual HRESULT getName(com::Utf8Str &aName) { aName = m.name; return S_OK; }
51 virtual HRESULT getPath(com::Utf8Str &aPath) { aPath = m.path; return S_OK; }
52 virtual HRESULT getAlias(com::Utf8Str &aAlias) { aAlias = m.alias; return S_OK; }
53
54 /* Data. */
55 struct Data
56 {
57 Data()
58 {
59 }
60
61 com::Utf8Str name;
62 com::Utf8Str path;
63 com::Utf8Str alias;
64 };
65
66 Data m;
67};
68
69#endif // HOSTVIDEOCAPTUREDEVICE_IMPL_H_
70
71/* vi: set tabstop=4 shiftwidth=4 expandtab: */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette