OLD | NEW |
1 /* -LICENSE-START- | 1 /* -LICENSE-START- |
2 ** Copyright (c) 2014 Blackmagic Design | 2 ** Copyright (c) 2014 Blackmagic Design |
3 ** | 3 ** |
4 ** Permission is hereby granted, free of charge, to any person or organization | 4 ** Permission is hereby granted, free of charge, to any person or organization |
5 ** obtaining a copy of the software and accompanying documentation covered by | 5 ** obtaining a copy of the software and accompanying documentation covered by |
6 ** this license (the "Software") to use, reproduce, display, distribute, | 6 ** this license (the "Software") to use, reproduce, display, distribute, |
7 ** execute, and transmit the Software, and to prepare derivative works of the | 7 ** execute, and transmit the Software, and to prepare derivative works of the |
8 ** Software, and to permit third-parties to whom the Software is furnished to | 8 ** Software, and to permit third-parties to whom the Software is furnished to |
9 ** do so, all subject to the following: | 9 ** do so, all subject to the following: |
10 ** | 10 ** |
11 ** The copyright notices in the Software and this entire statement, including | 11 ** The copyright notices in the Software and this entire statement, including |
12 ** the above license grant, this restriction and the following disclaimer, | 12 ** the above license grant, this restriction and the following disclaimer, |
13 ** must be included in all copies of the Software, in whole or in part, and | 13 ** must be included in all copies of the Software, in whole or in part, and |
14 ** all derivative works of the Software, unless such copies or derivative | 14 ** all derivative works of the Software, unless such copies or derivative |
15 ** works are solely in the form of machine-executable object code generated by | 15 ** works are solely in the form of machine-executable object code generated by |
16 ** a source language processor. | 16 ** a source language processor. |
17 ** | 17 ** |
18 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 18 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
19 ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 19 ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
20 ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT | 20 ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT |
21 ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE | 21 ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE |
22 ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, | 22 ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, |
23 ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 23 ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
24 ** DEALINGS IN THE SOFTWARE. | 24 ** DEALINGS IN THE SOFTWARE. |
25 ** -LICENSE-END- | 25 ** -LICENSE-END- |
26 */ | 26 */ |
27 | 27 |
28 #ifndef BMD_DECKLINKAPIDISCOVERY_H | |
29 #define BMD_DECKLINKAPIDISCOVERY_H | |
30 | |
31 | 28 |
32 #ifndef BMD_CONST | 29 #ifndef BMD_CONST |
33 #if defined(_MSC_VER) | 30 #if defined(_MSC_VER) |
34 #define BMD_CONST __declspec(selectany) static const | 31 #define BMD_CONST __declspec(selectany) static const |
35 #else | 32 #else |
36 #define BMD_CONST static const | 33 #define BMD_CONST static const |
37 #endif | 34 #endif |
38 #endif | 35 #endif |
39 | 36 |
40 // Type Declarations | 37 // Type Declarations |
41 | 38 |
42 | 39 |
43 // Interface ID Declarations | 40 // Enumeration Mapping |
44 | 41 |
45 BMD_CONST REFIID IID_IDeckLink = /* C418FBDD-
0587-48ED-8FE5-640F0A14AF91 */ {0xC4,0x18,0xFB,0xDD,0x05,0x87,0x48,0xED,0x8F,0xE
5,0x64,0x0F,0x0A,0x14,0xAF,0x91}; | 42 cpp_quote("#if 0") |
| 43 cpp_quote("#endif") |
46 | 44 |
47 // Forward Declarations | 45 // Forward Declarations |
48 | 46 |
49 class IDeckLink; | 47 interface IDeckLink; |
50 | 48 |
51 /* Interface IDeckLink - represents a DeckLink device */ | 49 /* Interface IDeckLink - represents a DeckLink device */ |
52 | 50 |
53 class IDeckLink : public IUnknown | 51 [ |
| 52 object, |
| 53 uuid(C418FBDD-0587-48ED-8FE5-640F0A14AF91), |
| 54 helpstring("represents a DeckLink device") |
| 55 ] interface IDeckLink : IUnknown |
54 { | 56 { |
55 public: | 57 HRESULT GetModelName([out] BSTR *modelName); |
56 virtual HRESULT GetModelName (/* out */ CFStringRef *modelName) = 0; | 58 HRESULT GetDisplayName([out] BSTR *displayName); |
57 virtual HRESULT GetDisplayName (/* out */ CFStringRef *displayName) = 0; | |
58 | |
59 protected: | |
60 virtual ~IDeckLink () {}; // call Release method to drop reference count | |
61 }; | 59 }; |
62 | 60 |
63 /* Functions */ | 61 /* Coclasses */ |
64 | 62 |
65 extern "C" { | 63 importlib("stdole2.tlb"); |
66 | 64 |
67 | 65 |
68 }; | |
69 | |
70 | |
71 #endif /* defined(BMD_DECKLINKAPIDISCOVERY_H) */ | |
OLD | NEW |