-
Notifications
You must be signed in to change notification settings - Fork 545
/
AdaptiveMedia.h
112 lines (91 loc) · 5.09 KB
/
AdaptiveMedia.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#pragma once
#include "AdaptiveCards.Rendering.Uwp.h"
#include "AdaptiveCardElement.h"
#include "Media.h"
namespace AdaptiveNamespace
{
class DECLSPEC_UUID("0c87566c-a58c-4332-8b3b-79c9714074f6") AdaptiveMedia
: public Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::RuntimeClassType::WinRtClassicComMix>,
ABI::AdaptiveNamespace::IAdaptiveMedia,
ABI::AdaptiveNamespace::IAdaptiveCardElement,
Microsoft::WRL::CloakedIid<ITypePeek>,
Microsoft::WRL::CloakedIid<AdaptiveNamespace::AdaptiveCardElementBase>>
{
AdaptiveRuntime(AdaptiveMedia);
public:
HRESULT RuntimeClassInitialize() noexcept;
HRESULT RuntimeClassInitialize(const std::shared_ptr<AdaptiveSharedNamespace::Media>& sharedMedia);
// IAdaptiveMedia
IFACEMETHODIMP get_Poster(_Outptr_ HSTRING* text);
IFACEMETHODIMP put_Poster(_In_ HSTRING text);
IFACEMETHODIMP get_AltText(_Outptr_ HSTRING* text);
IFACEMETHODIMP put_AltText(_In_ HSTRING text);
IFACEMETHODIMP get_Sources(
_COM_Outptr_ ABI::Windows::Foundation::Collections::IVector<ABI::AdaptiveNamespace::AdaptiveMediaSource*>** mediaSources);
// IAdaptiveCardElement
IFACEMETHODIMP get_ElementType(_Out_ ABI::AdaptiveNamespace::ElementType* elementType);
IFACEMETHODIMP get_Spacing(_Out_ ABI::AdaptiveNamespace::Spacing* spacing)
{
return AdaptiveCardElementBase::get_Spacing(spacing);
}
IFACEMETHODIMP put_Spacing(ABI::AdaptiveNamespace::Spacing spacing)
{
return AdaptiveCardElementBase::put_Spacing(spacing);
}
IFACEMETHODIMP get_Separator(_Out_ boolean* separator)
{
return AdaptiveCardElementBase::get_Separator(separator);
}
IFACEMETHODIMP put_Separator(boolean separator) { return AdaptiveCardElementBase::put_Separator(separator); }
IFACEMETHODIMP get_IsVisible(_Out_ boolean* isVisible)
{
return AdaptiveCardElementBase::get_IsVisible(isVisible);
}
IFACEMETHODIMP put_IsVisible(boolean isVisible) { return AdaptiveCardElementBase::put_IsVisible(isVisible); }
IFACEMETHODIMP get_Id(_Outptr_ HSTRING* id) { return AdaptiveCardElementBase::get_Id(id); }
IFACEMETHODIMP put_Id(_In_ HSTRING id) { return AdaptiveCardElementBase::put_Id(id); }
IFACEMETHODIMP get_FallbackType(_Out_ ABI::AdaptiveNamespace::FallbackType * fallback) { return AdaptiveCardElementBase::get_FallbackType(fallback); }
IFACEMETHODIMP get_FallbackContent(_COM_Outptr_ ABI::AdaptiveNamespace::IAdaptiveCardElement ** content) { return AdaptiveCardElementBase::get_FallbackContent(content); }
IFACEMETHODIMP put_FallbackType(ABI::AdaptiveNamespace::FallbackType fallback) { return AdaptiveCardElementBase::put_FallbackType(fallback); }
IFACEMETHODIMP put_FallbackContent(_In_ ABI::AdaptiveNamespace::IAdaptiveCardElement * content) { return AdaptiveCardElementBase::put_FallbackContent(content); }
IFACEMETHODIMP get_ElementTypeString(_Outptr_ HSTRING* value)
{
return AdaptiveCardElementBase::get_ElementTypeString(value);
}
IFACEMETHODIMP get_AdditionalProperties(_COM_Outptr_ ABI::Windows::Data::Json::IJsonObject** result)
{
return AdaptiveCardElementBase::get_AdditionalProperties(result);
}
IFACEMETHODIMP put_AdditionalProperties(_In_ ABI::Windows::Data::Json::IJsonObject* value)
{
return AdaptiveCardElementBase::put_AdditionalProperties(value);
}
IFACEMETHODIMP get_Height(_Out_ ABI::AdaptiveNamespace::HeightType* height)
{
return AdaptiveCardElementBase::get_Height(height);
}
IFACEMETHODIMP put_Height(ABI::AdaptiveNamespace::HeightType height)
{
return AdaptiveCardElementBase::put_Height(height);
}
IFACEMETHODIMP get_Requirements(
_COM_Outptr_ ABI::Windows::Foundation::Collections::IVector<ABI::AdaptiveNamespace::AdaptiveRequirement*>** requirements)
{
return AdaptiveCardElementBase::get_Requirements(requirements);
}
IFACEMETHODIMP ToJson(_COM_Outptr_ ABI::Windows::Data::Json::IJsonObject** result)
{
return AdaptiveCardElementBase::ToJson(result);
}
virtual HRESULT GetSharedModel(std::shared_ptr<AdaptiveSharedNamespace::BaseCardElement>& sharedModel) override;
// ITypePeek method
void* PeekAt(REFIID riid) override { return PeekHelper(riid, this); }
private:
Microsoft::WRL::Wrappers::HString m_poster;
Microsoft::WRL::Wrappers::HString m_altText;
Microsoft::WRL::ComPtr<ABI::Windows::Foundation::Collections::IVector<ABI::AdaptiveNamespace::AdaptiveMediaSource*>> m_sources;
};
ActivatableClass(AdaptiveMedia);
}