| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- // qpermissions.sip generated by MetaSIP
- //
- // This file is part of the QtCore Python extension module.
- //
- // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
- //
- // This file is part of PyQt6.
- //
- // This file may be used under the terms of the GNU General Public License
- // version 3.0 as published by the Free Software Foundation and appearing in
- // the file LICENSE included in the packaging of this file. Please review the
- // following information to ensure the GNU General Public License version 3.0
- // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
- //
- // If you do not wish to use this file under the terms of the GPL version 3.0
- // then you may purchase a commercial license. For more information contact
- // info@riverbankcomputing.com.
- //
- // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- %If (Qt_6_5_0 -)
- %If (PyQt_Permissions)
- class QPermission /TypeHintIn="Union[QBluetoothPermission, QCalendarPermission, QCameraPermission, QContactsPermission, QLocationPermission, QMicrophonePermission]"/
- {
- %TypeHeaderCode
- #include <qpermissions.h>
- %End
- %ConvertToTypeCode
- // Note that we don't allow sub-classes of the typed permissions.
- const sipTypeDef *td = sipTypeFromPyTypeObject(Py_TYPE(sipPy));
- if (!sipIsErr)
- return (td == sipType_QBluetoothPermission ||
- td == sipType_QCalendarPermission ||
- td == sipType_QCameraPermission ||
- td == sipType_QContactsPermission ||
- td == sipType_QLocationPermission ||
- td == sipType_QMicrophonePermission);
- void *cpp = sipConvertToType(sipPy, td, sipTransferObj, SIP_NOT_NONE, NULL, sipIsErr);
- if (*sipIsErr)
- return 0;
- if (td == sipType_QBluetoothPermission)
- *sipCppPtr = new QPermission(*reinterpret_cast<QBluetoothPermission *>(cpp));
- else if (td == sipType_QCalendarPermission)
- *sipCppPtr = new QPermission(*reinterpret_cast<QCalendarPermission *>(cpp));
- else if (td == sipType_QCameraPermission)
- *sipCppPtr = new QPermission(*reinterpret_cast<QCameraPermission *>(cpp));
- else if (td == sipType_QContactsPermission)
- *sipCppPtr = new QPermission(*reinterpret_cast<QContactsPermission *>(cpp));
- else if (td == sipType_QLocationPermission)
- *sipCppPtr = new QPermission(*reinterpret_cast<QLocationPermission *>(cpp));
- else if (td == sipType_QMicrophonePermission)
- *sipCppPtr = new QPermission(*reinterpret_cast<QMicrophonePermission *>(cpp));
- return sipGetState(sipTransferObj);
- %End
- public:
- QPermission();
- Qt::PermissionStatus status() const;
- QMetaType type() const;
- SIP_PYOBJECT value() const;
- %MethodCode
- const sipTypeDef *td = SIP_NULLPTR;
- void *perm = SIP_NULLPTR;
- QMetaType mt = sipCpp->type();
-
- if (mt == QMetaType::fromType<QBluetoothPermission>())
- {
- std::optional<QBluetoothPermission> opt_perm = sipCpp->value<QBluetoothPermission>();
-
- if (opt_perm)
- {
- perm = new QBluetoothPermission(opt_perm.value());
- td = sipType_QBluetoothPermission;
- }
- }
- else if (mt == QMetaType::fromType<QCalendarPermission>())
- {
- std::optional<QCalendarPermission> opt_perm = sipCpp->value<QCalendarPermission>();
-
- if (opt_perm)
- {
- perm = new QCalendarPermission(opt_perm.value());
- td = sipType_QCalendarPermission;
- }
- }
- else if (mt == QMetaType::fromType<QCameraPermission>())
- {
- std::optional<QCameraPermission> opt_perm = sipCpp->value<QCameraPermission>();
-
- if (opt_perm)
- {
- perm = new QCameraPermission(opt_perm.value());
- td = sipType_QCameraPermission;
- }
- }
- else if (mt == QMetaType::fromType<QContactsPermission>())
- {
- std::optional<QContactsPermission> opt_perm = sipCpp->value<QContactsPermission>();
-
- if (opt_perm)
- {
- perm = new QContactsPermission(opt_perm.value());
- td = sipType_QContactsPermission;
- }
- }
- else if (mt == QMetaType::fromType<QLocationPermission>())
- {
- std::optional<QLocationPermission> opt_perm = sipCpp->value<QLocationPermission>();
-
- if (opt_perm)
- {
- perm = new QLocationPermission(opt_perm.value());
- td = sipType_QLocationPermission;
- }
- }
- else if (mt == QMetaType::fromType<QMicrophonePermission>())
- {
- std::optional<QMicrophonePermission> opt_perm = sipCpp->value<QMicrophonePermission>();
-
- if (opt_perm)
- {
- perm = new QMicrophonePermission(opt_perm.value());
- td = sipType_QMicrophonePermission;
- }
- }
-
- if (perm)
- {
- sipRes = sipConvertFromNewType(perm, td, SIP_NULLPTR);
- }
- else
- {
- sipRes = Py_None;
- Py_INCREF(sipRes);
- }
- %End
- };
- %End
- %End
- %If (Qt_6_5_0 -)
- %If (PyQt_Permissions)
- class QLocationPermission
- {
- %TypeHeaderCode
- #include <qpermissions.h>
- %End
- public:
- QLocationPermission();
- QLocationPermission(const QLocationPermission &other);
- ~QLocationPermission();
- enum Accuracy
- {
- Approximate,
- Precise,
- };
- void setAccuracy(QLocationPermission::Accuracy accuracy);
- QLocationPermission::Accuracy accuracy() const;
- enum Availability
- {
- WhenInUse,
- Always,
- };
- void setAvailability(QLocationPermission::Availability availability);
- QLocationPermission::Availability availability() const;
- };
- %End
- %End
- %If (Qt_6_5_0 -)
- %If (PyQt_Permissions)
- class QCalendarPermission
- {
- %TypeHeaderCode
- #include <qpermissions.h>
- %End
- public:
- QCalendarPermission();
- QCalendarPermission(const QCalendarPermission &other);
- ~QCalendarPermission();
- enum AccessMode
- {
- ReadOnly,
- ReadWrite,
- };
- void setAccessMode(QCalendarPermission::AccessMode mode);
- QCalendarPermission::AccessMode accessMode() const;
- };
- %End
- %End
- %If (Qt_6_5_0 -)
- %If (PyQt_Permissions)
- class QContactsPermission
- {
- %TypeHeaderCode
- #include <qpermissions.h>
- %End
- public:
- QContactsPermission();
- QContactsPermission(const QContactsPermission &other);
- ~QContactsPermission();
- enum AccessMode
- {
- ReadOnly,
- ReadWrite,
- };
- void setAccessMode(QContactsPermission::AccessMode mode);
- QContactsPermission::AccessMode accessMode() const;
- };
- %End
- %End
- %If (Qt_6_5_0 -)
- %If (PyQt_Permissions)
- class QCameraPermission
- {
- %TypeHeaderCode
- #include <qpermissions.h>
- %End
- public:
- QCameraPermission();
- QCameraPermission(const QCameraPermission &other);
- ~QCameraPermission();
- };
- %End
- %End
- %If (Qt_6_5_0 -)
- %If (PyQt_Permissions)
- class QMicrophonePermission
- {
- %TypeHeaderCode
- #include <qpermissions.h>
- %End
- public:
- QMicrophonePermission();
- QMicrophonePermission(const QMicrophonePermission &other);
- ~QMicrophonePermission();
- };
- %End
- %End
- %If (Qt_6_5_0 -)
- %If (PyQt_Permissions)
- class QBluetoothPermission
- {
- %TypeHeaderCode
- #include <qpermissions.h>
- %End
- public:
- QBluetoothPermission();
- QBluetoothPermission(const QBluetoothPermission &other);
- ~QBluetoothPermission();
- %If (Qt_6_6_0 -)
- enum CommunicationMode
- {
- Access,
- Advertise,
- Default,
- };
- %End
- %If (Qt_6_6_0 -)
- typedef QFlags<QBluetoothPermission::CommunicationMode> CommunicationModes;
- %End
- %If (Qt_6_6_0 -)
- void setCommunicationModes(QBluetoothPermission::CommunicationModes modes);
- %End
- %If (Qt_6_6_0 -)
- QBluetoothPermission::CommunicationModes communicationModes() const;
- %End
- };
- %End
- %End
|