winrt-Windows.Media.Protection 2.1.0__tar.gz → 2.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/PKG-INFO +6 -6
  2. winrt_windows_media_protection-2.3.0/all-requirements.txt +5 -0
  3. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/py.Windows.Media.Protection.cpp +267 -46
  4. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/pyproject.toml +3 -2
  5. winrt_windows_media_protection-2.3.0/pywinrt-version.txt +1 -0
  6. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/requirements.txt +2 -2
  7. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/winrt/_winrt_windows_media_protection.pyi +1 -1
  8. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/winrt/windows/media/protection/__init__.py +1 -1
  9. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/winrt_Windows.Media.Protection.egg-info/PKG-INFO +6 -6
  10. winrt_windows_media_protection-2.3.0/winrt_Windows.Media.Protection.egg-info/requires.txt +6 -0
  11. winrt_windows_media_protection-2.1.0/all-requirements.txt +0 -5
  12. winrt_windows_media_protection-2.1.0/pywinrt-version.txt +0 -1
  13. winrt_windows_media_protection-2.1.0/winrt_Windows.Media.Protection.egg-info/requires.txt +0 -6
  14. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/README.md +0 -0
  15. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/setup.cfg +0 -0
  16. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/setup.py +0 -0
  17. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/winrt/windows/media/protection/py.typed +0 -0
  18. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/winrt_Windows.Media.Protection.egg-info/SOURCES.txt +0 -0
  19. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/winrt_Windows.Media.Protection.egg-info/dependency_links.txt +0 -0
  20. {winrt_windows_media_protection-2.1.0 → winrt_windows_media_protection-2.3.0}/winrt_Windows.Media.Protection.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: winrt-Windows.Media.Protection
3
- Version: 2.1.0
3
+ Version: 2.3.0
4
4
  Summary: Python projection of Windows Runtime (WinRT) APIs
5
5
  License: MIT
6
6
  Project-URL: Documentation, https://pywinrt.readthedocs.io
@@ -10,13 +10,13 @@ Classifier: Operating System :: Microsoft :: Windows
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: Implementation :: CPython
12
12
  Classifier: Intended Audience :: Developers
13
- Requires-Python: <3.13,>=3.9
13
+ Requires-Python: <3.14,>=3.9
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: winrt-runtime==2.1.0
15
+ Requires-Dist: winrt-runtime==2.3.0
16
16
  Provides-Extra: all
17
- Requires-Dist: winrt-Windows.Foundation[all]==2.1.0; extra == "all"
18
- Requires-Dist: winrt-Windows.Foundation.Collections[all]==2.1.0; extra == "all"
19
- Requires-Dist: winrt-Windows.Media.Playback[all]==2.1.0; extra == "all"
17
+ Requires-Dist: winrt-Windows.Foundation[all]==2.3.0; extra == "all"
18
+ Requires-Dist: winrt-Windows.Foundation.Collections[all]==2.3.0; extra == "all"
19
+ Requires-Dist: winrt-Windows.Media.Playback[all]==2.3.0; extra == "all"
20
20
 
21
21
  <!-- warning: Please don't edit this file. It was automatically generated. -->
22
22
 
@@ -0,0 +1,5 @@
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.3.0
2
+
3
+ winrt-Windows.Foundation[all]==2.3.0
4
+ winrt-Windows.Foundation.Collections[all]==2.3.0
5
+ winrt-Windows.Media.Playback[all]==2.3.0
@@ -1,4 +1,4 @@
1
- // WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
1
+ // WARNING: Please don't edit this file. It was generated by Python/WinRT v2.3.0
2
2
 
3
3
  #include "py.Windows.Media.Protection.h"
4
4
 
@@ -25,7 +25,14 @@ namespace py::cpp::Windows::Media::Protection
25
25
  {
26
26
  try
27
27
  {
28
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ComponentLoadFailedEventArgs", L"Completion"))
28
+ static std::optional<bool> is_property_present{};
29
+
30
+ if (!is_property_present.has_value())
31
+ {
32
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ComponentLoadFailedEventArgs", L"Completion");
33
+ }
34
+
35
+ if (!is_property_present.value())
29
36
  {
30
37
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
31
38
  return nullptr;
@@ -44,7 +51,14 @@ namespace py::cpp::Windows::Media::Protection
44
51
  {
45
52
  try
46
53
  {
47
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ComponentLoadFailedEventArgs", L"Information"))
54
+ static std::optional<bool> is_property_present{};
55
+
56
+ if (!is_property_present.has_value())
57
+ {
58
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ComponentLoadFailedEventArgs", L"Information");
59
+ }
60
+
61
+ if (!is_property_present.value())
48
62
  {
49
63
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
50
64
  return nullptr;
@@ -127,7 +141,14 @@ namespace py::cpp::Windows::Media::Protection
127
141
  {
128
142
  try
129
143
  {
130
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.ComponentRenewal", L"RenewSystemComponentsAsync", 1))
144
+ static std::optional<bool> is_overload_present{};
145
+
146
+ if (!is_overload_present.has_value())
147
+ {
148
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.ComponentRenewal", L"RenewSystemComponentsAsync", 1);
149
+ }
150
+
151
+ if (!is_overload_present.value())
131
152
  {
132
153
  py::set_arg_count_version_error(1);
133
154
  return nullptr;
@@ -213,7 +234,7 @@ namespace py::cpp::Windows::Media::Protection
213
234
  {
214
235
  try
215
236
  {
216
- winrt::Windows::Media::Protection::HdcpSession instance{ };
237
+ winrt::Windows::Media::Protection::HdcpSession instance{};
217
238
  return py::wrap(instance, type);
218
239
  }
219
240
  catch (...)
@@ -245,7 +266,14 @@ namespace py::cpp::Windows::Media::Protection
245
266
  {
246
267
  try
247
268
  {
248
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.HdcpSession", L"Close", 0))
269
+ static std::optional<bool> is_overload_present{};
270
+
271
+ if (!is_overload_present.has_value())
272
+ {
273
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.HdcpSession", L"Close", 0);
274
+ }
275
+
276
+ if (!is_overload_present.value())
249
277
  {
250
278
  py::set_arg_count_version_error(0);
251
279
  return nullptr;
@@ -275,7 +303,14 @@ namespace py::cpp::Windows::Media::Protection
275
303
  {
276
304
  try
277
305
  {
278
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.HdcpSession", L"GetEffectiveProtection", 0))
306
+ static std::optional<bool> is_overload_present{};
307
+
308
+ if (!is_overload_present.has_value())
309
+ {
310
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.HdcpSession", L"GetEffectiveProtection", 0);
311
+ }
312
+
313
+ if (!is_overload_present.value())
279
314
  {
280
315
  py::set_arg_count_version_error(0);
281
316
  return nullptr;
@@ -304,7 +339,14 @@ namespace py::cpp::Windows::Media::Protection
304
339
  {
305
340
  try
306
341
  {
307
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.HdcpSession", L"IsEffectiveProtectionAtLeast", 1))
342
+ static std::optional<bool> is_overload_present{};
343
+
344
+ if (!is_overload_present.has_value())
345
+ {
346
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.HdcpSession", L"IsEffectiveProtectionAtLeast", 1);
347
+ }
348
+
349
+ if (!is_overload_present.value())
308
350
  {
309
351
  py::set_arg_count_version_error(1);
310
352
  return nullptr;
@@ -335,7 +377,14 @@ namespace py::cpp::Windows::Media::Protection
335
377
  {
336
378
  try
337
379
  {
338
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.HdcpSession", L"SetDesiredMinProtectionAsync", 1))
380
+ static std::optional<bool> is_overload_present{};
381
+
382
+ if (!is_overload_present.has_value())
383
+ {
384
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.HdcpSession", L"SetDesiredMinProtectionAsync", 1);
385
+ }
386
+
387
+ if (!is_overload_present.value())
339
388
  {
340
389
  py::set_arg_count_version_error(1);
341
390
  return nullptr;
@@ -362,7 +411,14 @@ namespace py::cpp::Windows::Media::Protection
362
411
  {
363
412
  try
364
413
  {
365
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.HdcpSession", L"ProtectionChanged"))
414
+ static std::optional<bool> is_event_present{};
415
+
416
+ if (!is_event_present.has_value())
417
+ {
418
+ is_event_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.HdcpSession", L"ProtectionChanged");
419
+ }
420
+
421
+ if (!is_event_present.value())
366
422
  {
367
423
  PyErr_SetString(PyExc_AttributeError, "event is not available in this version of Windows");
368
424
  return nullptr;
@@ -383,7 +439,14 @@ namespace py::cpp::Windows::Media::Protection
383
439
  {
384
440
  try
385
441
  {
386
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.HdcpSession", L"ProtectionChanged"))
442
+ static std::optional<bool> is_event_present{};
443
+
444
+ if (!is_event_present.has_value())
445
+ {
446
+ is_event_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.HdcpSession", L"ProtectionChanged");
447
+ }
448
+
449
+ if (!is_event_present.value())
387
450
  {
388
451
  PyErr_SetString(PyExc_AttributeError, "event is not available in this version of Windows");
389
452
  return nullptr;
@@ -492,7 +555,7 @@ namespace py::cpp::Windows::Media::Protection
492
555
  {
493
556
  try
494
557
  {
495
- winrt::Windows::Media::Protection::MediaProtectionManager instance{ };
558
+ winrt::Windows::Media::Protection::MediaProtectionManager instance{};
496
559
  return py::wrap(instance, type);
497
560
  }
498
561
  catch (...)
@@ -520,7 +583,14 @@ namespace py::cpp::Windows::Media::Protection
520
583
  {
521
584
  try
522
585
  {
523
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.MediaProtectionManager", L"Properties"))
586
+ static std::optional<bool> is_property_present{};
587
+
588
+ if (!is_property_present.has_value())
589
+ {
590
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.MediaProtectionManager", L"Properties");
591
+ }
592
+
593
+ if (!is_property_present.value())
524
594
  {
525
595
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
526
596
  return nullptr;
@@ -539,7 +609,14 @@ namespace py::cpp::Windows::Media::Protection
539
609
  {
540
610
  try
541
611
  {
542
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"ComponentLoadFailed"))
612
+ static std::optional<bool> is_event_present{};
613
+
614
+ if (!is_event_present.has_value())
615
+ {
616
+ is_event_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"ComponentLoadFailed");
617
+ }
618
+
619
+ if (!is_event_present.value())
543
620
  {
544
621
  PyErr_SetString(PyExc_AttributeError, "event is not available in this version of Windows");
545
622
  return nullptr;
@@ -560,7 +637,14 @@ namespace py::cpp::Windows::Media::Protection
560
637
  {
561
638
  try
562
639
  {
563
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"ComponentLoadFailed"))
640
+ static std::optional<bool> is_event_present{};
641
+
642
+ if (!is_event_present.has_value())
643
+ {
644
+ is_event_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"ComponentLoadFailed");
645
+ }
646
+
647
+ if (!is_event_present.value())
564
648
  {
565
649
  PyErr_SetString(PyExc_AttributeError, "event is not available in this version of Windows");
566
650
  return nullptr;
@@ -582,7 +666,14 @@ namespace py::cpp::Windows::Media::Protection
582
666
  {
583
667
  try
584
668
  {
585
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"RebootNeeded"))
669
+ static std::optional<bool> is_event_present{};
670
+
671
+ if (!is_event_present.has_value())
672
+ {
673
+ is_event_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"RebootNeeded");
674
+ }
675
+
676
+ if (!is_event_present.value())
586
677
  {
587
678
  PyErr_SetString(PyExc_AttributeError, "event is not available in this version of Windows");
588
679
  return nullptr;
@@ -603,7 +694,14 @@ namespace py::cpp::Windows::Media::Protection
603
694
  {
604
695
  try
605
696
  {
606
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"RebootNeeded"))
697
+ static std::optional<bool> is_event_present{};
698
+
699
+ if (!is_event_present.has_value())
700
+ {
701
+ is_event_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"RebootNeeded");
702
+ }
703
+
704
+ if (!is_event_present.value())
607
705
  {
608
706
  PyErr_SetString(PyExc_AttributeError, "event is not available in this version of Windows");
609
707
  return nullptr;
@@ -625,7 +723,14 @@ namespace py::cpp::Windows::Media::Protection
625
723
  {
626
724
  try
627
725
  {
628
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"ServiceRequested"))
726
+ static std::optional<bool> is_event_present{};
727
+
728
+ if (!is_event_present.has_value())
729
+ {
730
+ is_event_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"ServiceRequested");
731
+ }
732
+
733
+ if (!is_event_present.value())
629
734
  {
630
735
  PyErr_SetString(PyExc_AttributeError, "event is not available in this version of Windows");
631
736
  return nullptr;
@@ -646,7 +751,14 @@ namespace py::cpp::Windows::Media::Protection
646
751
  {
647
752
  try
648
753
  {
649
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"ServiceRequested"))
754
+ static std::optional<bool> is_event_present{};
755
+
756
+ if (!is_event_present.has_value())
757
+ {
758
+ is_event_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsEventPresent(L"Windows.Media.Protection.MediaProtectionManager", L"ServiceRequested");
759
+ }
760
+
761
+ if (!is_event_present.value())
650
762
  {
651
763
  PyErr_SetString(PyExc_AttributeError, "event is not available in this version of Windows");
652
764
  return nullptr;
@@ -737,7 +849,7 @@ namespace py::cpp::Windows::Media::Protection
737
849
  {
738
850
  auto param0 = py::convert_to<winrt::Windows::Foundation::Collections::IPropertySet>(args, 0);
739
851
 
740
- winrt::Windows::Media::Protection::MediaProtectionPMPServer instance{ param0 };
852
+ winrt::Windows::Media::Protection::MediaProtectionPMPServer instance{param0};
741
853
  return py::wrap(instance, type);
742
854
  }
743
855
  catch (...)
@@ -765,7 +877,14 @@ namespace py::cpp::Windows::Media::Protection
765
877
  {
766
878
  try
767
879
  {
768
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.MediaProtectionPMPServer", L"Properties"))
880
+ static std::optional<bool> is_property_present{};
881
+
882
+ if (!is_property_present.has_value())
883
+ {
884
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.MediaProtectionPMPServer", L"Properties");
885
+ }
886
+
887
+ if (!is_property_present.value())
769
888
  {
770
889
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
771
890
  return nullptr;
@@ -855,7 +974,14 @@ namespace py::cpp::Windows::Media::Protection
855
974
  {
856
975
  try
857
976
  {
858
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.MediaProtectionServiceCompletion", L"Complete", 1))
977
+ static std::optional<bool> is_overload_present{};
978
+
979
+ if (!is_overload_present.has_value())
980
+ {
981
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.MediaProtectionServiceCompletion", L"Complete", 1);
982
+ }
983
+
984
+ if (!is_overload_present.value())
859
985
  {
860
986
  py::set_arg_count_version_error(1);
861
987
  return nullptr;
@@ -944,7 +1070,7 @@ namespace py::cpp::Windows::Media::Protection
944
1070
  {
945
1071
  try
946
1072
  {
947
- winrt::Windows::Media::Protection::ProtectionCapabilities instance{ };
1073
+ winrt::Windows::Media::Protection::ProtectionCapabilities instance{};
948
1074
  return py::wrap(instance, type);
949
1075
  }
950
1076
  catch (...)
@@ -976,7 +1102,14 @@ namespace py::cpp::Windows::Media::Protection
976
1102
  {
977
1103
  try
978
1104
  {
979
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.ProtectionCapabilities", L"IsTypeSupported", 2))
1105
+ static std::optional<bool> is_overload_present{};
1106
+
1107
+ if (!is_overload_present.has_value())
1108
+ {
1109
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Media.Protection.ProtectionCapabilities", L"IsTypeSupported", 2);
1110
+ }
1111
+
1112
+ if (!is_overload_present.value())
980
1113
  {
981
1114
  py::set_arg_count_version_error(2);
982
1115
  return nullptr;
@@ -1071,7 +1204,14 @@ namespace py::cpp::Windows::Media::Protection
1071
1204
  {
1072
1205
  try
1073
1206
  {
1074
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalInformation", L"Items"))
1207
+ static std::optional<bool> is_property_present{};
1208
+
1209
+ if (!is_property_present.has_value())
1210
+ {
1211
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalInformation", L"Items");
1212
+ }
1213
+
1214
+ if (!is_property_present.value())
1075
1215
  {
1076
1216
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1077
1217
  return nullptr;
@@ -1157,7 +1297,14 @@ namespace py::cpp::Windows::Media::Protection
1157
1297
  {
1158
1298
  try
1159
1299
  {
1160
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"HeaderHash"))
1300
+ static std::optional<bool> is_property_present{};
1301
+
1302
+ if (!is_property_present.has_value())
1303
+ {
1304
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"HeaderHash");
1305
+ }
1306
+
1307
+ if (!is_property_present.value())
1161
1308
  {
1162
1309
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1163
1310
  return nullptr;
@@ -1176,7 +1323,14 @@ namespace py::cpp::Windows::Media::Protection
1176
1323
  {
1177
1324
  try
1178
1325
  {
1179
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"Name"))
1326
+ static std::optional<bool> is_property_present{};
1327
+
1328
+ if (!is_property_present.has_value())
1329
+ {
1330
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"Name");
1331
+ }
1332
+
1333
+ if (!is_property_present.value())
1180
1334
  {
1181
1335
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1182
1336
  return nullptr;
@@ -1195,7 +1349,14 @@ namespace py::cpp::Windows::Media::Protection
1195
1349
  {
1196
1350
  try
1197
1351
  {
1198
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"PublicKeyHash"))
1352
+ static std::optional<bool> is_property_present{};
1353
+
1354
+ if (!is_property_present.has_value())
1355
+ {
1356
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"PublicKeyHash");
1357
+ }
1358
+
1359
+ if (!is_property_present.value())
1199
1360
  {
1200
1361
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1201
1362
  return nullptr;
@@ -1214,7 +1375,14 @@ namespace py::cpp::Windows::Media::Protection
1214
1375
  {
1215
1376
  try
1216
1377
  {
1217
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"Reasons"))
1378
+ static std::optional<bool> is_property_present{};
1379
+
1380
+ if (!is_property_present.has_value())
1381
+ {
1382
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"Reasons");
1383
+ }
1384
+
1385
+ if (!is_property_present.value())
1218
1386
  {
1219
1387
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1220
1388
  return nullptr;
@@ -1233,7 +1401,14 @@ namespace py::cpp::Windows::Media::Protection
1233
1401
  {
1234
1402
  try
1235
1403
  {
1236
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"RenewalId"))
1404
+ static std::optional<bool> is_property_present{};
1405
+
1406
+ if (!is_property_present.has_value())
1407
+ {
1408
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.RevocationAndRenewalItem", L"RenewalId");
1409
+ }
1410
+
1411
+ if (!is_property_present.value())
1237
1412
  {
1238
1413
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1239
1414
  return nullptr;
@@ -1323,7 +1498,14 @@ namespace py::cpp::Windows::Media::Protection
1323
1498
  {
1324
1499
  try
1325
1500
  {
1326
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ServiceRequestedEventArgs", L"Completion"))
1501
+ static std::optional<bool> is_property_present{};
1502
+
1503
+ if (!is_property_present.has_value())
1504
+ {
1505
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ServiceRequestedEventArgs", L"Completion");
1506
+ }
1507
+
1508
+ if (!is_property_present.value())
1327
1509
  {
1328
1510
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1329
1511
  return nullptr;
@@ -1342,7 +1524,14 @@ namespace py::cpp::Windows::Media::Protection
1342
1524
  {
1343
1525
  try
1344
1526
  {
1345
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ServiceRequestedEventArgs", L"Request"))
1527
+ static std::optional<bool> is_property_present{};
1528
+
1529
+ if (!is_property_present.has_value())
1530
+ {
1531
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ServiceRequestedEventArgs", L"Request");
1532
+ }
1533
+
1534
+ if (!is_property_present.value())
1346
1535
  {
1347
1536
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1348
1537
  return nullptr;
@@ -1361,7 +1550,14 @@ namespace py::cpp::Windows::Media::Protection
1361
1550
  {
1362
1551
  try
1363
1552
  {
1364
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ServiceRequestedEventArgs", L"MediaPlaybackItem"))
1553
+ static std::optional<bool> is_property_present{};
1554
+
1555
+ if (!is_property_present.has_value())
1556
+ {
1557
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.ServiceRequestedEventArgs", L"MediaPlaybackItem");
1558
+ }
1559
+
1560
+ if (!is_property_present.value())
1365
1561
  {
1366
1562
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1367
1563
  return nullptr;
@@ -1449,7 +1645,14 @@ namespace py::cpp::Windows::Media::Protection
1449
1645
  {
1450
1646
  try
1451
1647
  {
1452
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.IMediaProtectionServiceRequest", L"ProtectionSystem"))
1648
+ static std::optional<bool> is_property_present{};
1649
+
1650
+ if (!is_property_present.has_value())
1651
+ {
1652
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.IMediaProtectionServiceRequest", L"ProtectionSystem");
1653
+ }
1654
+
1655
+ if (!is_property_present.value())
1453
1656
  {
1454
1657
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1455
1658
  return nullptr;
@@ -1468,7 +1671,14 @@ namespace py::cpp::Windows::Media::Protection
1468
1671
  {
1469
1672
  try
1470
1673
  {
1471
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.IMediaProtectionServiceRequest", L"Type"))
1674
+ static std::optional<bool> is_property_present{};
1675
+
1676
+ if (!is_property_present.has_value())
1677
+ {
1678
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Media.Protection.IMediaProtectionServiceRequest", L"Type");
1679
+ }
1680
+
1681
+ if (!is_property_present.value())
1472
1682
  {
1473
1683
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1474
1684
  return nullptr;
@@ -1579,7 +1789,8 @@ PyMODINIT_FUNC PyInit__winrt_windows_media_protection(void) noexcept
1579
1789
  return nullptr;
1580
1790
  }
1581
1791
 
1582
- if (py::register_python_type(module.get(), &type_spec_ComponentLoadFailedEventArgs, object_bases.get(), nullptr) == -1)
1792
+ py::pytype_handle ComponentLoadFailedEventArgs_type{py::register_python_type(module.get(), &type_spec_ComponentLoadFailedEventArgs, object_bases.get(), nullptr)};
1793
+ if (!ComponentLoadFailedEventArgs_type)
1583
1794
  {
1584
1795
  return nullptr;
1585
1796
  }
@@ -1590,52 +1801,62 @@ PyMODINIT_FUNC PyInit__winrt_windows_media_protection(void) noexcept
1590
1801
  return nullptr;
1591
1802
  }
1592
1803
 
1593
- if (py::register_python_type(module.get(), &type_spec_ComponentRenewal, object_bases.get(), reinterpret_cast<PyTypeObject*>(type_ComponentRenewal_Static.get())) == -1)
1804
+ py::pytype_handle ComponentRenewal_type{py::register_python_type(module.get(), &type_spec_ComponentRenewal, object_bases.get(), reinterpret_cast<PyTypeObject*>(type_ComponentRenewal_Static.get()))};
1805
+ if (!ComponentRenewal_type)
1594
1806
  {
1595
1807
  return nullptr;
1596
1808
  }
1597
1809
 
1598
- if (py::register_python_type(module.get(), &type_spec_HdcpSession, object_bases.get(), nullptr) == -1)
1810
+ py::pytype_handle HdcpSession_type{py::register_python_type(module.get(), &type_spec_HdcpSession, object_bases.get(), nullptr)};
1811
+ if (!HdcpSession_type)
1599
1812
  {
1600
1813
  return nullptr;
1601
1814
  }
1602
1815
 
1603
- if (py::register_python_type(module.get(), &type_spec_MediaProtectionManager, object_bases.get(), nullptr) == -1)
1816
+ py::pytype_handle MediaProtectionManager_type{py::register_python_type(module.get(), &type_spec_MediaProtectionManager, object_bases.get(), nullptr)};
1817
+ if (!MediaProtectionManager_type)
1604
1818
  {
1605
1819
  return nullptr;
1606
1820
  }
1607
1821
 
1608
- if (py::register_python_type(module.get(), &type_spec_MediaProtectionPMPServer, object_bases.get(), nullptr) == -1)
1822
+ py::pytype_handle MediaProtectionPMPServer_type{py::register_python_type(module.get(), &type_spec_MediaProtectionPMPServer, object_bases.get(), nullptr)};
1823
+ if (!MediaProtectionPMPServer_type)
1609
1824
  {
1610
1825
  return nullptr;
1611
1826
  }
1612
1827
 
1613
- if (py::register_python_type(module.get(), &type_spec_MediaProtectionServiceCompletion, object_bases.get(), nullptr) == -1)
1828
+ py::pytype_handle MediaProtectionServiceCompletion_type{py::register_python_type(module.get(), &type_spec_MediaProtectionServiceCompletion, object_bases.get(), nullptr)};
1829
+ if (!MediaProtectionServiceCompletion_type)
1614
1830
  {
1615
1831
  return nullptr;
1616
1832
  }
1617
1833
 
1618
- if (py::register_python_type(module.get(), &type_spec_ProtectionCapabilities, object_bases.get(), nullptr) == -1)
1834
+ py::pytype_handle ProtectionCapabilities_type{py::register_python_type(module.get(), &type_spec_ProtectionCapabilities, object_bases.get(), nullptr)};
1835
+ if (!ProtectionCapabilities_type)
1619
1836
  {
1620
1837
  return nullptr;
1621
1838
  }
1622
1839
 
1623
- if (py::register_python_type(module.get(), &type_spec_RevocationAndRenewalInformation, object_bases.get(), nullptr) == -1)
1840
+ py::pytype_handle RevocationAndRenewalInformation_type{py::register_python_type(module.get(), &type_spec_RevocationAndRenewalInformation, object_bases.get(), nullptr)};
1841
+ if (!RevocationAndRenewalInformation_type)
1624
1842
  {
1625
1843
  return nullptr;
1626
1844
  }
1627
1845
 
1628
- if (py::register_python_type(module.get(), &type_spec_RevocationAndRenewalItem, object_bases.get(), nullptr) == -1)
1846
+ py::pytype_handle RevocationAndRenewalItem_type{py::register_python_type(module.get(), &type_spec_RevocationAndRenewalItem, object_bases.get(), nullptr)};
1847
+ if (!RevocationAndRenewalItem_type)
1629
1848
  {
1630
1849
  return nullptr;
1631
1850
  }
1632
1851
 
1633
- if (py::register_python_type(module.get(), &type_spec_ServiceRequestedEventArgs, object_bases.get(), nullptr) == -1)
1852
+ py::pytype_handle ServiceRequestedEventArgs_type{py::register_python_type(module.get(), &type_spec_ServiceRequestedEventArgs, object_bases.get(), nullptr)};
1853
+ if (!ServiceRequestedEventArgs_type)
1634
1854
  {
1635
1855
  return nullptr;
1636
1856
  }
1637
1857
 
1638
- if (py::register_python_type(module.get(), &type_spec_IMediaProtectionServiceRequest, object_bases.get(), nullptr) == -1)
1858
+ py::pytype_handle IMediaProtectionServiceRequest_type{py::register_python_type(module.get(), &type_spec_IMediaProtectionServiceRequest, object_bases.get(), nullptr)};
1859
+ if (!IMediaProtectionServiceRequest_type)
1639
1860
  {
1640
1861
  return nullptr;
1641
1862
  }
@@ -16,7 +16,7 @@ classifiers = [
16
16
  "Intended Audience :: Developers",
17
17
  ]
18
18
  dynamic = ["version", "dependencies", "optional-dependencies"]
19
- requires-python = ">=3.9,<3.13"
19
+ requires-python = ">=3.9,<3.14"
20
20
 
21
21
  [project.urls]
22
22
  # Homepage = "https://github.com/pywinrt/pywinrt"
@@ -36,7 +36,8 @@ optional-dependencies.all = { file = "all-requirements.txt" }
36
36
  # use local winrt-sdk build dependency
37
37
  environment = { PYTHONPATH="../winrt-sdk/src" }
38
38
  # don't install winrt-sdk from PyPI
39
- build-frontend = { name = "build", args = ["--skip-dependency-check", "--no-isolation"] }
39
+ build-frontend = { name = "build[uv]", args = ["--skip-dependency-check", "--no-isolation"] }
40
+ before-build = "uv pip install setuptools"
40
41
  # don't build for PyPy
41
42
  skip = "pp*"
42
43
  # suppress warnings about ARM64 testing
@@ -1,3 +1,3 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.3.0
2
2
 
3
- winrt-runtime==2.1.0
3
+ winrt-runtime==2.3.0
@@ -1,4 +1,4 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.3.0
2
2
 
3
3
  import datetime
4
4
  import sys
@@ -1,4 +1,4 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.3.0
2
2
 
3
3
  import enum
4
4
  import typing
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: winrt-Windows.Media.Protection
3
- Version: 2.1.0
3
+ Version: 2.3.0
4
4
  Summary: Python projection of Windows Runtime (WinRT) APIs
5
5
  License: MIT
6
6
  Project-URL: Documentation, https://pywinrt.readthedocs.io
@@ -10,13 +10,13 @@ Classifier: Operating System :: Microsoft :: Windows
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: Implementation :: CPython
12
12
  Classifier: Intended Audience :: Developers
13
- Requires-Python: <3.13,>=3.9
13
+ Requires-Python: <3.14,>=3.9
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: winrt-runtime==2.1.0
15
+ Requires-Dist: winrt-runtime==2.3.0
16
16
  Provides-Extra: all
17
- Requires-Dist: winrt-Windows.Foundation[all]==2.1.0; extra == "all"
18
- Requires-Dist: winrt-Windows.Foundation.Collections[all]==2.1.0; extra == "all"
19
- Requires-Dist: winrt-Windows.Media.Playback[all]==2.1.0; extra == "all"
17
+ Requires-Dist: winrt-Windows.Foundation[all]==2.3.0; extra == "all"
18
+ Requires-Dist: winrt-Windows.Foundation.Collections[all]==2.3.0; extra == "all"
19
+ Requires-Dist: winrt-Windows.Media.Playback[all]==2.3.0; extra == "all"
20
20
 
21
21
  <!-- warning: Please don't edit this file. It was automatically generated. -->
22
22
 
@@ -0,0 +1,6 @@
1
+ winrt-runtime==2.3.0
2
+
3
+ [all]
4
+ winrt-Windows.Foundation[all]==2.3.0
5
+ winrt-Windows.Foundation.Collections[all]==2.3.0
6
+ winrt-Windows.Media.Playback[all]==2.3.0
@@ -1,5 +0,0 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
2
-
3
- winrt-Windows.Foundation[all]==2.1.0
4
- winrt-Windows.Foundation.Collections[all]==2.1.0
5
- winrt-Windows.Media.Playback[all]==2.1.0
@@ -1,6 +0,0 @@
1
- winrt-runtime==2.1.0
2
-
3
- [all]
4
- winrt-Windows.Foundation[all]==2.1.0
5
- winrt-Windows.Foundation.Collections[all]==2.1.0
6
- winrt-Windows.Media.Playback[all]==2.1.0