VirtualBox

source: vbox/trunk/src/VBox/Main/include/HostVideoInputDeviceImpl.h@ 73768

Last change on this file since 73768 was 69500, checked in by vboxsync, 7 years ago

*: scm --update-copyright-year

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1/* $Id: HostVideoInputDeviceImpl.h 69500 2017-10-28 15:14:05Z vboxsync $ */
2
3/** @file
4 *
5 * A host video capture device description.
6 */
7
8/*
9 * Copyright (C) 2013-2017 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 HOSTVIDEOINPUTDEVICE_IMPL_H_
21#define HOSTVIDEOINPUTDEVICE_IMPL_H_
22
23#include "HostVideoInputDeviceWrap.h"
24
25#include <list>
26
27class HostVideoInputDevice;
28
29typedef std::list<ComObjPtr<HostVideoInputDevice> > HostVideoInputDeviceList;
30
31class ATL_NO_VTABLE HostVideoInputDevice :
32 public HostVideoInputDeviceWrap
33{
34public:
35
36 DECLARE_EMPTY_CTOR_DTOR(HostVideoInputDevice)
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(VirtualBox *pVirtualBox, HostVideoInputDeviceList *pList);
46
47private:
48
49 // wrapped IHostVideoInputDevice 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 // HOSTVIDEOINPUTDEVICE_IMPL_H_
70
71/* vi: set tabstop=4 shiftwidth=4 expandtab: */
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use