Compare commits
59 Commits
34d1ad9367
...
main
Author | SHA1 | Date | |
---|---|---|---|
e1825ce91b | |||
e667810fb0 | |||
94d8d8a01a | |||
3bbe44d64e | |||
cbd532ada1 | |||
6efcd30515 | |||
e1d5f94b82 | |||
7ff81d9a2e | |||
35a4de6ba9 | |||
2af2b609c5 | |||
d1289421b9 | |||
15ed948dcd | |||
7d037604aa | |||
dd84e0380b | |||
2b62b7fa70 | |||
2981d38f61 | |||
758cfc92eb | |||
7271e2c0dd | |||
f95de8ee31 | |||
6b3020e333 | |||
39dd154fb7 | |||
cb1a1596aa | |||
d9f28ef564 | |||
ff461a4048 | |||
c74c45998c | |||
9b39f1af50 | |||
853c1d1716 | |||
5a4d3be4d6 | |||
fc5cf53982 | |||
75dc47bc46 | |||
deab38d904 | |||
4390be9d72 | |||
cc620be332 | |||
bcda160690 | |||
776d3871b5 | |||
98d916c4ed | |||
a05dfeb7ce | |||
c803b91fea | |||
30c91d7e0d | |||
2a8c96e336 | |||
e46c7eadab | |||
1f3c4e8b6e | |||
a76437de58 | |||
a6b5f3714a | |||
bd224ac152 | |||
f479b73b60 | |||
47bf872514 | |||
6b1d46f915 | |||
f2f45782c5 | |||
d7fedcd96b | |||
6b07c3b488 | |||
b0a595997b | |||
913acd53e2 | |||
b8b822895a | |||
ff7a978c6b | |||
3933d3b42a | |||
51ac800ef1 | |||
f15ef84cce | |||
ff50b2ecac |
60
README.md
Normal file → Executable file
60
README.md
Normal file → Executable file
@ -1,30 +1,40 @@
|
||||
# Homeassistant Config
|
||||
|
||||
## Hacs
|
||||
|
||||
### Integrations
|
||||
|
||||
- Circadian Lighting
|
||||
- browser_mod
|
||||
- UI Lovelace Minimalist
|
||||
|
||||
|
||||
### Frontend
|
||||
|
||||
- button-card
|
||||
- Mini Media Player
|
||||
- Simple Weather Card
|
||||
- Light Entity Card
|
||||
- auto-entities
|
||||
- card-mod
|
||||
- Sun Card
|
||||
- mini-graph-card
|
||||
- My Cards Bundle (https://github.com/AnthonMS/my-cards)
|
||||
|
||||
|
||||
## Todo
|
||||
|
||||
- Climate control
|
||||
- Temperature warnings/recommendations (inside vs outside)
|
||||
- Light automations
|
||||
- Push notifications
|
||||
|
||||
|
||||
## Button Design
|
||||
|
||||
### Functions
|
||||
- Power on/off
|
||||
- Brightness
|
||||
- Scenes
|
||||
- Individual Light Selection
|
||||
- Adaptive & Sleep Mode
|
||||
|
||||
### 4 Button
|
||||
|
||||
#### Up
|
||||
- Press: Brightness Up / Power on (only when no light is selected)
|
||||
- Hold: Power on (when light is selected)
|
||||
#### Down
|
||||
- Press: Brightness Down / Power off (only when no light is selected)
|
||||
- Hold: Power off (when light is selected)
|
||||
#### Left
|
||||
- Press: Switch selected light
|
||||
- Hold: Adaptive toggle
|
||||
#### Right
|
||||
- Press: Switch selected scene
|
||||
- Hold: Sleep toggle
|
||||
|
||||
### 2 Button
|
||||
|
||||
#### Up
|
||||
- Press: Power on
|
||||
- Hold: Scene Adaptive
|
||||
|
||||
#### Down
|
||||
- Press: Power off
|
||||
- Hold: Scene Night
|
0
configuration.yaml
Normal file → Executable file
0
configuration.yaml
Normal file → Executable file
8
deps/bin/eq3cli
vendored
Executable file
8
deps/bin/eq3cli
vendored
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/local/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from eq3bt.eq3cli import cli
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(cli())
|
8
deps/bin/onvif-cli
vendored
Executable file
8
deps/bin/onvif-cli
vendored
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/local/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from onvif.cli import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
225
deps/lib/python3.10/site-packages/CHANGELOG
vendored
Normal file
225
deps/lib/python3.10/site-packages/CHANGELOG
vendored
Normal file
@ -0,0 +1,225 @@
|
||||
Changelog
|
||||
=========
|
||||
|
||||
0.2 (2022-07-13)
|
||||
----------------
|
||||
|
||||
- Add publish to pypi workflow (#54) [Teemu R]
|
||||
|
||||
- Add bleak backend and make it default (#53) [Teemu R]
|
||||
|
||||
- Wrap backend exceptions inside BackendException (#52) [Teemu R]
|
||||
|
||||
- Add mac property to thermostat class (#51) [Teemu R]
|
||||
|
||||
- Update README, pyproject.toml (#49) [Teemu R]
|
||||
|
||||
- Support gattlib as an alternative btle library (#48) [Helmut Grohne]
|
||||
|
||||
- Use poetry, add pre-commit hooks & mass format to modern standards,
|
||||
add CI (#47) [Teemu R]
|
||||
|
||||
|
||||
0.1.12 (2021-11-13)
|
||||
-------------------
|
||||
|
||||
- Add bt interface selection (#44) [Hummel95]
|
||||
|
||||
0.1.11 (2019-05-27)
|
||||
-------------------
|
||||
|
||||
- Decoding presets in status messages (#33) [Matthias Erll]
|
||||
|
||||
- Adding device serial number and firmware (#31) [Matthias Erll]
|
||||
|
||||
- Context.invoke() -> Context.forward() (#28) [Till]
|
||||
|
||||
- Require python 3.4 or newer in setup.py, closes #23. [Teemu Rytilahti]
|
||||
|
||||
|
||||
0.1.10 (2018-11-09))
|
||||
------------------------
|
||||
- Context.invoke() -> Context.forward() (#28) [Till]
|
||||
- Require python 3.4 or newer in setup.py, closes #23. [Teemu Rytilahti]
|
||||
|
||||
|
||||
0.1.9 (2018-02-18)
|
||||
------------------------
|
||||
|
||||
- Update to the new construct API (#20) [Arkadiusz Bulski]
|
||||
|
||||
|
||||
0.1.8 (2018-01-20)
|
||||
------------------
|
||||
|
||||
- Update to work with the newest construct release, bump version. [Teemu
|
||||
Rytilahti]
|
||||
|
||||
- Update schedule example, fixes #15. [Teemu Rytilahti]
|
||||
|
||||
- Do not suppress exceptions from bluepy, but log them to debug logger
|
||||
and raise exceptions for users to handle. [Teemu Rytilahti]
|
||||
|
||||
- Install flake8 and pylint, which are required for the travis build.
|
||||
[Teemu Rytilahti]
|
||||
|
||||
0.1.7 (2017-10-06)
|
||||
------------------------
|
||||
- Fixed setting schedule not working (#9) [horsitis
|
||||
|
||||
0.1.6 (2017-04-01)
|
||||
------------------------
|
||||
|
||||
- Version 0.1.6. [Teemu Rytilahti]
|
||||
|
||||
- Use debug logging for the first round of connection error. [Teemu
|
||||
Rytilahti]
|
||||
|
||||
- Disallow running with python versions older than 3.4. [Teemu
|
||||
Rytilahti]
|
||||
|
||||
The library _may_ still be python2 compatible though for now,
|
||||
but this is unsupported and should not be relied on.
|
||||
|
||||
- On/Off/Manual mode fixes (#6) [Janne Grunau]
|
||||
|
||||
* Handle On/Off mode correctly
|
||||
|
||||
* Set temperature in [EQ3BT_MIN_TEMP, EQ3BT_MAX_TEMP] for manual mode
|
||||
|
||||
* simplify mode setter function
|
||||
|
||||
- Be less noisy on connection errors. [Teemu Rytilahti]
|
||||
|
||||
- Require and validate mac address at the cli (#4) [Klemens Schölhorn]
|
||||
|
||||
- Add missing structures.py. this was already in pypi package, so no
|
||||
harm done. [Teemu Rytilahti]
|
||||
|
||||
|
||||
0.1.5 (2017-01-28)
|
||||
------------------------
|
||||
|
||||
- Version 0.1.5. [Teemu Rytilahti]
|
||||
|
||||
- Fix manual on/off handling, cleanup the code for next release. [Teemu
|
||||
Rytilahti]
|
||||
|
||||
- Make Thermostat testable. [Teemu Rytilahti]
|
||||
|
||||
- Use less magic constants and more structures, fix manual mode setting.
|
||||
[Teemu Rytilahti]
|
||||
|
||||
- Fix setup.py typo. [Teemu Rytilahti]
|
||||
|
||||
- Eq3cli: add away command. [Teemu Rytilahti]
|
||||
|
||||
- Restructuring with construct for more readable code. [Teemu Rytilahti]
|
||||
|
||||
* add set_away(away_ends, temperature) for enabling and disabling away mode
|
||||
|
||||
- Add hound-ci config. [Teemu Rytilahti]
|
||||
|
||||
|
||||
0.1.4 (2017-01-15)
|
||||
------------------
|
||||
|
||||
- Version 0.1.4. [Teemu Rytilahti]
|
||||
|
||||
- Add away_end property. [Teemu Rytilahti]
|
||||
|
||||
- Add changelog. [Teemu Rytilahti]
|
||||
|
||||
0.1.3 (2017-01-15)
|
||||
------------------
|
||||
|
||||
- Make eq3bt a module. [Teemu Rytilahti]
|
||||
|
||||
- Update README. [Teemu Rytilahti]
|
||||
|
||||
- Add scheduling and offset functionality. [Teemu Rytilahti]
|
||||
|
||||
- Connection: pretty print messaging in hex. [Teemu Rytilahti]
|
||||
|
||||
- Setup.py: fix console script location. [Teemu Rytilahti]
|
||||
|
||||
0.1.2 (2017-01-14)
|
||||
------------------
|
||||
|
||||
- Fix packaging, add click dependency, bump to 0.1.2. [Teemu Rytilahti]
|
||||
|
||||
- Bump bluepy requirement to 1.0.5. [Teemu Rytilahti]
|
||||
|
||||
0.1 (2017-01-14)
|
||||
----------------
|
||||
|
||||
- Restructure bluepy_devices to python-eq3bt. [Teemu Rytilahti]
|
||||
|
||||
* Complete restructure of the library. All unnecessary and problematic parts are dropped.
|
||||
* General cleaning up, making flake8 and pylint happy.
|
||||
* Updated and documented cli tool, named eq3cli
|
||||
|
||||
- Add contextmanager for connection to simplify connecting and
|
||||
disconnecting. Calling writes on device will build and tear down the
|
||||
connection automatically. [Teemu Rytilahti]
|
||||
|
||||
- Eq3btsmart: do not try to connect on init, allows adding the component
|
||||
to homeassistant even if the device is not connectable at the moment.
|
||||
[Teemu Rytilahti]
|
||||
|
||||
- Add eq3cli tool. [Teemu Rytilahti]
|
||||
|
||||
Included command-line tool can be used to control the device.
|
||||
All current functionality is available through it, check updated README.md for usage.
|
||||
|
||||
- Add logger to ease debugging. [Teemu Rytilahti]
|
||||
|
||||
- Increase version to 0.3.0 for the enhaced eq3btsmart support. [Janne
|
||||
Grunau]
|
||||
|
||||
- Eq3btsmart: and support for the comfort and eco temperature presets.
|
||||
[Janne Grunau]
|
||||
|
||||
- Eq3btsmart: add a property for the low battery warning. [Janne Grunau]
|
||||
|
||||
- Eq3btsmart: add support for the thermostat's operating lock. [Janne
|
||||
Grunau]
|
||||
|
||||
- Eq3btsmart: add window open mode configuration. [Janne Grunau]
|
||||
|
||||
- Eq3btsmart: and property to check window open state. [Janne Grunau]
|
||||
|
||||
- Eq3btsmart: report valve state. [Janne Grunau]
|
||||
|
||||
- Eq3btsmart: control the supported modes of the thermostat. [Janne
|
||||
Grunau]
|
||||
|
||||
The away mode is not really useful yet.
|
||||
|
||||
- Eq3btsmart: verify that temperatures are in min/max range. [Janne
|
||||
Grunau]
|
||||
|
||||
- Eq3btsmart: fix the minimal and maximal temperatures. [Janne Grunau]
|
||||
|
||||
4.5 and 30 degree celsius have special meanings and can't be set
|
||||
in 'auto' mode. 4.5 means off (valve closed even if the temperature
|
||||
below 4.5 degress). 30 means on (valve permanently open even if the
|
||||
temperature exceeds 30 degrees).
|
||||
|
||||
- Eq3btsmart: the update request needs to include the full time. [Janne
|
||||
Grunau]
|
||||
|
||||
Otherwise the thermostat can set a random time. Also fixes the format of
|
||||
the set time request.
|
||||
|
||||
- Initial update in eq3btsmart.py. [Markus Peter]
|
||||
|
||||
- +travis. [Markus Peter]
|
||||
|
||||
- Update README.md. [Markus Peter]
|
||||
|
||||
- Create README.md. [Markus Peter]
|
||||
|
||||
- Initial Commit Version 0.2.0. [Markus Peter]
|
||||
|
||||
- Initial commit. [Markus Peter]
|
1
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/INSTALLER
vendored
Normal file
1
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/INSTALLER
vendored
Normal file
@ -0,0 +1 @@
|
||||
pip
|
202
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/LICENSE
vendored
Normal file
202
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/LICENSE
vendored
Normal file
@ -0,0 +1,202 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
239
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/METADATA
vendored
Normal file
239
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/METADATA
vendored
Normal file
@ -0,0 +1,239 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: aiofiles
|
||||
Version: 0.8.0
|
||||
Summary: File support for asyncio.
|
||||
License: Apache-2.0
|
||||
Author: Tin Tvrtkovic
|
||||
Author-email: tinchester@gmail.com
|
||||
Requires-Python: >=3.6,<4.0
|
||||
Classifier: License :: OSI Approved :: Apache Software License
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Description-Content-Type: text/x-rst
|
||||
|
||||
aiofiles: file support for asyncio
|
||||
==================================
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/aiofiles.svg
|
||||
:target: https://pypi.python.org/pypi/aiofiles
|
||||
|
||||
.. image:: https://travis-ci.org/Tinche/aiofiles.svg?branch=master
|
||||
:target: https://travis-ci.org/Tinche/aiofiles
|
||||
|
||||
.. image:: https://codecov.io/gh/Tinche/aiofiles/branch/master/graph/badge.svg
|
||||
:target: https://codecov.io/gh/Tinche/aiofiles
|
||||
|
||||
.. image:: https://img.shields.io/pypi/pyversions/aiofiles.svg
|
||||
:target: https://github.com/Tinche/aiofiles
|
||||
:alt: Supported Python versions
|
||||
|
||||
**aiofiles** is an Apache2 licensed library, written in Python, for handling local
|
||||
disk files in asyncio applications.
|
||||
|
||||
Ordinary local file IO is blocking, and cannot easily and portably made
|
||||
asynchronous. This means doing file IO may interfere with asyncio applications,
|
||||
which shouldn't block the executing thread. aiofiles helps with this by
|
||||
introducing asynchronous versions of files that support delegating operations to
|
||||
a separate thread pool.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
async with aiofiles.open('filename', mode='r') as f:
|
||||
contents = await f.read()
|
||||
print(contents)
|
||||
'My file contents'
|
||||
|
||||
Asynchronous iteration is also supported.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
async with aiofiles.open('filename') as f:
|
||||
async for line in f:
|
||||
...
|
||||
|
||||
Asynchronous interface to tempfile module.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
async with aiofiles.tempfile.TemporaryFile('wb') as f:
|
||||
await f.write(b'Hello, World!')
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- a file API very similar to Python's standard, blocking API
|
||||
- support for buffered and unbuffered binary files, and buffered text files
|
||||
- support for ``async``/``await`` (:PEP:`492`) constructs
|
||||
- async interface to tempfile module
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
To install aiofiles, simply:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install aiofiles
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Files are opened using the ``aiofiles.open()`` coroutine, which in addition to
|
||||
mirroring the builtin ``open`` accepts optional ``loop`` and ``executor``
|
||||
arguments. If ``loop`` is absent, the default loop will be used, as per the
|
||||
set asyncio policy. If ``executor`` is not specified, the default event loop
|
||||
executor will be used.
|
||||
|
||||
In case of success, an asynchronous file object is returned with an
|
||||
API identical to an ordinary file, except the following methods are coroutines
|
||||
and delegate to an executor:
|
||||
|
||||
* ``close``
|
||||
* ``flush``
|
||||
* ``isatty``
|
||||
* ``read``
|
||||
* ``readall``
|
||||
* ``read1``
|
||||
* ``readinto``
|
||||
* ``readline``
|
||||
* ``readlines``
|
||||
* ``seek``
|
||||
* ``seekable``
|
||||
* ``tell``
|
||||
* ``truncate``
|
||||
* ``writable``
|
||||
* ``write``
|
||||
* ``writelines``
|
||||
|
||||
In case of failure, one of the usual exceptions will be raised.
|
||||
|
||||
The ``aiofiles.os`` module contains executor-enabled coroutine versions of
|
||||
several useful ``os`` functions that deal with files:
|
||||
|
||||
* ``stat``
|
||||
* ``sendfile``
|
||||
* ``rename``
|
||||
* ``replace``
|
||||
* ``remove``
|
||||
* ``mkdir``
|
||||
* ``makedirs``
|
||||
* ``rmdir``
|
||||
* ``removedirs``
|
||||
* ``path.exists``
|
||||
* ``path.isfile``
|
||||
* ``path.isdir``
|
||||
* ``path.getsize``
|
||||
* ``path.getatime``
|
||||
* ``path.getctime``
|
||||
* ``path.samefile``
|
||||
* ``path.sameopenfile``
|
||||
|
||||
Tempfile
|
||||
~~~~~~~~
|
||||
|
||||
**aiofiles.tempfile** implements the following interfaces:
|
||||
|
||||
- TemporaryFile
|
||||
- NamedTemporaryFile
|
||||
- SpooledTemporaryFile
|
||||
- TemporaryDirectory
|
||||
|
||||
Results return wrapped with a context manager allowing use with async with and async for.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
async with aiofiles.tempfile.NamedTemporaryFile('wb+') as f:
|
||||
await f.write(b'Line1\n Line2')
|
||||
await f.seek(0)
|
||||
async for line in f:
|
||||
print(line)
|
||||
|
||||
async with aiofiles.tempfile.TemporaryDirectory() as d:
|
||||
filename = os.path.join(d, "file.ext")
|
||||
|
||||
|
||||
Writing tests for aiofiles
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Real file IO can be mocked by patching ``aiofiles.threadpool.sync_open``
|
||||
as desired. The return type also needs to be registered with the
|
||||
``aiofiles.threadpool.wrap`` dispatcher:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
aiofiles.threadpool.wrap.register(mock.MagicMock)(
|
||||
lambda *args, **kwargs: threadpool.AsyncBufferedIOBase(*args, **kwargs))
|
||||
|
||||
async def test_stuff():
|
||||
data = 'data'
|
||||
mock_file = mock.MagicMock()
|
||||
|
||||
with mock.patch('aiofiles.threadpool.sync_open', return_value=mock_file) as mock_open:
|
||||
async with aiofiles.open('filename', 'w') as f:
|
||||
await f.write(data)
|
||||
|
||||
mock_file.write.assert_called_once_with(data)
|
||||
|
||||
History
|
||||
~~~~~~~
|
||||
0.8.0 (2021-11-27)
|
||||
``````````````````
|
||||
* aiofiles is now tested on Python 3.10.
|
||||
* Added ``aiofiles.os.replace``.
|
||||
`#107 <https://github.com/Tinche/aiofiles/pull/107>`_
|
||||
* Added ``aiofiles.os.{makedirs, removedirs}``.
|
||||
* Added ``aiofiles.os.path.{exists, isfile, isdir, getsize, getatime, getctime, samefile, sameopenfile}``.
|
||||
`#63 <https://github.com/Tinche/aiofiles/pull/63>`_
|
||||
* Added `suffix`, `prefix`, `dir` args to ``aiofiles.tempfile.TemporaryDirectory``.
|
||||
`#116 <https://github.com/Tinche/aiofiles/pull/116>`_
|
||||
|
||||
0.7.0 (2021-05-17)
|
||||
``````````````````
|
||||
- Added the ``aiofiles.tempfile`` module for async temporary files.
|
||||
`#56 <https://github.com/Tinche/aiofiles/pull/56>`_
|
||||
- Switched to Poetry and GitHub actions.
|
||||
- Dropped 3.5 support.
|
||||
|
||||
0.6.0 (2020-10-27)
|
||||
``````````````````
|
||||
- `aiofiles` is now tested on ppc64le.
|
||||
- Added `name` and `mode` properties to async file objects.
|
||||
`#82 <https://github.com/Tinche/aiofiles/pull/82>`_
|
||||
- Fixed a DeprecationWarning internally.
|
||||
`#75 <https://github.com/Tinche/aiofiles/pull/75>`_
|
||||
- Python 3.9 support and tests.
|
||||
|
||||
0.5.0 (2020-04-12)
|
||||
``````````````````
|
||||
- Python 3.8 support. Code base modernization (using ``async/await`` instead of ``asyncio.coroutine``/``yield from``).
|
||||
- Added ``aiofiles.os.remove``, ``aiofiles.os.rename``, ``aiofiles.os.mkdir``, ``aiofiles.os.rmdir``.
|
||||
`#62 <https://github.com/Tinche/aiofiles/pull/62>`_
|
||||
|
||||
|
||||
0.4.0 (2018-08-11)
|
||||
``````````````````
|
||||
- Python 3.7 support.
|
||||
- Removed Python 3.3/3.4 support. If you use these versions, stick to aiofiles 0.3.x.
|
||||
|
||||
0.3.2 (2017-09-23)
|
||||
``````````````````
|
||||
- The LICENSE is now included in the sdist.
|
||||
`#31 <https://github.com/Tinche/aiofiles/pull/31>`_
|
||||
|
||||
0.3.1 (2017-03-10)
|
||||
``````````````````
|
||||
|
||||
- Introduced a changelog.
|
||||
- ``aiofiles.os.sendfile`` will now work if the standard ``os`` module contains a ``sendfile`` function.
|
||||
|
||||
Contributing
|
||||
~~~~~~~~~~~~
|
||||
Contributions are very welcome. Tests can be run with ``tox``, please ensure
|
||||
the coverage at least stays the same before you submit a pull request.
|
||||
|
26
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/RECORD
vendored
Normal file
26
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/RECORD
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
aiofiles-0.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
aiofiles-0.8.0.dist-info/LICENSE,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
|
||||
aiofiles-0.8.0.dist-info/METADATA,sha256=9WSIVaJhAbMi93mj4ir3932H5Je3JxAcUvH5hgyD0qU,7022
|
||||
aiofiles-0.8.0.dist-info/RECORD,,
|
||||
aiofiles-0.8.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
aiofiles-0.8.0.dist-info/WHEEL,sha256=FMw6u7Kp3jrdDDtJRZ3hkPV-9adLQT8pbM4iifKUGfw,85
|
||||
aiofiles/__init__.py,sha256=6fPaAw6PXV8rszheTedkYcoLHC3KbbPH--eMODJ_-IE,136
|
||||
aiofiles/__pycache__/__init__.cpython-310.pyc,,
|
||||
aiofiles/__pycache__/base.cpython-310.pyc,,
|
||||
aiofiles/__pycache__/os.cpython-310.pyc,,
|
||||
aiofiles/__pycache__/ospath.cpython-310.pyc,,
|
||||
aiofiles/base.py,sha256=_ntjFm4olO13y9JEQchLudmgPJ4mAFug5MRi6Efk7g0,2114
|
||||
aiofiles/os.py,sha256=A8vZ0paqH14JaepvEdfSCv6BAFoV4D1LVmnKfkEG5tQ,719
|
||||
aiofiles/ospath.py,sha256=cIyDMoGVHTqKoKFXfXVzuIROJQQRmeNqVuNuc9QgPY0,387
|
||||
aiofiles/tempfile/__init__.py,sha256=y6siScSCxNkydsoAN0OlxSwvgqpk1XoVTvJ0gTvAmTk,7234
|
||||
aiofiles/tempfile/__pycache__/__init__.cpython-310.pyc,,
|
||||
aiofiles/tempfile/__pycache__/temptypes.cpython-310.pyc,,
|
||||
aiofiles/tempfile/temptypes.py,sha256=ZwWLAV3eiWWW0QoRDPHN2U7XPf0DUQFYPRid7o4Sk9s,2169
|
||||
aiofiles/threadpool/__init__.py,sha256=JaRiXZRaVvx32RvrUXwgZxAByrzqdmDcxi6t_P2iP6w,2273
|
||||
aiofiles/threadpool/__pycache__/__init__.cpython-310.pyc,,
|
||||
aiofiles/threadpool/__pycache__/binary.cpython-310.pyc,,
|
||||
aiofiles/threadpool/__pycache__/text.cpython-310.pyc,,
|
||||
aiofiles/threadpool/__pycache__/utils.cpython-310.pyc,,
|
||||
aiofiles/threadpool/binary.py,sha256=tRdJnH6ragF5Kr13oIBPJrljgTl3hWSOaHSXfHESRBk,1167
|
||||
aiofiles/threadpool/text.py,sha256=dNweKCxpwRgfqA6XCiWYDDddOTa0lbzH-Fh5o3rho-8,665
|
||||
aiofiles/threadpool/utils.py,sha256=fcqvRBrcIk2qP-rOdm92zDHyCfgD6itS621V6oOLJwk,1912
|
0
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/REQUESTED
vendored
Normal file
0
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/REQUESTED
vendored
Normal file
4
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/WHEEL
vendored
Normal file
4
deps/lib/python3.10/site-packages/aiofiles-0.8.0.dist-info/WHEEL
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: poetry 1.1.0a6
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
5
deps/lib/python3.10/site-packages/aiofiles/__init__.py
vendored
Normal file
5
deps/lib/python3.10/site-packages/aiofiles/__init__.py
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
"""Utilities for asyncio-friendly file handling."""
|
||||
from .threadpool import open
|
||||
from . import tempfile
|
||||
|
||||
__all__ = ["open", "tempfile"]
|
BIN
deps/lib/python3.10/site-packages/aiofiles/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/aiofiles/__pycache__/base.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/__pycache__/base.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/aiofiles/__pycache__/os.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/__pycache__/os.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/aiofiles/__pycache__/ospath.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/__pycache__/ospath.cpython-310.pyc
vendored
Normal file
Binary file not shown.
91
deps/lib/python3.10/site-packages/aiofiles/base.py
vendored
Normal file
91
deps/lib/python3.10/site-packages/aiofiles/base.py
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
"""Various base classes."""
|
||||
from types import coroutine
|
||||
from collections.abc import Coroutine
|
||||
|
||||
|
||||
class AsyncBase:
|
||||
def __init__(self, file, loop, executor):
|
||||
self._file = file
|
||||
self._loop = loop
|
||||
self._executor = executor
|
||||
|
||||
def __aiter__(self):
|
||||
"""We are our own iterator."""
|
||||
return self
|
||||
|
||||
def __repr__(self):
|
||||
return super().__repr__() + " wrapping " + repr(self._file)
|
||||
|
||||
async def __anext__(self):
|
||||
"""Simulate normal file iteration."""
|
||||
line = await self.readline()
|
||||
if line:
|
||||
return line
|
||||
else:
|
||||
raise StopAsyncIteration
|
||||
|
||||
|
||||
class _ContextManager(Coroutine):
|
||||
__slots__ = ("_coro", "_obj")
|
||||
|
||||
def __init__(self, coro):
|
||||
self._coro = coro
|
||||
self._obj = None
|
||||
|
||||
def send(self, value):
|
||||
return self._coro.send(value)
|
||||
|
||||
def throw(self, typ, val=None, tb=None):
|
||||
if val is None:
|
||||
return self._coro.throw(typ)
|
||||
elif tb is None:
|
||||
return self._coro.throw(typ, val)
|
||||
else:
|
||||
return self._coro.throw(typ, val, tb)
|
||||
|
||||
def close(self):
|
||||
return self._coro.close()
|
||||
|
||||
@property
|
||||
def gi_frame(self):
|
||||
return self._coro.gi_frame
|
||||
|
||||
@property
|
||||
def gi_running(self):
|
||||
return self._coro.gi_running
|
||||
|
||||
@property
|
||||
def gi_code(self):
|
||||
return self._coro.gi_code
|
||||
|
||||
def __next__(self):
|
||||
return self.send(None)
|
||||
|
||||
@coroutine
|
||||
def __iter__(self):
|
||||
resp = yield from self._coro
|
||||
return resp
|
||||
|
||||
def __await__(self):
|
||||
resp = yield from self._coro
|
||||
return resp
|
||||
|
||||
async def __anext__(self):
|
||||
resp = await self._coro
|
||||
return resp
|
||||
|
||||
async def __aenter__(self):
|
||||
self._obj = await self._coro
|
||||
return self._obj
|
||||
|
||||
async def __aexit__(self, exc_type, exc, tb):
|
||||
self._obj.close()
|
||||
self._obj = None
|
||||
|
||||
|
||||
class AiofilesContextManager(_ContextManager):
|
||||
"""An adjusted async context manager for aiofiles."""
|
||||
|
||||
async def __aexit__(self, exc_type, exc_val, exc_tb):
|
||||
await self._obj.close()
|
||||
self._obj = None
|
31
deps/lib/python3.10/site-packages/aiofiles/os.py
vendored
Normal file
31
deps/lib/python3.10/site-packages/aiofiles/os.py
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
"""Async executor versions of file functions from the os module."""
|
||||
import asyncio
|
||||
from functools import partial, wraps
|
||||
import os
|
||||
|
||||
|
||||
def wrap(func):
|
||||
@wraps(func)
|
||||
async def run(*args, loop=None, executor=None, **kwargs):
|
||||
if loop is None:
|
||||
loop = asyncio.get_event_loop()
|
||||
pfunc = partial(func, *args, **kwargs)
|
||||
return await loop.run_in_executor(executor, pfunc)
|
||||
|
||||
return run
|
||||
|
||||
|
||||
from . import ospath as path
|
||||
|
||||
|
||||
stat = wrap(os.stat)
|
||||
rename = wrap(os.rename)
|
||||
replace = wrap(os.replace)
|
||||
remove = wrap(os.remove)
|
||||
mkdir = wrap(os.mkdir)
|
||||
makedirs = wrap(os.makedirs)
|
||||
rmdir = wrap(os.rmdir)
|
||||
removedirs = wrap(os.removedirs)
|
||||
|
||||
if hasattr(os, "sendfile"):
|
||||
sendfile = wrap(os.sendfile)
|
14
deps/lib/python3.10/site-packages/aiofiles/ospath.py
vendored
Normal file
14
deps/lib/python3.10/site-packages/aiofiles/ospath.py
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
"""Async executor versions of file functions from the os.path module."""
|
||||
|
||||
from .os import wrap
|
||||
from os import path
|
||||
|
||||
exists = wrap(path.exists)
|
||||
isfile = wrap(path.isfile)
|
||||
isdir = wrap(path.isdir)
|
||||
getsize = wrap(path.getsize)
|
||||
getmtime = wrap(path.getmtime)
|
||||
getatime = wrap(path.getatime)
|
||||
getctime = wrap(path.getctime)
|
||||
samefile = wrap(path.samefile)
|
||||
sameopenfile = wrap(path.sameopenfile)
|
263
deps/lib/python3.10/site-packages/aiofiles/tempfile/__init__.py
vendored
Normal file
263
deps/lib/python3.10/site-packages/aiofiles/tempfile/__init__.py
vendored
Normal file
@ -0,0 +1,263 @@
|
||||
# Imports
|
||||
import asyncio
|
||||
from tempfile import (
|
||||
TemporaryFile as syncTemporaryFile,
|
||||
NamedTemporaryFile as syncNamedTemporaryFile,
|
||||
SpooledTemporaryFile as syncSpooledTemporaryFile,
|
||||
TemporaryDirectory as syncTemporaryDirectory,
|
||||
_TemporaryFileWrapper as syncTemporaryFileWrapper,
|
||||
)
|
||||
from io import FileIO, TextIOBase, BufferedReader, BufferedWriter, BufferedRandom
|
||||
from functools import partial, singledispatch
|
||||
from ..base import AiofilesContextManager
|
||||
from ..threadpool.text import AsyncTextIOWrapper
|
||||
from ..threadpool.binary import AsyncBufferedIOBase, AsyncBufferedReader, AsyncFileIO
|
||||
from .temptypes import AsyncSpooledTemporaryFile, AsyncTemporaryDirectory
|
||||
|
||||
__all__ = [
|
||||
"NamedTemporaryFile",
|
||||
"TemporaryFile",
|
||||
"SpooledTemporaryFile",
|
||||
"TemporaryDirectory",
|
||||
]
|
||||
|
||||
|
||||
# ================================================================
|
||||
# Public methods for async open and return of temp file/directory
|
||||
# objects with async interface
|
||||
# ================================================================
|
||||
def NamedTemporaryFile(
|
||||
mode="w+b",
|
||||
buffering=-1,
|
||||
encoding=None,
|
||||
newline=None,
|
||||
suffix=None,
|
||||
prefix=None,
|
||||
dir=None,
|
||||
delete=True,
|
||||
loop=None,
|
||||
executor=None,
|
||||
):
|
||||
"""Async open a named temporary file"""
|
||||
return AiofilesContextManager(
|
||||
_temporary_file(
|
||||
named=True,
|
||||
mode=mode,
|
||||
buffering=buffering,
|
||||
encoding=encoding,
|
||||
newline=newline,
|
||||
suffix=suffix,
|
||||
prefix=prefix,
|
||||
dir=dir,
|
||||
delete=delete,
|
||||
loop=loop,
|
||||
executor=executor,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def TemporaryFile(
|
||||
mode="w+b",
|
||||
buffering=-1,
|
||||
encoding=None,
|
||||
newline=None,
|
||||
suffix=None,
|
||||
prefix=None,
|
||||
dir=None,
|
||||
loop=None,
|
||||
executor=None,
|
||||
):
|
||||
"""Async open an unnamed temporary file"""
|
||||
return AiofilesContextManager(
|
||||
_temporary_file(
|
||||
named=False,
|
||||
mode=mode,
|
||||
buffering=buffering,
|
||||
encoding=encoding,
|
||||
newline=newline,
|
||||
suffix=suffix,
|
||||
prefix=prefix,
|
||||
dir=dir,
|
||||
loop=loop,
|
||||
executor=executor,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def SpooledTemporaryFile(
|
||||
max_size=0,
|
||||
mode="w+b",
|
||||
buffering=-1,
|
||||
encoding=None,
|
||||
newline=None,
|
||||
suffix=None,
|
||||
prefix=None,
|
||||
dir=None,
|
||||
loop=None,
|
||||
executor=None,
|
||||
):
|
||||
"""Async open a spooled temporary file"""
|
||||
return AiofilesContextManager(
|
||||
_spooled_temporary_file(
|
||||
max_size=max_size,
|
||||
mode=mode,
|
||||
buffering=buffering,
|
||||
encoding=encoding,
|
||||
newline=newline,
|
||||
suffix=suffix,
|
||||
prefix=prefix,
|
||||
dir=dir,
|
||||
loop=loop,
|
||||
executor=executor,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def TemporaryDirectory(suffix=None, prefix=None, dir=None, loop=None, executor=None):
|
||||
"""Async open a temporary directory"""
|
||||
return AiofilesContextManagerTempDir(
|
||||
_temporary_directory(
|
||||
suffix=suffix, prefix=prefix, dir=dir, loop=loop, executor=executor
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
# =========================================================
|
||||
# Internal coroutines to open new temp files/directories
|
||||
# =========================================================
|
||||
async def _temporary_file(
|
||||
named=True,
|
||||
mode="w+b",
|
||||
buffering=-1,
|
||||
encoding=None,
|
||||
newline=None,
|
||||
suffix=None,
|
||||
prefix=None,
|
||||
dir=None,
|
||||
delete=True,
|
||||
loop=None,
|
||||
executor=None,
|
||||
max_size=0,
|
||||
):
|
||||
"""Async method to open a temporary file with async interface"""
|
||||
if loop is None:
|
||||
loop = asyncio.get_event_loop()
|
||||
|
||||
if named:
|
||||
cb = partial(
|
||||
syncNamedTemporaryFile,
|
||||
mode=mode,
|
||||
buffering=buffering,
|
||||
encoding=encoding,
|
||||
newline=newline,
|
||||
suffix=suffix,
|
||||
prefix=prefix,
|
||||
dir=dir,
|
||||
delete=delete,
|
||||
)
|
||||
else:
|
||||
cb = partial(
|
||||
syncTemporaryFile,
|
||||
mode=mode,
|
||||
buffering=buffering,
|
||||
encoding=encoding,
|
||||
newline=newline,
|
||||
suffix=suffix,
|
||||
prefix=prefix,
|
||||
dir=dir,
|
||||
)
|
||||
|
||||
f = await loop.run_in_executor(executor, cb)
|
||||
|
||||
# Wrap based on type of underlying IO object
|
||||
if type(f) is syncTemporaryFileWrapper:
|
||||
# _TemporaryFileWrapper was used (named files)
|
||||
result = wrap(f.file, f, loop=loop, executor=executor)
|
||||
# add delete property
|
||||
result.delete = f.delete
|
||||
return result
|
||||
else:
|
||||
# IO object was returned directly without wrapper
|
||||
return wrap(f, f, loop=loop, executor=executor)
|
||||
|
||||
|
||||
async def _spooled_temporary_file(
|
||||
max_size=0,
|
||||
mode="w+b",
|
||||
buffering=-1,
|
||||
encoding=None,
|
||||
newline=None,
|
||||
suffix=None,
|
||||
prefix=None,
|
||||
dir=None,
|
||||
loop=None,
|
||||
executor=None,
|
||||
):
|
||||
"""Open a spooled temporary file with async interface"""
|
||||
if loop is None:
|
||||
loop = asyncio.get_event_loop()
|
||||
|
||||
cb = partial(
|
||||
syncSpooledTemporaryFile,
|
||||
max_size=max_size,
|
||||
mode=mode,
|
||||
buffering=buffering,
|
||||
encoding=encoding,
|
||||
newline=newline,
|
||||
suffix=suffix,
|
||||
prefix=prefix,
|
||||
dir=dir,
|
||||
)
|
||||
|
||||
f = await loop.run_in_executor(executor, cb)
|
||||
|
||||
# Single interface provided by SpooledTemporaryFile for all modes
|
||||
return AsyncSpooledTemporaryFile(f, loop=loop, executor=executor)
|
||||
|
||||
|
||||
async def _temporary_directory(
|
||||
suffix=None, prefix=None, dir=None, loop=None, executor=None
|
||||
):
|
||||
"""Async method to open a temporary directory with async interface"""
|
||||
if loop is None:
|
||||
loop = asyncio.get_event_loop()
|
||||
|
||||
cb = partial(syncTemporaryDirectory, suffix, prefix, dir)
|
||||
f = await loop.run_in_executor(executor, cb)
|
||||
|
||||
return AsyncTemporaryDirectory(f, loop=loop, executor=executor)
|
||||
|
||||
|
||||
class AiofilesContextManagerTempDir(AiofilesContextManager):
|
||||
"""With returns the directory location, not the object (matching sync lib)"""
|
||||
|
||||
async def __aenter__(self):
|
||||
self._obj = await self._coro
|
||||
return self._obj.name
|
||||
|
||||
|
||||
@singledispatch
|
||||
def wrap(base_io_obj, file, *, loop=None, executor=None):
|
||||
"""Wrap the object with interface based on type of underlying IO"""
|
||||
raise TypeError("Unsupported IO type: {}".format(base_io_obj))
|
||||
|
||||
|
||||
@wrap.register(TextIOBase)
|
||||
def _(base_io_obj, file, *, loop=None, executor=None):
|
||||
return AsyncTextIOWrapper(file, loop=loop, executor=executor)
|
||||
|
||||
|
||||
@wrap.register(BufferedWriter)
|
||||
def _(base_io_obj, file, *, loop=None, executor=None):
|
||||
return AsyncBufferedIOBase(file, loop=loop, executor=executor)
|
||||
|
||||
|
||||
@wrap.register(BufferedReader)
|
||||
@wrap.register(BufferedRandom)
|
||||
def _(base_io_obj, file, *, loop=None, executor=None):
|
||||
return AsyncBufferedReader(file, loop=loop, executor=executor)
|
||||
|
||||
|
||||
@wrap.register(FileIO)
|
||||
def _(base_io_obj, file, *, loop=None, executor=None):
|
||||
return AsyncFileIO(file, loop=loop, executor=executor)
|
BIN
deps/lib/python3.10/site-packages/aiofiles/tempfile/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/tempfile/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/aiofiles/tempfile/__pycache__/temptypes.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/tempfile/__pycache__/temptypes.cpython-310.pyc
vendored
Normal file
Binary file not shown.
74
deps/lib/python3.10/site-packages/aiofiles/tempfile/temptypes.py
vendored
Normal file
74
deps/lib/python3.10/site-packages/aiofiles/tempfile/temptypes.py
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
"""Async wrappers for spooled temp files and temp directory objects"""
|
||||
|
||||
# Imports
|
||||
import asyncio
|
||||
from types import coroutine
|
||||
|
||||
from ..base import AsyncBase
|
||||
from ..threadpool.utils import (
|
||||
delegate_to_executor,
|
||||
proxy_property_directly,
|
||||
cond_delegate_to_executor,
|
||||
)
|
||||
from functools import partial
|
||||
|
||||
|
||||
@delegate_to_executor("fileno", "rollover")
|
||||
@cond_delegate_to_executor(
|
||||
"close",
|
||||
"flush",
|
||||
"isatty",
|
||||
"newlines",
|
||||
"read",
|
||||
"readline",
|
||||
"readlines",
|
||||
"seek",
|
||||
"tell",
|
||||
"truncate",
|
||||
)
|
||||
@proxy_property_directly("closed", "encoding", "mode", "name", "softspace")
|
||||
class AsyncSpooledTemporaryFile(AsyncBase):
|
||||
"""Async wrapper for SpooledTemporaryFile class"""
|
||||
|
||||
async def _check(self):
|
||||
if self._file._rolled:
|
||||
return
|
||||
max_size = self._file._max_size
|
||||
if max_size and self._file.tell() > max_size:
|
||||
await self.rollover()
|
||||
|
||||
async def write(self, s):
|
||||
"""Implementation to anticipate rollover"""
|
||||
if self._file._rolled:
|
||||
cb = partial(self._file.write, s)
|
||||
return await self._loop.run_in_executor(self._executor, cb)
|
||||
else:
|
||||
file = self._file._file # reference underlying base IO object
|
||||
rv = file.write(s)
|
||||
await self._check()
|
||||
return rv
|
||||
|
||||
async def writelines(self, iterable):
|
||||
"""Implementation to anticipate rollover"""
|
||||
if self._file._rolled:
|
||||
cb = partial(self._file.writelines, iterable)
|
||||
return await self._loop.run_in_executor(self._executor, cb)
|
||||
else:
|
||||
file = self._file._file # reference underlying base IO object
|
||||
rv = file.writelines(iterable)
|
||||
await self._check()
|
||||
return rv
|
||||
|
||||
|
||||
@delegate_to_executor("cleanup")
|
||||
@proxy_property_directly("name")
|
||||
class AsyncTemporaryDirectory:
|
||||
"""Async wrapper for TemporaryDirectory class"""
|
||||
|
||||
def __init__(self, file, loop, executor):
|
||||
self._file = file
|
||||
self._loop = loop
|
||||
self._executor = executor
|
||||
|
||||
async def close(self):
|
||||
await self.cleanup()
|
108
deps/lib/python3.10/site-packages/aiofiles/threadpool/__init__.py
vendored
Normal file
108
deps/lib/python3.10/site-packages/aiofiles/threadpool/__init__.py
vendored
Normal file
@ -0,0 +1,108 @@
|
||||
"""Handle files using a thread pool executor."""
|
||||
import asyncio
|
||||
from types import coroutine
|
||||
|
||||
from io import (
|
||||
FileIO,
|
||||
TextIOBase,
|
||||
BufferedReader,
|
||||
BufferedWriter,
|
||||
BufferedRandom,
|
||||
)
|
||||
from functools import partial, singledispatch
|
||||
|
||||
from .binary import AsyncBufferedIOBase, AsyncBufferedReader, AsyncFileIO
|
||||
from .text import AsyncTextIOWrapper
|
||||
from ..base import AiofilesContextManager
|
||||
|
||||
sync_open = open
|
||||
|
||||
__all__ = ("open",)
|
||||
|
||||
|
||||
def open(
|
||||
file,
|
||||
mode="r",
|
||||
buffering=-1,
|
||||
encoding=None,
|
||||
errors=None,
|
||||
newline=None,
|
||||
closefd=True,
|
||||
opener=None,
|
||||
*,
|
||||
loop=None,
|
||||
executor=None
|
||||
):
|
||||
return AiofilesContextManager(
|
||||
_open(
|
||||
file,
|
||||
mode=mode,
|
||||
buffering=buffering,
|
||||
encoding=encoding,
|
||||
errors=errors,
|
||||
newline=newline,
|
||||
closefd=closefd,
|
||||
opener=opener,
|
||||
loop=loop,
|
||||
executor=executor,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@coroutine
|
||||
def _open(
|
||||
file,
|
||||
mode="r",
|
||||
buffering=-1,
|
||||
encoding=None,
|
||||
errors=None,
|
||||
newline=None,
|
||||
closefd=True,
|
||||
opener=None,
|
||||
*,
|
||||
loop=None,
|
||||
executor=None
|
||||
):
|
||||
"""Open an asyncio file."""
|
||||
if loop is None:
|
||||
loop = asyncio.get_event_loop()
|
||||
cb = partial(
|
||||
sync_open,
|
||||
file,
|
||||
mode=mode,
|
||||
buffering=buffering,
|
||||
encoding=encoding,
|
||||
errors=errors,
|
||||
newline=newline,
|
||||
closefd=closefd,
|
||||
opener=opener,
|
||||
)
|
||||
f = yield from loop.run_in_executor(executor, cb)
|
||||
|
||||
return wrap(f, loop=loop, executor=executor)
|
||||
|
||||
|
||||
@singledispatch
|
||||
def wrap(file, *, loop=None, executor=None):
|
||||
raise TypeError("Unsupported io type: {}.".format(file))
|
||||
|
||||
|
||||
@wrap.register(TextIOBase)
|
||||
def _(file, *, loop=None, executor=None):
|
||||
return AsyncTextIOWrapper(file, loop=loop, executor=executor)
|
||||
|
||||
|
||||
@wrap.register(BufferedWriter)
|
||||
def _(file, *, loop=None, executor=None):
|
||||
return AsyncBufferedIOBase(file, loop=loop, executor=executor)
|
||||
|
||||
|
||||
@wrap.register(BufferedReader)
|
||||
@wrap.register(BufferedRandom)
|
||||
def _(file, *, loop=None, executor=None):
|
||||
return AsyncBufferedReader(file, loop=loop, executor=executor)
|
||||
|
||||
|
||||
@wrap.register(FileIO)
|
||||
def _(file, *, loop=None, executor=None):
|
||||
return AsyncFileIO(file, loop, executor)
|
BIN
deps/lib/python3.10/site-packages/aiofiles/threadpool/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/threadpool/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/aiofiles/threadpool/__pycache__/binary.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/threadpool/__pycache__/binary.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/aiofiles/threadpool/__pycache__/text.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/threadpool/__pycache__/text.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/aiofiles/threadpool/__pycache__/utils.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/aiofiles/threadpool/__pycache__/utils.cpython-310.pyc
vendored
Normal file
Binary file not shown.
57
deps/lib/python3.10/site-packages/aiofiles/threadpool/binary.py
vendored
Normal file
57
deps/lib/python3.10/site-packages/aiofiles/threadpool/binary.py
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
from ..base import AsyncBase
|
||||
from .utils import (
|
||||
delegate_to_executor,
|
||||
proxy_method_directly,
|
||||
proxy_property_directly,
|
||||
)
|
||||
|
||||
|
||||
@delegate_to_executor(
|
||||
"close",
|
||||
"flush",
|
||||
"isatty",
|
||||
"read",
|
||||
"read1",
|
||||
"readinto",
|
||||
"readline",
|
||||
"readlines",
|
||||
"seek",
|
||||
"seekable",
|
||||
"tell",
|
||||
"truncate",
|
||||
"writable",
|
||||
"write",
|
||||
"writelines",
|
||||
)
|
||||
@proxy_method_directly("detach", "fileno", "readable")
|
||||
@proxy_property_directly("closed", "raw", "name", "mode")
|
||||
class AsyncBufferedIOBase(AsyncBase):
|
||||
"""The asyncio executor version of io.BufferedWriter."""
|
||||
|
||||
|
||||
@delegate_to_executor("peek")
|
||||
class AsyncBufferedReader(AsyncBufferedIOBase):
|
||||
"""The asyncio executor version of io.BufferedReader and Random."""
|
||||
|
||||
|
||||
@delegate_to_executor(
|
||||
"close",
|
||||
"flush",
|
||||
"isatty",
|
||||
"read",
|
||||
"readall",
|
||||
"readinto",
|
||||
"readline",
|
||||
"readlines",
|
||||
"seek",
|
||||
"seekable",
|
||||
"tell",
|
||||
"truncate",
|
||||
"writable",
|
||||
"write",
|
||||
"writelines",
|
||||
)
|
||||
@proxy_method_directly("fileno", "readable")
|
||||
@proxy_property_directly("closed", "name", "mode")
|
||||
class AsyncFileIO(AsyncBase):
|
||||
"""The asyncio executor version of io.FileIO."""
|
37
deps/lib/python3.10/site-packages/aiofiles/threadpool/text.py
vendored
Normal file
37
deps/lib/python3.10/site-packages/aiofiles/threadpool/text.py
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
from ..base import AsyncBase
|
||||
from .utils import (
|
||||
delegate_to_executor,
|
||||
proxy_method_directly,
|
||||
proxy_property_directly,
|
||||
)
|
||||
|
||||
|
||||
@delegate_to_executor(
|
||||
"close",
|
||||
"flush",
|
||||
"isatty",
|
||||
"read",
|
||||
"readable",
|
||||
"readline",
|
||||
"readlines",
|
||||
"seek",
|
||||
"seekable",
|
||||
"tell",
|
||||
"truncate",
|
||||
"write",
|
||||
"writable",
|
||||
"writelines",
|
||||
)
|
||||
@proxy_method_directly("detach", "fileno", "readable")
|
||||
@proxy_property_directly(
|
||||
"buffer",
|
||||
"closed",
|
||||
"encoding",
|
||||
"errors",
|
||||
"line_buffering",
|
||||
"newlines",
|
||||
"name",
|
||||
"mode",
|
||||
)
|
||||
class AsyncTextIOWrapper(AsyncBase):
|
||||
"""The asyncio executor version of io.TextIOWrapper."""
|
74
deps/lib/python3.10/site-packages/aiofiles/threadpool/utils.py
vendored
Normal file
74
deps/lib/python3.10/site-packages/aiofiles/threadpool/utils.py
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
import functools
|
||||
from types import coroutine
|
||||
|
||||
|
||||
def delegate_to_executor(*attrs):
|
||||
def cls_builder(cls):
|
||||
for attr_name in attrs:
|
||||
setattr(cls, attr_name, _make_delegate_method(attr_name))
|
||||
return cls
|
||||
|
||||
return cls_builder
|
||||
|
||||
|
||||
def proxy_method_directly(*attrs):
|
||||
def cls_builder(cls):
|
||||
for attr_name in attrs:
|
||||
setattr(cls, attr_name, _make_proxy_method(attr_name))
|
||||
return cls
|
||||
|
||||
return cls_builder
|
||||
|
||||
|
||||
def proxy_property_directly(*attrs):
|
||||
def cls_builder(cls):
|
||||
for attr_name in attrs:
|
||||
setattr(cls, attr_name, _make_proxy_property(attr_name))
|
||||
return cls
|
||||
|
||||
return cls_builder
|
||||
|
||||
|
||||
def cond_delegate_to_executor(*attrs):
|
||||
def cls_builder(cls):
|
||||
for attr_name in attrs:
|
||||
setattr(cls, attr_name, _make_cond_delegate_method(attr_name))
|
||||
return cls
|
||||
|
||||
return cls_builder
|
||||
|
||||
|
||||
def _make_delegate_method(attr_name):
|
||||
@coroutine
|
||||
def method(self, *args, **kwargs):
|
||||
cb = functools.partial(getattr(self._file, attr_name), *args, **kwargs)
|
||||
return (yield from self._loop.run_in_executor(self._executor, cb))
|
||||
|
||||
return method
|
||||
|
||||
|
||||
def _make_proxy_method(attr_name):
|
||||
def method(self, *args, **kwargs):
|
||||
return getattr(self._file, attr_name)(*args, **kwargs)
|
||||
|
||||
return method
|
||||
|
||||
|
||||
def _make_proxy_property(attr_name):
|
||||
def proxy_property(self):
|
||||
return getattr(self._file, attr_name)
|
||||
|
||||
return property(proxy_property)
|
||||
|
||||
|
||||
def _make_cond_delegate_method(attr_name):
|
||||
"""For spooled temp files, delegate only if rolled to file object"""
|
||||
|
||||
async def method(self, *args, **kwargs):
|
||||
if self._file._rolled:
|
||||
cb = functools.partial(getattr(self._file, attr_name), *args, **kwargs)
|
||||
return await self._loop.run_in_executor(self._executor, cb)
|
||||
else:
|
||||
return getattr(self._file, attr_name)(*args, **kwargs)
|
||||
|
||||
return method
|
7
deps/lib/python3.10/site-packages/eq3bt/__init__.py
vendored
Normal file
7
deps/lib/python3.10/site-packages/eq3bt/__init__.py
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
# flake8: noqa
|
||||
from .eq3btsmart import Mode, TemperatureException, Thermostat
|
||||
from .structures import *
|
||||
|
||||
|
||||
class BackendException(Exception):
|
||||
"""Exception to wrap backend exceptions."""
|
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/bleakconnection.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/bleakconnection.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/connection.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/connection.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/eq3btsmart.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/eq3btsmart.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/eq3cli.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/eq3cli.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/gattlibconnection.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/gattlibconnection.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/structures.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/eq3bt/__pycache__/structures.cpython-310.pyc
vendored
Normal file
Binary file not shown.
123
deps/lib/python3.10/site-packages/eq3bt/bleakconnection.py
vendored
Normal file
123
deps/lib/python3.10/site-packages/eq3bt/bleakconnection.py
vendored
Normal file
@ -0,0 +1,123 @@
|
||||
"""
|
||||
Bleak connection backend.
|
||||
This creates a new event loop that is used to integrate bleak's
|
||||
asyncio functions to synchronous architecture of python-eq3bt.
|
||||
"""
|
||||
import asyncio
|
||||
import codecs
|
||||
import contextlib
|
||||
import logging
|
||||
from typing import Optional
|
||||
|
||||
from bleak import BleakClient, BleakError
|
||||
|
||||
from . import BackendException
|
||||
|
||||
DEFAULT_TIMEOUT = 1
|
||||
|
||||
# bleak backends are very loud on debug, this reduces the log spam when using --debug
|
||||
logging.getLogger("bleak.backends").setLevel(logging.WARNING)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class BleakConnection:
|
||||
"""Representation of a BTLE Connection."""
|
||||
|
||||
def __init__(self, mac, iface):
|
||||
"""Initialize the connection."""
|
||||
|
||||
self._conn: Optional[BleakClient] = None
|
||||
self._mac = mac
|
||||
self._iface = iface
|
||||
self._callbacks = {}
|
||||
self._notifyevent = asyncio.Event()
|
||||
self._notification_handle = None
|
||||
self._loop = asyncio.new_event_loop()
|
||||
|
||||
def __enter__(self):
|
||||
"""
|
||||
Context manager __enter__ for connecting the device
|
||||
:rtype: BTLEConnection
|
||||
:return:
|
||||
"""
|
||||
_LOGGER.debug("Trying to connect to %s", self._mac)
|
||||
|
||||
kwargs = {}
|
||||
if self._iface is not None:
|
||||
kwargs["adapter"] = self._iface
|
||||
self._conn = BleakClient(self._mac, **kwargs)
|
||||
try:
|
||||
self._loop.run_until_complete(self._conn.connect())
|
||||
except BleakError as ex:
|
||||
_LOGGER.debug(
|
||||
"Unable to connect to the device %s, retrying: %s", self._mac, ex
|
||||
)
|
||||
try:
|
||||
self._loop.run_until_complete(self._conn.connect())
|
||||
except Exception as ex2:
|
||||
_LOGGER.debug("Second connection try to %s failed: %s", self._mac, ex2)
|
||||
raise BackendException(
|
||||
"unable to connect to device using bleak"
|
||||
) from ex2
|
||||
|
||||
# The notification handles are off-by-one compared to gattlib and bluepy
|
||||
self._loop.run_until_complete(
|
||||
self._conn.start_notify(self._notification_handle - 1, self.on_notification)
|
||||
)
|
||||
_LOGGER.debug("Connected to %s", self._mac)
|
||||
|
||||
return self
|
||||
|
||||
def __exit__(self, exc_type, exc_val, exc_tb):
|
||||
if self._conn:
|
||||
self._loop.run_until_complete(self._conn.disconnect())
|
||||
self._conn = None
|
||||
|
||||
async def on_notification(self, handle, data):
|
||||
"""Handle Callback from a Bluetooth (GATT) request."""
|
||||
# The notification handles are off-by-one compared to gattlib and bluepy
|
||||
handle = handle + 1
|
||||
_LOGGER.debug(
|
||||
"Got notification from %s: %s", handle, codecs.encode(data, "hex")
|
||||
)
|
||||
self._notifyevent.set()
|
||||
|
||||
if handle in self._callbacks:
|
||||
self._callbacks[handle](data)
|
||||
|
||||
@property
|
||||
def mac(self):
|
||||
"""Return the MAC address of the connected device."""
|
||||
return self._mac
|
||||
|
||||
def set_callback(self, handle, function):
|
||||
"""Set the callback for a Notification handle. It will be called with the parameter data, which is binary."""
|
||||
self._notification_handle = handle
|
||||
self._callbacks[handle] = function
|
||||
|
||||
async def wait_for_response(self, timeout):
|
||||
with contextlib.suppress(asyncio.TimeoutError):
|
||||
await asyncio.wait_for(self._notifyevent.wait(), timeout)
|
||||
|
||||
def make_request(self, handle, value, timeout=DEFAULT_TIMEOUT, with_response=True):
|
||||
"""Write a GATT Command without callback - not utf-8."""
|
||||
try:
|
||||
with self:
|
||||
_LOGGER.debug(
|
||||
"Writing %s to %s",
|
||||
codecs.encode(value, "hex"),
|
||||
handle,
|
||||
)
|
||||
self._notifyevent.clear()
|
||||
|
||||
self._loop.run_until_complete(
|
||||
self._conn.write_gatt_char(handle - 1, value)
|
||||
)
|
||||
if timeout:
|
||||
_LOGGER.debug("Waiting for notifications for %s", timeout)
|
||||
self._loop.run_until_complete(self.wait_for_response(timeout))
|
||||
|
||||
except BleakError as ex:
|
||||
_LOGGER.debug("Got exception from bleak while making a request: %s", ex)
|
||||
raise BackendException("Exception on write using bleak") from ex
|
95
deps/lib/python3.10/site-packages/eq3bt/connection.py
vendored
Normal file
95
deps/lib/python3.10/site-packages/eq3bt/connection.py
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
"""
|
||||
A simple wrapper for bluepy's btle.Connection.
|
||||
Handles Connection duties (reconnecting etc.) transparently.
|
||||
"""
|
||||
import codecs
|
||||
import logging
|
||||
|
||||
from bluepy import btle
|
||||
|
||||
from . import BackendException
|
||||
|
||||
DEFAULT_TIMEOUT = 1
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class BTLEConnection(btle.DefaultDelegate):
|
||||
"""Representation of a BTLE Connection."""
|
||||
|
||||
def __init__(self, mac, iface):
|
||||
"""Initialize the connection."""
|
||||
btle.DefaultDelegate.__init__(self)
|
||||
|
||||
self._conn = None
|
||||
self._mac = mac
|
||||
self._iface = iface
|
||||
self._callbacks = {}
|
||||
|
||||
def __enter__(self):
|
||||
"""
|
||||
Context manager __enter__ for connecting the device
|
||||
:rtype: btle.Peripheral
|
||||
:return:
|
||||
"""
|
||||
self._conn = btle.Peripheral()
|
||||
self._conn.withDelegate(self)
|
||||
_LOGGER.debug("Trying to connect to %s", self._mac)
|
||||
try:
|
||||
self._conn.connect(self._mac, iface=self._iface)
|
||||
except btle.BTLEException as ex:
|
||||
_LOGGER.debug(
|
||||
"Unable to connect to the device %s, retrying: %s", self._mac, ex
|
||||
)
|
||||
try:
|
||||
self._conn.connect(self._mac, iface=self._iface)
|
||||
except Exception as ex2:
|
||||
_LOGGER.debug("Second connection try to %s failed: %s", self._mac, ex2)
|
||||
raise BackendException(
|
||||
"Unable to connect to device using bluepy"
|
||||
) from ex2
|
||||
|
||||
_LOGGER.debug("Connected to %s", self._mac)
|
||||
return self
|
||||
|
||||
def __exit__(self, exc_type, exc_val, exc_tb):
|
||||
if self._conn:
|
||||
self._conn.disconnect()
|
||||
self._conn = None
|
||||
|
||||
def handleNotification(self, handle, data):
|
||||
"""Handle Callback from a Bluetooth (GATT) request."""
|
||||
_LOGGER.debug(
|
||||
"Got notification from %s: %s", handle, codecs.encode(data, "hex")
|
||||
)
|
||||
if handle in self._callbacks:
|
||||
self._callbacks[handle](data)
|
||||
|
||||
@property
|
||||
def mac(self):
|
||||
"""Return the MAC address of the connected device."""
|
||||
return self._mac
|
||||
|
||||
def set_callback(self, handle, function):
|
||||
"""Set the callback for a Notification handle. It will be called with the parameter data, which is binary."""
|
||||
self._callbacks[handle] = function
|
||||
|
||||
def make_request(self, handle, value, timeout=DEFAULT_TIMEOUT, with_response=True):
|
||||
"""Write a GATT Command without callback - not utf-8."""
|
||||
try:
|
||||
with self:
|
||||
_LOGGER.debug(
|
||||
"Writing %s to %s with with_response=%s",
|
||||
codecs.encode(value, "hex"),
|
||||
handle,
|
||||
with_response,
|
||||
)
|
||||
self._conn.writeCharacteristic(
|
||||
handle, value, withResponse=with_response
|
||||
)
|
||||
if timeout:
|
||||
_LOGGER.debug("Waiting for notifications for %s", timeout)
|
||||
self._conn.waitForNotifications(timeout)
|
||||
except btle.BTLEException as ex:
|
||||
_LOGGER.debug("Got exception from bluepy while making a request: %s", ex)
|
||||
raise BackendException("Exception on write using bluepy") from ex
|
491
deps/lib/python3.10/site-packages/eq3bt/eq3btsmart.py
vendored
Normal file
491
deps/lib/python3.10/site-packages/eq3bt/eq3btsmart.py
vendored
Normal file
@ -0,0 +1,491 @@
|
||||
"""
|
||||
Support for eq3 Bluetooth Smart thermostats.
|
||||
|
||||
All temperatures in Celsius.
|
||||
|
||||
To get the current state, update() has to be called for powersaving reasons.
|
||||
Schedule needs to be requested with query_schedule() before accessing for similar reasons.
|
||||
"""
|
||||
|
||||
import codecs
|
||||
import logging
|
||||
import struct
|
||||
from datetime import datetime, timedelta
|
||||
from enum import IntEnum
|
||||
|
||||
from construct import Byte
|
||||
|
||||
from .structures import AwayDataAdapter, DeviceId, Schedule, Status
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
PROP_WRITE_HANDLE = 0x411
|
||||
PROP_NTFY_HANDLE = 0x421
|
||||
|
||||
PROP_ID_QUERY = 0
|
||||
PROP_ID_RETURN = 1
|
||||
PROP_INFO_QUERY = 3
|
||||
PROP_INFO_RETURN = 2
|
||||
PROP_COMFORT_ECO_CONFIG = 0x11
|
||||
PROP_OFFSET = 0x13
|
||||
PROP_WINDOW_OPEN_CONFIG = 0x14
|
||||
PROP_SCHEDULE_QUERY = 0x20
|
||||
PROP_SCHEDULE_RETURN = 0x21
|
||||
|
||||
PROP_MODE_WRITE = 0x40
|
||||
PROP_TEMPERATURE_WRITE = 0x41
|
||||
PROP_COMFORT = 0x43
|
||||
PROP_ECO = 0x44
|
||||
PROP_BOOST = 0x45
|
||||
PROP_LOCK = 0x80
|
||||
|
||||
EQ3BT_AWAY_TEMP = 12.0
|
||||
EQ3BT_MIN_TEMP = 5.0
|
||||
EQ3BT_MAX_TEMP = 29.5
|
||||
EQ3BT_OFF_TEMP = 4.5
|
||||
EQ3BT_ON_TEMP = 30.0
|
||||
|
||||
|
||||
class Mode(IntEnum):
|
||||
"""Thermostat modes."""
|
||||
|
||||
Unknown = -1
|
||||
Closed = 0
|
||||
Open = 1
|
||||
Auto = 2
|
||||
Manual = 3
|
||||
Away = 4
|
||||
Boost = 5
|
||||
|
||||
|
||||
MODE_NOT_TEMP = [Mode.Unknown, Mode.Closed, Mode.Open]
|
||||
|
||||
|
||||
class TemperatureException(Exception):
|
||||
"""Temperature out of range error."""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
# pylint: disable=too-many-instance-attributes
|
||||
class Thermostat:
|
||||
"""Representation of a EQ3 Bluetooth Smart thermostat."""
|
||||
|
||||
def __init__(self, _mac, _iface=None, connection_cls=None):
|
||||
"""Initialize the thermostat."""
|
||||
|
||||
self._target_temperature = Mode.Unknown
|
||||
self._mode = Mode.Unknown
|
||||
self._valve_state = Mode.Unknown
|
||||
self._raw_mode = None
|
||||
|
||||
self._schedule = {}
|
||||
|
||||
self._window_open_temperature = None
|
||||
self._window_open_time = None
|
||||
self._comfort_temperature = None
|
||||
self._eco_temperature = None
|
||||
self._temperature_offset = None
|
||||
|
||||
self._away_temp = EQ3BT_AWAY_TEMP
|
||||
self._away_duration = timedelta(days=30)
|
||||
self._away_end = None
|
||||
|
||||
self._firmware_version = None
|
||||
self._device_serial = None
|
||||
|
||||
if connection_cls is None:
|
||||
from .bleakconnection import BleakConnection as connection_cls
|
||||
self._conn = connection_cls(_mac, _iface)
|
||||
self._conn.set_callback(PROP_NTFY_HANDLE, self.handle_notification)
|
||||
|
||||
def __str__(self):
|
||||
away_end = "no"
|
||||
if self.away_end:
|
||||
away_end = "end: %s" % self._away_end
|
||||
|
||||
return "[{}] Target {} (mode: {}, away: {})".format(
|
||||
self._conn.mac, self.target_temperature, self.mode_readable, away_end
|
||||
)
|
||||
|
||||
def _verify_temperature(self, temp):
|
||||
"""Verifies that the temperature is valid.
|
||||
:raises TemperatureException: On invalid temperature.
|
||||
"""
|
||||
if temp < self.min_temp or temp > self.max_temp:
|
||||
raise TemperatureException(
|
||||
"Temperature {} out of range [{}, {}]".format(
|
||||
temp, self.min_temp, self.max_temp
|
||||
)
|
||||
)
|
||||
|
||||
def parse_schedule(self, data):
|
||||
"""Parses the device sent schedule."""
|
||||
sched = Schedule.parse(data)
|
||||
_LOGGER.debug("Got schedule data for day '%s'", sched.day)
|
||||
|
||||
return sched
|
||||
|
||||
def handle_notification(self, data):
|
||||
"""Handle Callback from a Bluetooth (GATT) request."""
|
||||
_LOGGER.debug("Received notification from the device..")
|
||||
|
||||
if data[0] == PROP_INFO_RETURN and data[1] == 1:
|
||||
_LOGGER.debug("Got status: %s" % codecs.encode(data, "hex"))
|
||||
status = Status.parse(data)
|
||||
_LOGGER.debug("Parsed status: %s", status)
|
||||
|
||||
self._raw_mode = status.mode
|
||||
self._valve_state = status.valve
|
||||
self._target_temperature = status.target_temp
|
||||
|
||||
if status.mode.BOOST:
|
||||
self._mode = Mode.Boost
|
||||
elif status.mode.AWAY:
|
||||
self._mode = Mode.Away
|
||||
self._away_end = status.away
|
||||
elif status.mode.MANUAL:
|
||||
if status.target_temp == EQ3BT_OFF_TEMP:
|
||||
self._mode = Mode.Closed
|
||||
elif status.target_temp == EQ3BT_ON_TEMP:
|
||||
self._mode = Mode.Open
|
||||
else:
|
||||
self._mode = Mode.Manual
|
||||
else:
|
||||
self._mode = Mode.Auto
|
||||
|
||||
presets = status.presets
|
||||
if presets:
|
||||
self._window_open_temperature = presets.window_open_temp
|
||||
self._window_open_time = presets.window_open_time
|
||||
self._comfort_temperature = presets.comfort_temp
|
||||
self._eco_temperature = presets.eco_temp
|
||||
self._temperature_offset = presets.offset
|
||||
else:
|
||||
self._window_open_temperature = None
|
||||
self._window_open_time = None
|
||||
self._comfort_temperature = None
|
||||
self._eco_temperature = None
|
||||
self._temperature_offset = None
|
||||
|
||||
_LOGGER.debug("Valve state: %s", self._valve_state)
|
||||
_LOGGER.debug("Mode: %s", self.mode_readable)
|
||||
_LOGGER.debug("Target temp: %s", self._target_temperature)
|
||||
_LOGGER.debug("Away end: %s", self._away_end)
|
||||
_LOGGER.debug("Window open temp: %s", self._window_open_temperature)
|
||||
_LOGGER.debug("Window open time: %s", self._window_open_time)
|
||||
_LOGGER.debug("Comfort temp: %s", self._comfort_temperature)
|
||||
_LOGGER.debug("Eco temp: %s", self._eco_temperature)
|
||||
_LOGGER.debug("Temp offset: %s", self._temperature_offset)
|
||||
|
||||
elif data[0] == PROP_SCHEDULE_RETURN:
|
||||
parsed = self.parse_schedule(data)
|
||||
self._schedule[parsed.day] = parsed
|
||||
|
||||
elif data[0] == PROP_ID_RETURN:
|
||||
parsed = DeviceId.parse(data)
|
||||
_LOGGER.debug("Parsed device data: %s", parsed)
|
||||
self._firmware_version = parsed.version
|
||||
self._device_serial = parsed.serial
|
||||
|
||||
else:
|
||||
_LOGGER.debug(
|
||||
"Unknown notification %s (%s)", data[0], codecs.encode(data, "hex")
|
||||
)
|
||||
|
||||
def query_id(self):
|
||||
"""Query device identification information, e.g. the serial number."""
|
||||
_LOGGER.debug("Querying id..")
|
||||
value = struct.pack("B", PROP_ID_QUERY)
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
def update(self):
|
||||
"""Update the data from the thermostat. Always sets the current time."""
|
||||
_LOGGER.debug("Querying the device..")
|
||||
time = datetime.now()
|
||||
value = struct.pack(
|
||||
"BBBBBBB",
|
||||
PROP_INFO_QUERY,
|
||||
time.year % 100,
|
||||
time.month,
|
||||
time.day,
|
||||
time.hour,
|
||||
time.minute,
|
||||
time.second,
|
||||
)
|
||||
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
def query_schedule(self, day):
|
||||
_LOGGER.debug("Querying schedule..")
|
||||
|
||||
if day < 0 or day > 6:
|
||||
_LOGGER.error("Invalid day: %s", day)
|
||||
|
||||
value = struct.pack("BB", PROP_SCHEDULE_QUERY, day)
|
||||
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def schedule(self):
|
||||
"""Returns previously fetched schedule.
|
||||
:return: Schedule structure or None if not fetched.
|
||||
"""
|
||||
return self._schedule
|
||||
|
||||
def set_schedule(self, data):
|
||||
"""Sets the schedule for the given day."""
|
||||
value = Schedule.build(data)
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def target_temperature(self):
|
||||
"""Return the temperature we try to reach."""
|
||||
return self._target_temperature
|
||||
|
||||
@target_temperature.setter
|
||||
def target_temperature(self, temperature):
|
||||
"""Set new target temperature."""
|
||||
dev_temp = int(temperature * 2)
|
||||
if temperature == EQ3BT_OFF_TEMP or temperature == EQ3BT_ON_TEMP:
|
||||
dev_temp |= 0x40
|
||||
value = struct.pack("BB", PROP_MODE_WRITE, dev_temp)
|
||||
else:
|
||||
self._verify_temperature(temperature)
|
||||
value = struct.pack("BB", PROP_TEMPERATURE_WRITE, dev_temp)
|
||||
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def mode(self):
|
||||
"""Return the current operation mode"""
|
||||
return self._mode
|
||||
|
||||
@mode.setter
|
||||
def mode(self, mode):
|
||||
"""Set the operation mode."""
|
||||
_LOGGER.debug("Setting new mode: %s", mode)
|
||||
|
||||
if self.mode == Mode.Boost and mode != Mode.Boost:
|
||||
self.boost = False
|
||||
|
||||
if mode == Mode.Boost:
|
||||
self.boost = True
|
||||
return
|
||||
elif mode == Mode.Away:
|
||||
end = datetime.now() + self._away_duration
|
||||
return self.set_away(end, self._away_temp)
|
||||
elif mode == Mode.Closed:
|
||||
return self.set_mode(0x40 | int(EQ3BT_OFF_TEMP * 2))
|
||||
elif mode == Mode.Open:
|
||||
return self.set_mode(0x40 | int(EQ3BT_ON_TEMP * 2))
|
||||
|
||||
if mode == Mode.Manual:
|
||||
temperature = max(
|
||||
min(self._target_temperature, self.max_temp), self.min_temp
|
||||
)
|
||||
return self.set_mode(0x40 | int(temperature * 2))
|
||||
else:
|
||||
return self.set_mode(0)
|
||||
|
||||
@property
|
||||
def away_end(self):
|
||||
return self._away_end
|
||||
|
||||
def set_away(self, away_end=None, temperature=EQ3BT_AWAY_TEMP):
|
||||
"""Sets away mode with target temperature.
|
||||
When called without parameters disables away mode."""
|
||||
if not away_end:
|
||||
_LOGGER.debug("Disabling away, going to auto mode.")
|
||||
return self.set_mode(0x00)
|
||||
|
||||
_LOGGER.debug("Setting away until %s, temp %s", away_end, temperature)
|
||||
adapter = AwayDataAdapter(Byte[4])
|
||||
packed = adapter.build(away_end)
|
||||
|
||||
self.set_mode(0x80 | int(temperature * 2), packed)
|
||||
|
||||
def set_mode(self, mode, payload=None):
|
||||
value = struct.pack("BB", PROP_MODE_WRITE, mode)
|
||||
if payload:
|
||||
value += payload
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def mode_readable(self):
|
||||
"""Return a readable representation of the mode.."""
|
||||
ret = ""
|
||||
mode = self._raw_mode
|
||||
|
||||
if mode.MANUAL:
|
||||
ret = "manual"
|
||||
if self.target_temperature < self.min_temp:
|
||||
ret += " off"
|
||||
elif self.target_temperature >= self.max_temp:
|
||||
ret += " on"
|
||||
else:
|
||||
ret += " (%sC)" % self.target_temperature
|
||||
else:
|
||||
ret = "auto"
|
||||
|
||||
if mode.AWAY:
|
||||
ret += " holiday"
|
||||
if mode.BOOST:
|
||||
ret += " boost"
|
||||
if mode.DST:
|
||||
ret += " dst"
|
||||
if mode.WINDOW:
|
||||
ret += " window"
|
||||
if mode.LOCKED:
|
||||
ret += " locked"
|
||||
if mode.LOW_BATTERY:
|
||||
ret += " low battery"
|
||||
|
||||
return ret
|
||||
|
||||
@property
|
||||
def boost(self):
|
||||
"""Returns True if the thermostat is in boost mode."""
|
||||
return self.mode == Mode.Boost
|
||||
|
||||
@boost.setter
|
||||
def boost(self, boost):
|
||||
"""Sets boost mode."""
|
||||
_LOGGER.debug("Setting boost mode: %s", boost)
|
||||
value = struct.pack("BB", PROP_BOOST, bool(boost))
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def valve_state(self):
|
||||
"""Returns the valve state. Probably reported as percent open."""
|
||||
return self._valve_state
|
||||
|
||||
@property
|
||||
def window_open(self):
|
||||
"""Returns True if the thermostat reports a open window
|
||||
(detected by sudden drop of temperature)"""
|
||||
return self._raw_mode and self._raw_mode.WINDOW
|
||||
|
||||
def window_open_config(self, temperature, duration):
|
||||
"""Configures the window open behavior. The duration is specified in
|
||||
5 minute increments."""
|
||||
_LOGGER.debug(
|
||||
"Window open config, temperature: %s duration: %s", temperature, duration
|
||||
)
|
||||
self._verify_temperature(temperature)
|
||||
if duration.seconds < 0 and duration.seconds > 3600:
|
||||
raise ValueError
|
||||
|
||||
value = struct.pack(
|
||||
"BBB",
|
||||
PROP_WINDOW_OPEN_CONFIG,
|
||||
int(temperature * 2),
|
||||
int(duration.seconds / 300),
|
||||
)
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def window_open_temperature(self):
|
||||
"""The temperature to set when an open window is detected."""
|
||||
return self._window_open_temperature
|
||||
|
||||
@property
|
||||
def window_open_time(self):
|
||||
"""Timeout to reset the thermostat after an open window is detected."""
|
||||
return self._window_open_time
|
||||
|
||||
@property
|
||||
def locked(self):
|
||||
"""Returns True if the thermostat is locked."""
|
||||
return self._raw_mode and self._raw_mode.LOCKED
|
||||
|
||||
@locked.setter
|
||||
def locked(self, lock):
|
||||
"""Locks or unlocks the thermostat."""
|
||||
_LOGGER.debug("Setting the lock: %s", lock)
|
||||
value = struct.pack("BB", PROP_LOCK, bool(lock))
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def low_battery(self):
|
||||
"""Returns True if the thermostat reports a low battery."""
|
||||
return self._raw_mode and self._raw_mode.LOW_BATTERY
|
||||
|
||||
def temperature_presets(self, comfort, eco):
|
||||
"""Set the thermostats preset temperatures comfort (sun) and
|
||||
eco (moon)."""
|
||||
_LOGGER.debug("Setting temperature presets, comfort: %s eco: %s", comfort, eco)
|
||||
self._verify_temperature(comfort)
|
||||
self._verify_temperature(eco)
|
||||
value = struct.pack(
|
||||
"BBB", PROP_COMFORT_ECO_CONFIG, int(comfort * 2), int(eco * 2)
|
||||
)
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def comfort_temperature(self):
|
||||
"""Returns the comfort temperature preset of the thermostat."""
|
||||
return self._comfort_temperature
|
||||
|
||||
@property
|
||||
def eco_temperature(self):
|
||||
"""Returns the eco temperature preset of the thermostat."""
|
||||
return self._eco_temperature
|
||||
|
||||
@property
|
||||
def temperature_offset(self):
|
||||
"""Returns the thermostat's temperature offset."""
|
||||
return self._temperature_offset
|
||||
|
||||
@temperature_offset.setter
|
||||
def temperature_offset(self, offset):
|
||||
"""Sets the thermostat's temperature offset."""
|
||||
_LOGGER.debug("Setting offset: %s", offset)
|
||||
# [-3,5 .. 0 .. 3,5 ]
|
||||
# [00 .. 07 .. 0e ]
|
||||
if offset < -3.5 or offset > 3.5:
|
||||
raise TemperatureException("Invalid value: %s" % offset)
|
||||
|
||||
current = -3.5
|
||||
values = {}
|
||||
for i in range(15):
|
||||
values[current] = i
|
||||
current += 0.5
|
||||
|
||||
value = struct.pack("BB", PROP_OFFSET, values[offset])
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
def activate_comfort(self):
|
||||
"""Activates the comfort temperature."""
|
||||
value = struct.pack("B", PROP_COMFORT)
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
def activate_eco(self):
|
||||
"""Activates the comfort temperature."""
|
||||
value = struct.pack("B", PROP_ECO)
|
||||
self._conn.make_request(PROP_WRITE_HANDLE, value)
|
||||
|
||||
@property
|
||||
def min_temp(self):
|
||||
"""Return the minimum temperature."""
|
||||
return EQ3BT_MIN_TEMP
|
||||
|
||||
@property
|
||||
def max_temp(self):
|
||||
"""Return the maximum temperature."""
|
||||
return EQ3BT_MAX_TEMP
|
||||
|
||||
@property
|
||||
def firmware_version(self):
|
||||
"""Return the firmware version."""
|
||||
return self._firmware_version
|
||||
|
||||
@property
|
||||
def device_serial(self):
|
||||
"""Return the device serial number."""
|
||||
return self._device_serial
|
||||
|
||||
@property
|
||||
def mac(self):
|
||||
"""Return the mac address."""
|
||||
return self._conn.mac
|
212
deps/lib/python3.10/site-packages/eq3bt/eq3cli.py
vendored
Normal file
212
deps/lib/python3.10/site-packages/eq3bt/eq3cli.py
vendored
Normal file
@ -0,0 +1,212 @@
|
||||
""" Cli tool for testing connectivity with EQ3 smart thermostats. """
|
||||
import logging
|
||||
import re
|
||||
|
||||
import click
|
||||
|
||||
from eq3bt import Thermostat
|
||||
|
||||
pass_dev = click.make_pass_decorator(Thermostat)
|
||||
|
||||
|
||||
def validate_mac(ctx, param, mac):
|
||||
if re.match("^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$", mac) is None:
|
||||
raise click.BadParameter(mac + " is no valid mac address")
|
||||
return mac
|
||||
|
||||
|
||||
@click.group(invoke_without_command=True)
|
||||
@click.option("--mac", envvar="EQ3_MAC", required=True, callback=validate_mac)
|
||||
@click.option("--interface", default=None)
|
||||
@click.option("--debug/--normal", default=False)
|
||||
@click.option(
|
||||
"--backend", type=click.Choice(["bleak", "bluepy", "gattlib"]), default="bleak"
|
||||
)
|
||||
@click.pass_context
|
||||
def cli(ctx, mac, interface, debug, backend):
|
||||
"""Tool to query and modify the state of EQ3 BT smart thermostat."""
|
||||
if debug:
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
else:
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
if backend == "bluepy":
|
||||
from .connection import BTLEConnection
|
||||
|
||||
connection_cls = BTLEConnection
|
||||
elif backend == "gattlib":
|
||||
from .gattlibconnection import BTLEConnection
|
||||
|
||||
connection_cls = BTLEConnection
|
||||
else:
|
||||
from .bleakconnection import BleakConnection
|
||||
|
||||
connection_cls = BleakConnection
|
||||
|
||||
thermostat = Thermostat(mac, interface, connection_cls)
|
||||
thermostat.update()
|
||||
ctx.obj = thermostat
|
||||
|
||||
if ctx.invoked_subcommand is None:
|
||||
ctx.invoke(state)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option("--target", type=float, required=False)
|
||||
@pass_dev
|
||||
def temp(dev, target):
|
||||
"""Gets or sets the target temperature."""
|
||||
click.echo("Current target temp: %s" % dev.target_temperature)
|
||||
if target:
|
||||
click.echo("Setting target temp: %s" % target)
|
||||
dev.target_temperature = target
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option("--target", type=int, required=False)
|
||||
@pass_dev
|
||||
def mode(dev, target):
|
||||
"""Gets or sets the active mode."""
|
||||
click.echo("Current mode: %s" % dev.mode_readable)
|
||||
if target:
|
||||
click.echo("Setting mode: %s" % target)
|
||||
dev.mode = target
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option("--target", type=bool, required=False)
|
||||
@pass_dev
|
||||
def boost(dev, target):
|
||||
"""Gets or sets the boost mode."""
|
||||
click.echo("Boost: %s" % dev.boost)
|
||||
if target is not None:
|
||||
click.echo("Setting boost: %s" % target)
|
||||
dev.boost = target
|
||||
|
||||
|
||||
@cli.command()
|
||||
@pass_dev
|
||||
def valve_state(dev):
|
||||
"""Gets the state of the valve."""
|
||||
click.echo("Valve: %s" % dev.valve_state)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option("--target", type=bool, required=False)
|
||||
@pass_dev
|
||||
def locked(dev, target):
|
||||
"""Gets or sets the lock."""
|
||||
click.echo("Locked: %s" % dev.locked)
|
||||
if target is not None:
|
||||
click.echo("Setting lock: %s" % target)
|
||||
dev.locked = target
|
||||
|
||||
|
||||
@cli.command()
|
||||
@pass_dev
|
||||
def low_battery(dev):
|
||||
"""Gets the low battery status."""
|
||||
click.echo("Batter low: %s" % dev.low_battery)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option("--temp", type=float, required=False)
|
||||
@click.option("--duration", type=float, required=False)
|
||||
@pass_dev
|
||||
def window_open(dev, temp, duration):
|
||||
"""Gets and sets the window open settings."""
|
||||
click.echo("Window open: %s" % dev.window_open)
|
||||
if dev.window_open_temperature is not None:
|
||||
click.echo("Window open temp: %s" % dev.window_open_temperature)
|
||||
if dev.window_open_time is not None:
|
||||
click.echo("Window open time: %s" % dev.window_open_time)
|
||||
if temp and duration:
|
||||
click.echo(f"Setting window open conf, temp: {temp} duration: {duration}")
|
||||
dev.window_open_config(temp, duration)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option("--comfort", type=float, required=False)
|
||||
@click.option("--eco", type=float, required=False)
|
||||
@pass_dev
|
||||
def presets(dev, comfort, eco):
|
||||
"""Sets the preset temperatures for auto mode."""
|
||||
if dev.comfort_temperature is not None:
|
||||
click.echo("Current comfort temp: %s" % dev.comfort_temperature)
|
||||
if dev.eco_temperature is not None:
|
||||
click.echo("Current eco temp: %s" % dev.eco_temperature)
|
||||
if comfort and eco:
|
||||
click.echo(f"Setting presets: comfort {comfort}, eco {eco}")
|
||||
dev.temperature_presets(comfort, eco)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@pass_dev
|
||||
def schedule(dev):
|
||||
"""Gets the schedule from the thermostat."""
|
||||
# TODO: expose setting the schedule somehow?
|
||||
for d in range(7):
|
||||
dev.query_schedule(d)
|
||||
for day in dev.schedule.values():
|
||||
click.echo(f"Day {day.day}, base temp: {day.base_temp}")
|
||||
current_hour = day.next_change_at
|
||||
for hour in day.hours:
|
||||
if current_hour == 0:
|
||||
continue
|
||||
click.echo(f"\t[{current_hour}-{hour.next_change_at}] {hour.target_temp}")
|
||||
current_hour = hour.next_change_at
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.argument("offset", type=float, required=False)
|
||||
@pass_dev
|
||||
def offset(dev, offset):
|
||||
"""Sets the temperature offset [-3,5 3,5]"""
|
||||
if dev.temperature_offset is not None:
|
||||
click.echo("Current temp offset: %s" % dev.temperature_offset)
|
||||
if offset is not None:
|
||||
click.echo("Setting the offset to %s" % offset)
|
||||
dev.temperature_offset = offset
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.argument("away_end", type=click.DateTime(), default=None, required=False)
|
||||
@click.argument("temperature", type=float, default=None, required=False)
|
||||
@pass_dev
|
||||
def away(dev, away_end, temperature):
|
||||
"""Enables or disables the away mode."""
|
||||
if away_end:
|
||||
click.echo(f"Setting away until {away_end}, temperature: {temperature}")
|
||||
else:
|
||||
click.echo("Disabling away mode")
|
||||
dev.set_away(away_end, temperature)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@pass_dev
|
||||
def device(dev):
|
||||
"""Displays basic device information."""
|
||||
dev.query_id()
|
||||
click.echo("Firmware version: %s" % dev.firmware_version)
|
||||
click.echo("Device serial: %s" % dev.device_serial)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.pass_context
|
||||
def state(ctx):
|
||||
"""Prints out all available information."""
|
||||
dev = ctx.obj
|
||||
click.echo(dev)
|
||||
ctx.forward(locked)
|
||||
ctx.forward(low_battery)
|
||||
ctx.forward(window_open)
|
||||
ctx.forward(boost)
|
||||
ctx.forward(temp)
|
||||
ctx.forward(presets)
|
||||
ctx.forward(offset)
|
||||
ctx.forward(mode)
|
||||
ctx.forward(valve_state)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
cli()
|
99
deps/lib/python3.10/site-packages/eq3bt/gattlibconnection.py
vendored
Normal file
99
deps/lib/python3.10/site-packages/eq3bt/gattlibconnection.py
vendored
Normal file
@ -0,0 +1,99 @@
|
||||
"""
|
||||
A simple adapter to gattlib.
|
||||
Handles Connection duties (reconnecting etc.) transparently.
|
||||
"""
|
||||
import codecs
|
||||
import logging
|
||||
import threading
|
||||
|
||||
import gattlib
|
||||
|
||||
from . import BackendException
|
||||
|
||||
DEFAULT_TIMEOUT = 1
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class BTLEConnection:
|
||||
"""Representation of a BTLE Connection."""
|
||||
|
||||
def __init__(self, mac, iface):
|
||||
"""Initialize the connection."""
|
||||
|
||||
self._conn = None
|
||||
self._mac = mac
|
||||
self._iface = iface
|
||||
self._callbacks = {}
|
||||
self._notifyevent = None
|
||||
|
||||
def __enter__(self):
|
||||
"""
|
||||
Context manager __enter__ for connecting the device
|
||||
:rtype: BTLEConnection
|
||||
:return:
|
||||
"""
|
||||
_LOGGER.debug("Trying to connect to %s", self._mac)
|
||||
if self._iface is None:
|
||||
self._conn = gattlib.GATTRequester(self._mac, False)
|
||||
else:
|
||||
self._conn = gattlib.GATTRequester(self._mac, False, self._iface)
|
||||
self._conn.on_notification = self.on_notification
|
||||
try:
|
||||
self._conn.connect()
|
||||
except gattlib.BTBaseException as ex:
|
||||
_LOGGER.debug(
|
||||
"Unable to connect to the device %s, retrying: %s", self._mac, ex
|
||||
)
|
||||
try:
|
||||
self._conn.connect()
|
||||
except Exception as ex2:
|
||||
_LOGGER.debug("Second connection try to %s failed: %s", self._mac, ex2)
|
||||
raise BackendException(
|
||||
"unable to connect to device using gattlib"
|
||||
) from ex2
|
||||
|
||||
_LOGGER.debug("Connected to %s", self._mac)
|
||||
return self
|
||||
|
||||
def __exit__(self, exc_type, exc_val, exc_tb):
|
||||
if self._conn:
|
||||
self._conn.disconnect()
|
||||
self._conn = None
|
||||
|
||||
def on_notification(self, handle, data):
|
||||
"""Handle Callback from a Bluetooth (GATT) request."""
|
||||
_LOGGER.debug(
|
||||
"Got notification from %s: %s", handle, codecs.encode(data, "hex")
|
||||
)
|
||||
if handle in self._callbacks:
|
||||
self._callbacks[handle](data[3:])
|
||||
if self._notifyevent:
|
||||
self._notifyevent.set()
|
||||
|
||||
@property
|
||||
def mac(self):
|
||||
"""Return the MAC address of the connected device."""
|
||||
return self._mac
|
||||
|
||||
def set_callback(self, handle, function):
|
||||
"""Set the callback for a Notification handle. It will be called with the parameter data, which is binary."""
|
||||
self._callbacks[handle] = function
|
||||
|
||||
def make_request(self, handle, value, timeout=DEFAULT_TIMEOUT, with_response=True):
|
||||
"""Write a GATT Command without callback - not utf-8."""
|
||||
try:
|
||||
with self:
|
||||
_LOGGER.debug(
|
||||
"Writing %s to %s",
|
||||
codecs.encode(value, "hex"),
|
||||
handle,
|
||||
)
|
||||
self._notifyevent = threading.Event()
|
||||
self._conn.write_by_handle(handle, value)
|
||||
if timeout:
|
||||
_LOGGER.debug("Waiting for notifications for %s", timeout)
|
||||
self._notifyevent.wait(timeout)
|
||||
except gattlib.BTBaseException as ex:
|
||||
_LOGGER.debug("Got exception from gattlib while making a request: %s", ex)
|
||||
raise BackendException("Exception on write using gattlib") from ex
|
174
deps/lib/python3.10/site-packages/eq3bt/structures.py
vendored
Normal file
174
deps/lib/python3.10/site-packages/eq3bt/structures.py
vendored
Normal file
@ -0,0 +1,174 @@
|
||||
""" Contains construct adapters and structures. """
|
||||
from datetime import datetime, time, timedelta
|
||||
|
||||
from construct import (
|
||||
Adapter,
|
||||
Bytes,
|
||||
Const,
|
||||
Enum,
|
||||
FlagsEnum,
|
||||
GreedyRange,
|
||||
IfThenElse,
|
||||
Int8ub,
|
||||
Optional,
|
||||
Struct,
|
||||
)
|
||||
|
||||
PROP_ID_RETURN = 1
|
||||
PROP_INFO_RETURN = 2
|
||||
PROP_SCHEDULE_SET = 0x10
|
||||
PROP_SCHEDULE_RETURN = 0x21
|
||||
|
||||
NAME_TO_DAY = {"sat": 0, "sun": 1, "mon": 2, "tue": 3, "wed": 4, "thu": 5, "fri": 6}
|
||||
NAME_TO_CMD = {"write": PROP_SCHEDULE_SET, "response": PROP_SCHEDULE_RETURN}
|
||||
HOUR_24_PLACEHOLDER = 1234
|
||||
|
||||
|
||||
class TimeAdapter(Adapter):
|
||||
"""Adapter to encode and decode schedule times."""
|
||||
|
||||
def _decode(self, obj, ctx, path):
|
||||
h, m = divmod(obj * 10, 60)
|
||||
if h == 24: # HACK, can we do better?
|
||||
return HOUR_24_PLACEHOLDER
|
||||
return time(hour=h, minute=m)
|
||||
|
||||
def _encode(self, obj, ctx, path):
|
||||
# TODO: encode h == 24 hack
|
||||
if obj == HOUR_24_PLACEHOLDER:
|
||||
return int(24 * 60 / 10)
|
||||
encoded = int((obj.hour * 60 + obj.minute) / 10)
|
||||
return encoded
|
||||
|
||||
|
||||
class TempAdapter(Adapter):
|
||||
"""Adapter to encode and decode temperature."""
|
||||
|
||||
def _decode(self, obj, ctx, path):
|
||||
return float(obj / 2.0)
|
||||
|
||||
def _encode(self, obj, ctx, path):
|
||||
return int(obj * 2.0)
|
||||
|
||||
|
||||
class WindowOpenTimeAdapter(Adapter):
|
||||
"""Adapter to encode and decode window open times (5 min increments)."""
|
||||
|
||||
def _decode(self, obj, context, path):
|
||||
return timedelta(minutes=float(obj * 5.0))
|
||||
|
||||
def _encode(self, obj, context, path):
|
||||
if isinstance(obj, timedelta):
|
||||
obj = obj.seconds
|
||||
if 0 <= obj <= 3600.0:
|
||||
return int(obj / 300.0)
|
||||
raise ValueError(
|
||||
"Window open time must be between 0 and 60 minutes "
|
||||
"in intervals of 5 minutes."
|
||||
)
|
||||
|
||||
|
||||
class TempOffsetAdapter(Adapter):
|
||||
"""Adapter to encode and decode the temperature offset."""
|
||||
|
||||
def _decode(self, obj, context, path):
|
||||
return float((obj - 7) / 2.0)
|
||||
|
||||
def _encode(self, obj, context, path):
|
||||
if -3.5 <= obj <= 3.5:
|
||||
return int(obj * 2.0) + 7
|
||||
raise ValueError(
|
||||
"Temperature offset must be between -3.5 and 3.5 (in " "intervals of 0.5)."
|
||||
)
|
||||
|
||||
|
||||
ModeFlags = "ModeFlags" / FlagsEnum(
|
||||
Int8ub,
|
||||
AUTO=0x00, # always True, doesnt affect building
|
||||
MANUAL=0x01,
|
||||
AWAY=0x02,
|
||||
BOOST=0x04,
|
||||
DST=0x08,
|
||||
WINDOW=0x10,
|
||||
LOCKED=0x20,
|
||||
UNKNOWN=0x40,
|
||||
LOW_BATTERY=0x80,
|
||||
)
|
||||
|
||||
|
||||
class AwayDataAdapter(Adapter):
|
||||
"""Adapter to encode and decode away data."""
|
||||
|
||||
def _decode(self, obj, ctx, path):
|
||||
(day, year, hour_min, month) = obj
|
||||
year += 2000
|
||||
|
||||
min = 0
|
||||
if hour_min & 0x01:
|
||||
min = 30
|
||||
hour = int(hour_min / 2)
|
||||
|
||||
return datetime(year=year, month=month, day=day, hour=hour, minute=min)
|
||||
|
||||
def _encode(self, obj, ctx, path):
|
||||
if obj.year < 2000 or obj.year > 2099:
|
||||
raise Exception("Invalid year, possible [2000,2099]")
|
||||
year = obj.year - 2000
|
||||
hour = obj.hour * 2
|
||||
if obj.minute: # we encode all minute values to h:30
|
||||
hour |= 0x01
|
||||
return (obj.day, year, hour, obj.month)
|
||||
|
||||
|
||||
class DeviceSerialAdapter(Adapter):
|
||||
"""Adapter to decode the device serial number."""
|
||||
|
||||
def _decode(self, obj, context, path):
|
||||
return bytearray(n - 0x30 for n in obj).decode()
|
||||
|
||||
|
||||
Status = "Status" / Struct(
|
||||
"cmd" / Const(PROP_INFO_RETURN, Int8ub),
|
||||
Const(0x01, Int8ub),
|
||||
"mode" / ModeFlags,
|
||||
"valve" / Int8ub,
|
||||
Const(0x04, Int8ub),
|
||||
"target_temp" / TempAdapter(Int8ub),
|
||||
"away"
|
||||
/ IfThenElse( # noqa: W503
|
||||
lambda ctx: ctx.mode.AWAY, AwayDataAdapter(Bytes(4)), Optional(Bytes(4))
|
||||
),
|
||||
"presets"
|
||||
/ Optional( # noqa: W503
|
||||
Struct(
|
||||
"window_open_temp" / TempAdapter(Int8ub),
|
||||
"window_open_time" / WindowOpenTimeAdapter(Int8ub),
|
||||
"comfort_temp" / TempAdapter(Int8ub),
|
||||
"eco_temp" / TempAdapter(Int8ub),
|
||||
"offset" / TempOffsetAdapter(Int8ub),
|
||||
)
|
||||
),
|
||||
)
|
||||
|
||||
Schedule = "Schedule" / Struct(
|
||||
"cmd" / Enum(Int8ub, **NAME_TO_CMD),
|
||||
"day" / Enum(Int8ub, **NAME_TO_DAY),
|
||||
"base_temp" / TempAdapter(Int8ub),
|
||||
"next_change_at" / TimeAdapter(Int8ub),
|
||||
"hours"
|
||||
/ GreedyRange( # noqa: W503
|
||||
Struct(
|
||||
"target_temp" / TempAdapter(Int8ub),
|
||||
"next_change_at" / TimeAdapter(Int8ub),
|
||||
)
|
||||
),
|
||||
)
|
||||
|
||||
DeviceId = "DeviceId" / Struct(
|
||||
"cmd" / Const(PROP_ID_RETURN, Int8ub),
|
||||
"version" / Int8ub,
|
||||
Int8ub,
|
||||
Int8ub,
|
||||
"serial" / DeviceSerialAdapter(Bytes(10)),
|
||||
Int8ub,
|
||||
)
|
BIN
deps/lib/python3.10/site-packages/eq3bt/tests/__pycache__/test_thermostat.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/eq3bt/tests/__pycache__/test_thermostat.cpython-310.pyc
vendored
Normal file
Binary file not shown.
198
deps/lib/python3.10/site-packages/eq3bt/tests/test_thermostat.py
vendored
Normal file
198
deps/lib/python3.10/site-packages/eq3bt/tests/test_thermostat.py
vendored
Normal file
@ -0,0 +1,198 @@
|
||||
import codecs
|
||||
from datetime import datetime, timedelta
|
||||
from unittest import TestCase
|
||||
|
||||
import pytest
|
||||
|
||||
from eq3bt import TemperatureException, Thermostat
|
||||
from eq3bt.eq3btsmart import PROP_ID_QUERY, PROP_INFO_QUERY, PROP_NTFY_HANDLE, Mode
|
||||
|
||||
ID_RESPONSE = b"01780000807581626163606067659e"
|
||||
STATUS_RESPONSES = {
|
||||
"auto": b"020100000428",
|
||||
"manual": b"020101000428",
|
||||
"window": b"020110000428",
|
||||
"away": b"0201020004231d132e03",
|
||||
"boost": b"020104000428",
|
||||
"low_batt": b"020180000428",
|
||||
"valve_at_22": b"020100160428",
|
||||
"presets": b"020100000422000000001803282207",
|
||||
}
|
||||
|
||||
|
||||
class FakeConnection:
|
||||
def __init__(self, _iface, mac):
|
||||
self._callbacks = {}
|
||||
self._res = "auto"
|
||||
|
||||
def set_callback(self, handle, cb):
|
||||
self._callbacks[handle] = cb
|
||||
|
||||
def set_status(self, key):
|
||||
if key in STATUS_RESPONSES:
|
||||
self._res = key
|
||||
else:
|
||||
raise ValueError("Invalid key for status test response.")
|
||||
|
||||
def make_request(self, handle, value, timeout=1, with_response=True):
|
||||
"""Write a GATT Command without callback - not utf-8."""
|
||||
if with_response:
|
||||
cb = self._callbacks.get(PROP_NTFY_HANDLE)
|
||||
|
||||
if value[0] == PROP_ID_QUERY:
|
||||
data = ID_RESPONSE
|
||||
elif value[0] == PROP_INFO_QUERY:
|
||||
data = STATUS_RESPONSES[self._res]
|
||||
else:
|
||||
return
|
||||
cb(codecs.decode(data, "hex"))
|
||||
|
||||
|
||||
class TestThermostat(TestCase):
|
||||
def setUp(self):
|
||||
self.thermostat = Thermostat(
|
||||
_mac=None, _iface=None, connection_cls=FakeConnection
|
||||
)
|
||||
|
||||
def test__verify_temperature(self):
|
||||
with self.assertRaises(TemperatureException):
|
||||
self.thermostat._verify_temperature(-1)
|
||||
with self.assertRaises(TemperatureException):
|
||||
self.thermostat._verify_temperature(35)
|
||||
|
||||
self.thermostat._verify_temperature(8)
|
||||
self.thermostat._verify_temperature(25)
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_parse_schedule(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_handle_notification(self):
|
||||
self.fail()
|
||||
|
||||
def test_query_id(self):
|
||||
self.thermostat.query_id()
|
||||
self.assertEqual(self.thermostat.firmware_version, 120)
|
||||
self.assertEqual(self.thermostat.device_serial, "PEQ2130075")
|
||||
|
||||
def test_update(self):
|
||||
th = self.thermostat
|
||||
|
||||
th._conn.set_status("auto")
|
||||
th.update()
|
||||
self.assertEqual(th.valve_state, 0)
|
||||
self.assertEqual(th.mode, Mode.Auto)
|
||||
self.assertEqual(th.target_temperature, 20.0)
|
||||
self.assertFalse(th.locked)
|
||||
self.assertFalse(th.low_battery)
|
||||
self.assertFalse(th.boost)
|
||||
self.assertFalse(th.window_open)
|
||||
|
||||
th._conn.set_status("manual")
|
||||
th.update()
|
||||
self.assertTrue(th.mode, Mode.Manual)
|
||||
|
||||
th._conn.set_status("away")
|
||||
th.update()
|
||||
self.assertEqual(th.mode, Mode.Away)
|
||||
self.assertEqual(th.target_temperature, 17.5)
|
||||
self.assertEqual(th.away_end, datetime(2019, 3, 29, 23, 00))
|
||||
|
||||
th._conn.set_status("boost")
|
||||
th.update()
|
||||
self.assertTrue(th.boost)
|
||||
self.assertEqual(th.mode, Mode.Boost)
|
||||
|
||||
def test_presets(self):
|
||||
th = self.thermostat
|
||||
self.thermostat._conn.set_status("presets")
|
||||
self.thermostat.update()
|
||||
self.assertEqual(th.window_open_temperature, 12.0)
|
||||
self.assertEqual(th.window_open_time, timedelta(minutes=15.0))
|
||||
self.assertEqual(th.comfort_temperature, 20.0)
|
||||
self.assertEqual(th.eco_temperature, 17.0)
|
||||
self.assertEqual(th.temperature_offset, 0)
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_query_schedule(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_schedule(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_set_schedule(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_target_temperature(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_mode(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_mode_readable(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_boost(self):
|
||||
self.fail()
|
||||
|
||||
def test_valve_state(self):
|
||||
th = self.thermostat
|
||||
th._conn.set_status("valve_at_22")
|
||||
th.update()
|
||||
self.assertEqual(th.valve_state, 22)
|
||||
|
||||
def test_window_open(self):
|
||||
th = self.thermostat
|
||||
th._conn.set_status("window")
|
||||
th.update()
|
||||
self.assertTrue(th.window_open)
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_window_open_config(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_locked(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_low_battery(self):
|
||||
th = self.thermostat
|
||||
th._conn.set_status("low_batt")
|
||||
th.update()
|
||||
self.assertTrue(th.low_battery)
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_temperature_offset(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_activate_comfort(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_activate_eco(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_min_temp(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_max_temp(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_away_end(self):
|
||||
self.fail()
|
||||
|
||||
@pytest.mark.skip()
|
||||
def test_decode_mode(self):
|
||||
self.fail()
|
31
deps/lib/python3.10/site-packages/onvif/__init__.py
vendored
Normal file
31
deps/lib/python3.10/site-packages/onvif/__init__.py
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
"""Initialize onvif."""
|
||||
import zeep
|
||||
|
||||
from onvif.client import SERVICES, ONVIFCamera, ONVIFService
|
||||
from onvif.exceptions import (
|
||||
ERR_ONVIF_BUILD,
|
||||
ERR_ONVIF_PROTOCOL,
|
||||
ERR_ONVIF_UNKNOWN,
|
||||
ERR_ONVIF_WSDL,
|
||||
ONVIFError,
|
||||
)
|
||||
|
||||
|
||||
def zeep_pythonvalue(self, xmlvalue):
|
||||
"""Monkey patch zeep."""
|
||||
return xmlvalue
|
||||
|
||||
|
||||
# pylint: disable=no-member
|
||||
zeep.xsd.simple.AnySimpleType.pythonvalue = zeep_pythonvalue
|
||||
|
||||
__all__ = (
|
||||
"ONVIFService",
|
||||
"ONVIFCamera",
|
||||
"ONVIFError",
|
||||
"ERR_ONVIF_UNKNOWN",
|
||||
"ERR_ONVIF_PROTOCOL",
|
||||
"ERR_ONVIF_WSDL",
|
||||
"ERR_ONVIF_BUILD",
|
||||
"SERVICES",
|
||||
)
|
BIN
deps/lib/python3.10/site-packages/onvif/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/onvif/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/onvif/__pycache__/client.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/onvif/__pycache__/client.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/onvif/__pycache__/definition.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/onvif/__pycache__/definition.cpython-310.pyc
vendored
Normal file
Binary file not shown.
BIN
deps/lib/python3.10/site-packages/onvif/__pycache__/exceptions.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/onvif/__pycache__/exceptions.cpython-310.pyc
vendored
Normal file
Binary file not shown.
483
deps/lib/python3.10/site-packages/onvif/client.py
vendored
Normal file
483
deps/lib/python3.10/site-packages/onvif/client.py
vendored
Normal file
@ -0,0 +1,483 @@
|
||||
"""ONVIF Client."""
|
||||
import datetime as dt
|
||||
import logging
|
||||
import os.path
|
||||
|
||||
import httpx
|
||||
from httpx import AsyncClient, BasicAuth, DigestAuth
|
||||
from zeep.cache import SqliteCache
|
||||
from zeep.client import AsyncClient as BaseZeepAsyncClient, Client, Settings
|
||||
from zeep.exceptions import Fault
|
||||
import zeep.helpers
|
||||
from zeep.proxy import AsyncServiceProxy
|
||||
from zeep.transports import AsyncTransport
|
||||
from zeep.wsse.username import UsernameToken
|
||||
|
||||
from onvif.definition import SERVICES
|
||||
from onvif.exceptions import ONVIFAuthError, ONVIFError, ONVIFTimeoutError
|
||||
|
||||
logger = logging.getLogger("onvif")
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
logging.getLogger("zeep.client").setLevel(logging.CRITICAL)
|
||||
|
||||
|
||||
def safe_func(func):
|
||||
"""Ensure methods to raise an ONVIFError Exception when some thing was wrong."""
|
||||
|
||||
def wrapped(*args, **kwargs):
|
||||
try:
|
||||
return func(*args, **kwargs)
|
||||
except Exception as err:
|
||||
raise ONVIFError(err)
|
||||
|
||||
return wrapped
|
||||
|
||||
|
||||
class UsernameDigestTokenDtDiff(UsernameToken):
|
||||
"""
|
||||
UsernameDigestToken class, with a time offset parameter that can be adjusted;
|
||||
This allows authentication on cameras without being time synchronized.
|
||||
Please note that using NTP on both end is the recommended solution,
|
||||
this should only be used in "safe" environments.
|
||||
"""
|
||||
|
||||
def __init__(self, user, passw, dt_diff=None, **kwargs):
|
||||
super().__init__(user, passw, **kwargs)
|
||||
# Date/time difference in datetime.timedelta
|
||||
self.dt_diff = dt_diff
|
||||
|
||||
def apply(self, envelope, headers):
|
||||
old_created = self.created
|
||||
if self.created is None:
|
||||
self.created = dt.datetime.utcnow()
|
||||
if self.dt_diff is not None:
|
||||
self.created += self.dt_diff
|
||||
result = super().apply(envelope, headers)
|
||||
self.created = old_created
|
||||
return result
|
||||
|
||||
|
||||
class ZeepAsyncClient(BaseZeepAsyncClient):
|
||||
"""Overwrite create_service method to be async."""
|
||||
|
||||
def create_service(self, binding_name, address):
|
||||
"""Create a new ServiceProxy for the given binding name and address.
|
||||
:param binding_name: The QName of the binding
|
||||
:param address: The address of the endpoint
|
||||
"""
|
||||
try:
|
||||
binding = self.wsdl.bindings[binding_name]
|
||||
except KeyError:
|
||||
raise ValueError(
|
||||
"No binding found with the given QName. Available bindings "
|
||||
"are: %s" % (", ".join(self.wsdl.bindings.keys()))
|
||||
)
|
||||
return AsyncServiceProxy(self, binding, address=address)
|
||||
|
||||
|
||||
class ONVIFService:
|
||||
"""
|
||||
Python Implemention for ONVIF Service.
|
||||
Services List:
|
||||
DeviceMgmt DeviceIO Event AnalyticsDevice Display Imaging Media
|
||||
PTZ Receiver RemoteDiscovery Recording Replay Search Extension
|
||||
|
||||
>>> from onvif import ONVIFService
|
||||
>>> device_service = ONVIFService('http://192.168.0.112/onvif/device_service',
|
||||
... 'admin', 'foscam',
|
||||
... '/etc/onvif/wsdl/devicemgmt.wsdl')
|
||||
>>> ret = device_service.GetHostname()
|
||||
>>> print ret.FromDHCP
|
||||
>>> print ret.Name
|
||||
>>> device_service.SetHostname(dict(Name='newhostname'))
|
||||
>>> ret = device_service.GetSystemDateAndTime()
|
||||
>>> print ret.DaylightSavings
|
||||
>>> print ret.TimeZone
|
||||
>>> dict_ret = device_service.to_dict(ret)
|
||||
>>> print dict_ret['TimeZone']
|
||||
|
||||
There are two ways to pass parameter to services methods
|
||||
1. Dict
|
||||
params = {'Name': 'NewHostName'}
|
||||
device_service.SetHostname(params)
|
||||
2. Type Instance
|
||||
params = device_service.create_type('SetHostname')
|
||||
params.Hostname = 'NewHostName'
|
||||
device_service.SetHostname(params)
|
||||
"""
|
||||
|
||||
@safe_func
|
||||
def __init__(
|
||||
self,
|
||||
xaddr,
|
||||
user,
|
||||
passwd,
|
||||
url,
|
||||
encrypt=True,
|
||||
no_cache=False,
|
||||
dt_diff=None,
|
||||
binding_name="",
|
||||
binding_key="",
|
||||
):
|
||||
if not os.path.isfile(url):
|
||||
raise ONVIFError("%s doesn`t exist!" % url)
|
||||
|
||||
self.url = url
|
||||
self.xaddr = xaddr
|
||||
self.binding_key = binding_key
|
||||
wsse = UsernameDigestTokenDtDiff(
|
||||
user, passwd, dt_diff=dt_diff, use_digest=encrypt
|
||||
)
|
||||
# Create soap client
|
||||
client = AsyncClient(timeout=90)
|
||||
self.transport = (
|
||||
AsyncTransport(client=client)
|
||||
if no_cache
|
||||
else AsyncTransport(client=client, cache=SqliteCache())
|
||||
)
|
||||
settings = Settings()
|
||||
settings.strict = False
|
||||
settings.xml_huge_tree = True
|
||||
self.zeep_client_authless = ZeepAsyncClient(
|
||||
wsdl=url,
|
||||
transport=self.transport,
|
||||
settings=settings
|
||||
)
|
||||
self.ws_client_authless = self.zeep_client_authless.create_service(binding_name, self.xaddr)
|
||||
|
||||
self.zeep_client = ZeepAsyncClient(
|
||||
wsdl=url,
|
||||
wsse=wsse,
|
||||
transport=self.transport,
|
||||
settings=settings
|
||||
)
|
||||
self.ws_client = self.zeep_client.create_service(binding_name, self.xaddr)
|
||||
|
||||
# Set soap header for authentication
|
||||
self.user = user
|
||||
self.passwd = passwd
|
||||
# Indicate wether password digest is needed
|
||||
self.encrypt = encrypt
|
||||
self.dt_diff = dt_diff
|
||||
|
||||
namespace = binding_name[binding_name.find("{") + 1 : binding_name.find("}")]
|
||||
available_ns = self.zeep_client.namespaces
|
||||
active_ns = (
|
||||
list(available_ns.keys())[list(available_ns.values()).index(namespace)]
|
||||
or "ns0"
|
||||
)
|
||||
self.create_type = lambda x: self.zeep_client.get_element(active_ns + ":" + x)()
|
||||
|
||||
async def close(self):
|
||||
"""Close the transport."""
|
||||
await self.transport.aclose()
|
||||
|
||||
@staticmethod
|
||||
@safe_func
|
||||
def to_dict(zeepobject):
|
||||
"""Convert a WSDL Type instance into a dictionary."""
|
||||
return {} if zeepobject is None else zeep.helpers.serialize_object(zeepobject)
|
||||
|
||||
def __getattr__(self, name):
|
||||
"""
|
||||
Call the real onvif Service operations,
|
||||
See the official wsdl definition for the
|
||||
APIs detail(API name, request parameters,
|
||||
response parameters, parameter types, etc...)
|
||||
"""
|
||||
|
||||
def service_wrapper(func):
|
||||
"""Wrap service call."""
|
||||
|
||||
@safe_func
|
||||
def wrapped(params=None):
|
||||
def call(params=None):
|
||||
# No params
|
||||
if params is None:
|
||||
params = {}
|
||||
else:
|
||||
params = ONVIFService.to_dict(params)
|
||||
try:
|
||||
ret = func(**params)
|
||||
except TypeError:
|
||||
ret = func(params)
|
||||
return ret
|
||||
|
||||
return call(params)
|
||||
|
||||
return wrapped
|
||||
|
||||
builtin = name.startswith("__") and name.endswith("__")
|
||||
if builtin:
|
||||
return self.__dict__[name]
|
||||
if name.startswith("authless_"):
|
||||
return service_wrapper(getattr(self.ws_client_authless, name.split("_")[1]))
|
||||
return service_wrapper(getattr(self.ws_client, name))
|
||||
|
||||
|
||||
class ONVIFCamera:
|
||||
"""
|
||||
Python Implemention ONVIF compliant device
|
||||
This class integrates onvif services
|
||||
|
||||
adjust_time parameter allows authentication on cameras without being time synchronized.
|
||||
Please note that using NTP on both end is the recommended solution,
|
||||
this should only be used in "safe" environments.
|
||||
Also, this cannot be used on AXIS camera, as every request is authenticated, contrary to ONVIF standard
|
||||
|
||||
>>> from onvif import ONVIFCamera
|
||||
>>> mycam = ONVIFCamera('192.168.0.112', 80, 'admin', '12345')
|
||||
>>> mycam.devicemgmt.GetServices(False)
|
||||
>>> media_service = mycam.create_media_service()
|
||||
>>> ptz_service = mycam.create_ptz_service()
|
||||
# Get PTZ Configuration:
|
||||
>>> mycam.ptz.GetConfiguration()
|
||||
# Another way:
|
||||
>>> ptz_service.GetConfiguration()
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
host,
|
||||
port,
|
||||
user,
|
||||
passwd,
|
||||
wsdl_dir=os.path.join(os.path.dirname(os.path.dirname(__file__)), "wsdl"),
|
||||
encrypt=True,
|
||||
no_cache=False,
|
||||
adjust_time=False,
|
||||
):
|
||||
os.environ.pop("http_proxy", None)
|
||||
os.environ.pop("https_proxy", None)
|
||||
self.host = host
|
||||
self.port = int(port)
|
||||
self.user = user
|
||||
self.passwd = passwd
|
||||
self.wsdl_dir = wsdl_dir
|
||||
self.encrypt = encrypt
|
||||
self.no_cache = no_cache
|
||||
self.adjust_time = adjust_time
|
||||
self.dt_diff = None
|
||||
self.xaddrs = {}
|
||||
|
||||
# Active service client container
|
||||
self.services = {}
|
||||
|
||||
self.to_dict = ONVIFService.to_dict
|
||||
|
||||
self._snapshot_uris = {}
|
||||
self._snapshot_client = AsyncClient()
|
||||
|
||||
async def update_xaddrs(self):
|
||||
"""Update xaddrs for services."""
|
||||
self.dt_diff = None
|
||||
devicemgmt = self.create_devicemgmt_service()
|
||||
if self.adjust_time:
|
||||
try:
|
||||
sys_date = await devicemgmt.authless_GetSystemDateAndTime()
|
||||
except zeep.exceptions.Fault:
|
||||
# Looks like we should try with auth
|
||||
sys_date = await devicemgmt.GetSystemDateAndTime()
|
||||
cdate = sys_date.UTCDateTime
|
||||
cam_date = dt.datetime(
|
||||
cdate.Date.Year,
|
||||
cdate.Date.Month,
|
||||
cdate.Date.Day,
|
||||
cdate.Time.Hour,
|
||||
cdate.Time.Minute,
|
||||
cdate.Time.Second,
|
||||
)
|
||||
self.dt_diff = cam_date - dt.datetime.utcnow()
|
||||
await devicemgmt.close()
|
||||
del self.services[devicemgmt.binding_key]
|
||||
devicemgmt = self.create_devicemgmt_service()
|
||||
|
||||
# Get XAddr of services on the device
|
||||
self.xaddrs = {}
|
||||
capabilities = await devicemgmt.GetCapabilities({"Category": "All"})
|
||||
for name in capabilities:
|
||||
capability = capabilities[name]
|
||||
try:
|
||||
if name.lower() in SERVICES and capability is not None:
|
||||
namespace = SERVICES[name.lower()]["ns"]
|
||||
self.xaddrs[namespace] = capability["XAddr"]
|
||||
except Exception:
|
||||
logger.exception("Unexpected service type")
|
||||
|
||||
async def create_pullpoint_subscription(self):
|
||||
"""Create a pullpoint subscription."""
|
||||
try:
|
||||
events = self.create_events_service()
|
||||
pullpoint = await events.CreatePullPointSubscription()
|
||||
# pylint: disable=protected-access
|
||||
self.xaddrs[
|
||||
"http://www.onvif.org/ver10/events/wsdl/PullPointSubscription"
|
||||
] = pullpoint.SubscriptionReference.Address._value_1
|
||||
except Fault:
|
||||
return False
|
||||
return True
|
||||
|
||||
async def close(self):
|
||||
"""Close all transports."""
|
||||
await self._snapshot_client.aclose()
|
||||
for service in self.services.values():
|
||||
await service.close()
|
||||
|
||||
async def get_snapshot_uri(self, profile_token):
|
||||
"""Get the snapshot uri for a given profile."""
|
||||
uri = self._snapshot_uris.get(profile_token)
|
||||
if uri is None:
|
||||
media_service = self.create_media_service()
|
||||
req = media_service.create_type("GetSnapshotUri")
|
||||
req.ProfileToken = profile_token
|
||||
result = await media_service.GetSnapshotUri(req)
|
||||
uri = result.Uri
|
||||
self._snapshot_uris[profile_token] = uri
|
||||
return uri
|
||||
|
||||
async def get_snapshot(self, profile_token, basic_auth=False):
|
||||
"""Get a snapshot image from the camera."""
|
||||
uri = await self.get_snapshot_uri(profile_token)
|
||||
if uri is None:
|
||||
return None
|
||||
|
||||
auth = None
|
||||
if self.user and self.passwd:
|
||||
if basic_auth:
|
||||
auth = BasicAuth(self.user, self.passwd)
|
||||
else:
|
||||
auth = DigestAuth(self.user, self.passwd)
|
||||
|
||||
try:
|
||||
response = await self._snapshot_client.get(uri, auth=auth)
|
||||
except httpx.TimeoutException as error:
|
||||
raise ONVIFTimeoutError(error) from error
|
||||
except httpx.RequestError as error:
|
||||
raise ONVIFError(error) from error
|
||||
|
||||
if response.status_code == 401:
|
||||
raise ONVIFAuthError(f"Failed to authenticate to {uri}")
|
||||
|
||||
if response.status_code < 300:
|
||||
return response.content
|
||||
|
||||
return None
|
||||
|
||||
def get_definition(self, name, port_type=None):
|
||||
"""Returns xaddr and wsdl of specified service"""
|
||||
# Check if the service is supported
|
||||
if name not in SERVICES:
|
||||
raise ONVIFError("Unknown service %s" % name)
|
||||
wsdl_file = SERVICES[name]["wsdl"]
|
||||
namespace = SERVICES[name]["ns"]
|
||||
|
||||
binding_name = "{{{}}}{}".format(namespace, SERVICES[name]["binding"])
|
||||
|
||||
if port_type:
|
||||
namespace += "/" + port_type
|
||||
|
||||
wsdlpath = os.path.join(self.wsdl_dir, wsdl_file)
|
||||
if not os.path.isfile(wsdlpath):
|
||||
raise ONVIFError("No such file: %s" % wsdlpath)
|
||||
|
||||
# XAddr for devicemgmt is fixed:
|
||||
if name == "devicemgmt":
|
||||
xaddr = "{}:{}/onvif/device_service".format(
|
||||
self.host
|
||||
if (self.host.startswith("http://") or self.host.startswith("https://"))
|
||||
else "http://%s" % self.host,
|
||||
self.port,
|
||||
)
|
||||
return xaddr, wsdlpath, binding_name
|
||||
|
||||
# Get other XAddr
|
||||
xaddr = self.xaddrs.get(namespace)
|
||||
if not xaddr:
|
||||
raise ONVIFError("Device doesn`t support service: %s" % name)
|
||||
|
||||
return xaddr, wsdlpath, binding_name
|
||||
|
||||
def create_onvif_service(self, name, port_type=None):
|
||||
"""Create ONVIF service client"""
|
||||
|
||||
name = name.lower()
|
||||
xaddr, wsdl_file, binding_name = self.get_definition(name, port_type)
|
||||
|
||||
# Don't re-create bindings if the xaddr remains the same.
|
||||
# The xaddr can change when a new PullPointSubscription is created.
|
||||
binding_key = f"{binding_name}{xaddr}"
|
||||
binding = self.services.get(binding_key)
|
||||
if binding:
|
||||
return binding
|
||||
|
||||
service = ONVIFService(
|
||||
xaddr,
|
||||
self.user,
|
||||
self.passwd,
|
||||
wsdl_file,
|
||||
self.encrypt,
|
||||
no_cache=self.no_cache,
|
||||
dt_diff=self.dt_diff,
|
||||
binding_name=binding_name,
|
||||
binding_key=binding_key
|
||||
)
|
||||
|
||||
self.services[binding_key] = service
|
||||
|
||||
return service
|
||||
|
||||
def create_devicemgmt_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("devicemgmt")
|
||||
|
||||
def create_media_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("media")
|
||||
|
||||
def create_ptz_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("ptz")
|
||||
|
||||
def create_imaging_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("imaging")
|
||||
|
||||
def create_deviceio_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("deviceio")
|
||||
|
||||
def create_events_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("events")
|
||||
|
||||
def create_analytics_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("analytics")
|
||||
|
||||
def create_recording_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("recording")
|
||||
|
||||
def create_search_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("search")
|
||||
|
||||
def create_replay_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("replay")
|
||||
|
||||
def create_pullpoint_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("pullpoint", port_type="PullPointSubscription")
|
||||
|
||||
def create_notification_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("notification")
|
||||
|
||||
def create_subscription_service(self, port_type=None):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("subscription", port_type=port_type)
|
||||
|
||||
def create_receiver_service(self):
|
||||
"""Service creation helper."""
|
||||
return self.create_onvif_service("receiver")
|
74
deps/lib/python3.10/site-packages/onvif/definition.py
vendored
Normal file
74
deps/lib/python3.10/site-packages/onvif/definition.py
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
"""ONVIF Service Definitions"""
|
||||
|
||||
SERVICES = {
|
||||
"devicemgmt": {
|
||||
"ns": "http://www.onvif.org/ver10/device/wsdl",
|
||||
"wsdl": "devicemgmt.wsdl",
|
||||
"binding": "DeviceBinding",
|
||||
},
|
||||
"media": {
|
||||
"ns": "http://www.onvif.org/ver10/media/wsdl",
|
||||
"wsdl": "media.wsdl",
|
||||
"binding": "MediaBinding",
|
||||
},
|
||||
"ptz": {
|
||||
"ns": "http://www.onvif.org/ver20/ptz/wsdl",
|
||||
"wsdl": "ptz.wsdl",
|
||||
"binding": "PTZBinding",
|
||||
},
|
||||
"imaging": {
|
||||
"ns": "http://www.onvif.org/ver20/imaging/wsdl",
|
||||
"wsdl": "imaging.wsdl",
|
||||
"binding": "ImagingBinding",
|
||||
},
|
||||
"deviceio": {
|
||||
"ns": "http://www.onvif.org/ver10/deviceIO/wsdl",
|
||||
"wsdl": "deviceio.wsdl",
|
||||
"binding": "DeviceIOBinding",
|
||||
},
|
||||
"events": {
|
||||
"ns": "http://www.onvif.org/ver10/events/wsdl",
|
||||
"wsdl": "events.wsdl",
|
||||
"binding": "EventBinding",
|
||||
},
|
||||
"pullpoint": {
|
||||
"ns": "http://www.onvif.org/ver10/events/wsdl",
|
||||
"wsdl": "events.wsdl",
|
||||
"binding": "PullPointSubscriptionBinding",
|
||||
},
|
||||
"notification": {
|
||||
"ns": "http://www.onvif.org/ver10/events/wsdl",
|
||||
"wsdl": "events.wsdl",
|
||||
"binding": "NotificationProducerBinding",
|
||||
},
|
||||
"subscription": {
|
||||
"ns": "http://www.onvif.org/ver10/events/wsdl",
|
||||
"wsdl": "events.wsdl",
|
||||
"binding": "SubscriptionManagerBinding",
|
||||
},
|
||||
"analytics": {
|
||||
"ns": "http://www.onvif.org/ver20/analytics/wsdl",
|
||||
"wsdl": "analytics.wsdl",
|
||||
"binding": "AnalyticsEngineBinding",
|
||||
},
|
||||
"recording": {
|
||||
"ns": "http://www.onvif.org/ver10/recording/wsdl",
|
||||
"wsdl": "recording.wsdl",
|
||||
"binding": "RecordingBinding",
|
||||
},
|
||||
"search": {
|
||||
"ns": "http://www.onvif.org/ver10/search/wsdl",
|
||||
"wsdl": "search.wsdl",
|
||||
"binding": "SearchBinding",
|
||||
},
|
||||
"replay": {
|
||||
"ns": "http://www.onvif.org/ver10/replay/wsdl",
|
||||
"wsdl": "replay.wsdl",
|
||||
"binding": "ReplayBinding",
|
||||
},
|
||||
"receiver": {
|
||||
"ns": "http://www.onvif.org/ver10/receiver/wsdl",
|
||||
"wsdl": "receiver.wsdl",
|
||||
"binding": "ReceiverBinding",
|
||||
},
|
||||
}
|
38
deps/lib/python3.10/site-packages/onvif/exceptions.py
vendored
Normal file
38
deps/lib/python3.10/site-packages/onvif/exceptions.py
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
""" Core exceptions raised by the ONVIF Client """
|
||||
|
||||
# Error codes setting
|
||||
# Error unknown, e.g, HTTP errors
|
||||
ERR_ONVIF_UNKNOWN = 1
|
||||
# Protocol error returned by WebService,
|
||||
# e.g:DataEncodingUnknown, MissingAttr, InvalidArgs, ...
|
||||
ERR_ONVIF_PROTOCOL = 2
|
||||
# Error about WSDL instance
|
||||
ERR_ONVIF_WSDL = 3
|
||||
# Error about Build
|
||||
ERR_ONVIF_BUILD = 4
|
||||
|
||||
|
||||
class ONVIFError(Exception):
|
||||
"""ONVIF Exception class."""
|
||||
|
||||
def __init__(self, err):
|
||||
self.reason = "Unknown error: " + str(err)
|
||||
self.code = ERR_ONVIF_UNKNOWN
|
||||
super().__init__(err)
|
||||
|
||||
def __str__(self):
|
||||
return self.reason
|
||||
|
||||
|
||||
class ONVIFTimeoutError(ONVIFError):
|
||||
"""ONVIF Timeout Exception class."""
|
||||
|
||||
def __init__(self, err):
|
||||
super().__init__(err)
|
||||
|
||||
|
||||
class ONVIFAuthError(ONVIFError):
|
||||
"""ONVIF Authentication Exception class."""
|
||||
|
||||
def __init__(self, err):
|
||||
super().__init__(err)
|
1
deps/lib/python3.10/site-packages/onvif/version.txt
vendored
Normal file
1
deps/lib/python3.10/site-packages/onvif/version.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
1.2.0
|
1
deps/lib/python3.10/site-packages/onvif/wsdl/__init__.py
vendored
Normal file
1
deps/lib/python3.10/site-packages/onvif/wsdl/__init__.py
vendored
Normal file
@ -0,0 +1 @@
|
||||
"""Dummy for packaging"""
|
BIN
deps/lib/python3.10/site-packages/onvif/wsdl/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
BIN
deps/lib/python3.10/site-packages/onvif/wsdl/__pycache__/__init__.cpython-310.pyc
vendored
Normal file
Binary file not shown.
751
deps/lib/python3.10/site-packages/onvif/wsdl/accesscontrol.wsdl
vendored
Normal file
751
deps/lib/python3.10/site-packages/onvif/wsdl/accesscontrol.wsdl
vendored
Normal file
@ -0,0 +1,751 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../../ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2010-2013 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this
|
||||
document so long as this copyright notice, license and disclaimer are
|
||||
retained with all copies of the document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND
|
||||
THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE;
|
||||
THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE;
|
||||
OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS,
|
||||
COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
|
||||
DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS
|
||||
DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES
|
||||
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES
|
||||
WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR
|
||||
DISTRIBUTION OF THIS DOCUMENT.
|
||||
THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO,
|
||||
INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS
|
||||
AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN
|
||||
CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions name="PACSService" targetNamespace="http://www.onvif.org/ver10/accesscontrol/wsdl"
|
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:tac="http://www.onvif.org/ver10/accesscontrol/wsdl"
|
||||
>
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/accesscontrol/wsdl"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:pt="http://www.onvif.org/ver10/pacs"
|
||||
xmlns:tac="http://www.onvif.org/ver10/accesscontrol/wsdl"
|
||||
elementFormDefault="qualified"
|
||||
version="1.0">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/pacs" schemaLocation="types.xsd"/>
|
||||
<!--====== types ======-->
|
||||
<xs:complexType name="ServiceCapabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The service capabilities reflect optional functionality of a service.
|
||||
The information is static and does not change during device operation.
|
||||
The following capabilities are available:
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="MaxLimit" type="xs:unsignedInt" use="required"><xs:annotation>
|
||||
<xs:documentation>The maximum number of entries returned by a single GetList request. The device shall never return more than this number of entities in a single response.</xs:documentation>
|
||||
</xs:annotation></xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="AccessPointInfoBase">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Used as extension base for AccessPointInfo.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="pt:DataEntity">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="pt:Name"><xs:annotation>
|
||||
<xs:documentation>A user readable name. It shall be up to 64 characters.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="Description" type="pt:Description" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Optional user readable description for the AccessPoint. It shall be up to 1024 characters.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="AreaFrom" type="pt:ReferenceToken" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Optional reference to the Area from which access is requested.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="AreaTo" type="pt:ReferenceToken" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Optional reference to the Area to which access is requested.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="EntityType" type="xs:QName" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Optional entity type; if missing, a Door type as defined by the ONVIF DoorControl service should be assumed. This can also be represented by the QName value "tdc:Door" - where tdc is the namespace of the Door Control service: "http://www.onvif.org/ver10/doorcontrol/wsdl". This field is provided for future extensions; it will allow an AccessPoint being extended to cover entity types other than Doors as well.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="Entity" type="pt:ReferenceToken"><xs:annotation>
|
||||
<xs:documentation>Reference to the entity used to control access; the entity type may be specified by the optional EntityType field explained below but is typically a Door.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="AccessPointInfo">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The AccessPointInfo structure contains basic information about an AccessPoint instance.
|
||||
An AccessPoint defines an entity a Credential can be granted or denied access to. The
|
||||
AccessPointInfo provides basic information on how access is controlled in one direction for a
|
||||
door (from which area to which area).
|
||||
</p><p>
|
||||
door is the typical device involved, but other type of
|
||||
devices may be supported as well.
|
||||
Multiple AccessPoints may cover the same Door.
|
||||
A typical case is one AccessPoint for entry and another for exit, both referencing
|
||||
the same Door.
|
||||
</p><p>
|
||||
|
||||
An ONVIF compliant device shall provide the following fields for each AccessPoint instance:
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="tac:AccessPointInfoBase">
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="tac:AccessPointCapabilities"><xs:annotation>
|
||||
<xs:documentation>The capabilities for the AccessPoint.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="AccessPointCapabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The AccessPoint capabilities reflect optional functionality of a particular physical entity.
|
||||
Different AccessPoint instances may have different set of capabilities. This information may
|
||||
change during device operation, e.g. if hardware settings are changed.
|
||||
The following capabilities are available:</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="DisableAccessPoint" type="xs:boolean" use="required"><xs:annotation>
|
||||
<xs:documentation>Indicates whether or not this AccessPoint instance supports EnableAccessPoint and DisableAccessPoint commands.</xs:documentation>
|
||||
</xs:annotation></xs:attribute>
|
||||
<xs:attribute name="Duress" type="xs:boolean"><xs:annotation>
|
||||
<xs:documentation>Indicates whether or not this AccessPoint instance supports generation of duress events.</xs:documentation>
|
||||
</xs:annotation></xs:attribute>
|
||||
<xs:attribute name="AnonymousAccess" type="xs:boolean"><xs:annotation>
|
||||
<xs:documentation>Indicates whether or not this AccessPoint has a REX switch or other input that allows anonymous access.</xs:documentation>
|
||||
</xs:annotation></xs:attribute>
|
||||
<xs:attribute name="AccessTaken" type="xs:boolean"><xs:annotation>
|
||||
<xs:documentation>Indicates whether or not this AccessPoint instance supports generation of AccessTaken and AccessNotTaken events. If AnonymousAccess and AccessTaken are both true, it indicates that the Anonymous versions of AccessTaken and AccessNotTaken are supported.</xs:documentation>
|
||||
</xs:annotation></xs:attribute>
|
||||
<xs:attribute name="ExternalAuthorization" type="xs:boolean"><xs:annotation>
|
||||
<xs:documentation>Indicates whether or not this AccessPoint instance supports the ExternalAuthorization operation and the generation of Request events. If AnonymousAccess and ExternalAuthorization are both true, it indicates that the Anonymous version is supported as well.</xs:documentation>
|
||||
</xs:annotation></xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="AreaInfoBase">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Basic information about an Area. Used as extension base.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="pt:DataEntity">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="pt:Name"><xs:annotation>
|
||||
<xs:documentation>User readable name. It shall be up to 64 characters.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="Description" type="pt:Description" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>User readable description for the Area. It shall be up to 1024 characters.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="AreaInfo">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The AreaInfo structure contains basic information about an Area.
|
||||
An ONVIF compliant device shall provide the following fields for each Area:
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="tac:AreaInfoBase">
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="AccessPointState">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The AccessPointState contains state information for an AccessPoint.
|
||||
An ONVIF compliant device shall provide the following fields for each AccessPoint instance:
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="Enabled" type="xs:boolean"><xs:annotation>
|
||||
<xs:documentation>Indicates that the AccessPoint is enabled. By default this field value shall be True, if the DisableAccessPoint capabilities is not supported.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<!--===============================-->
|
||||
<xs:simpleType name="Decision">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The Decision enumeration represents a choice of two available options for an access request:
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Granted">
|
||||
<xs:annotation><xs:documentation>The decision is to grant access.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Denied">
|
||||
<xs:annotation><xs:documentation>The decision is to deny access.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--===============================-->
|
||||
<xs:simpleType name="DenyReason">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Non-normative enum that describes the various reasons for denying access.
|
||||
The following strings shall be used for the reason field:
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CredentialNotEnabled">
|
||||
<xs:annotation><xs:documentation>The device shall provide the following event, whenever a valid credential is not enabled or has been disabled (e.g., due to credential being lost etc.) to prevent unauthorized entry.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="CredentialNotActive">
|
||||
<xs:annotation><xs:documentation>The device shall provide the following event, whenever a valid credential is presented though it is not active yet;: e.g, the credential was presented before the start date.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="CredentialExpired">
|
||||
<xs:annotation><xs:documentation>The device shall provide the following event, whenever a valid credential was presented after its expiry date.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="InvalidPIN">
|
||||
<xs:annotation><xs:documentation>The device shall provide the following event, whenever an entered PIN code does not match the credential.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="NotPermittedAtThisTime">
|
||||
<xs:annotation><xs:documentation>The device shall provide the following event, whenever a valid credential is denied access to the requested AccessPoint because the credential is not permitted at the moment.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Unauthorized">
|
||||
<xs:annotation><xs:documentation>The device shall provide the following event, whenever the presented credential is not authorized.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Other">
|
||||
<xs:annotation><xs:documentation>The device shall provide the following event, whenever the request is denied and no other specific event matches it or is supported by the service.</xs:documentation></xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--===============================-->
|
||||
<!-- Message Request / Response elements -->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="tac:ServiceCapabilities"><xs:annotation>
|
||||
<xs:documentation>The capability response message contains the requested Access Control service capabilities using a hierarchical XML capability structure.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAccessPointInfoList">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Limit" type="xs:int" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="StartReference" type="xs:string" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAccessPointInfoListResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="NextStartReference" type="xs:string" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>StartReference to use in next call to get the following items. If absent, no more items to get.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="AccessPointInfo" type="tac:AccessPointInfo" minOccurs="0" maxOccurs="unbounded"><xs:annotation>
|
||||
<xs:documentation>List of AccessPointInfo items.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAccessPointInfo">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Token" type="pt:ReferenceToken" maxOccurs="unbounded"><xs:annotation>
|
||||
<xs:documentation>Tokens of AccessPointInfo items to get.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAccessPointInfoResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AccessPointInfo" type="tac:AccessPointInfo" minOccurs="0" maxOccurs="unbounded"><xs:annotation>
|
||||
<xs:documentation>List of AccessPointInfo items.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAreaInfoList">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Limit" type="xs:int" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="StartReference" type="xs:string" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAreaInfoListResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="NextStartReference" type="xs:string" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>StartReference to use in next call to get the following items. If absent, no more items to get.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="AreaInfo" type="tac:AreaInfo" minOccurs="0" maxOccurs="unbounded"><xs:annotation>
|
||||
<xs:documentation>List of AreaInfo items.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAreaInfo">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Token" type="pt:ReferenceToken" maxOccurs="unbounded"><xs:annotation>
|
||||
<xs:documentation>Tokens of AreaInfo items to get.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAreaInfoResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AreaInfo" type="tac:AreaInfo" minOccurs="0" maxOccurs="unbounded"><xs:annotation>
|
||||
<xs:documentation>List of AreaInfo items.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAccessPointState">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Token" type="pt:ReferenceToken"><xs:annotation>
|
||||
<xs:documentation>Token of AccessPoint instance to get AccessPointState for.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAccessPointStateResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AccessPointState" type="tac:AccessPointState"><xs:annotation>
|
||||
<xs:documentation>AccessPointState item.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="EnableAccessPoint">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Token" type="pt:ReferenceToken"><xs:annotation>
|
||||
<xs:documentation>Token of the AccessPoint instance to enable.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="EnableAccessPointResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="DisableAccessPoint">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Token" type="pt:ReferenceToken"><xs:annotation>
|
||||
<xs:documentation>Token of the AccessPoint instance to disable.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="DisableAccessPointResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="ExternalAuthorization">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AccessPointToken" type="pt:ReferenceToken"><xs:annotation>
|
||||
<xs:documentation>Token of the Access Point instance.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="CredentialToken" type="pt:ReferenceToken" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Optional token of the Credential involved.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="Reason" type="xs:string" minOccurs="0"><xs:annotation>
|
||||
<xs:documentation>Optional reason for decision.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
<xs:element name="Decision" type="tac:Decision"><xs:annotation>
|
||||
<xs:documentation>Decision - Granted or Denied.</xs:documentation>
|
||||
</xs:annotation></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="ExternalAuthorizationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="tac:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="tac:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="GetAccessPointInfoListRequest">
|
||||
<wsdl:part name="parameters" element="tac:GetAccessPointInfoList"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAccessPointInfoListResponse">
|
||||
<wsdl:part name="parameters" element="tac:GetAccessPointInfoListResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="GetAccessPointInfoRequest">
|
||||
<wsdl:part name="parameters" element="tac:GetAccessPointInfo"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAccessPointInfoResponse">
|
||||
<wsdl:part name="parameters" element="tac:GetAccessPointInfoResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="GetAreaInfoListRequest">
|
||||
<wsdl:part name="parameters" element="tac:GetAreaInfoList"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAreaInfoListResponse">
|
||||
<wsdl:part name="parameters" element="tac:GetAreaInfoListResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="GetAreaInfoRequest">
|
||||
<wsdl:part name="parameters" element="tac:GetAreaInfo"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAreaInfoResponse">
|
||||
<wsdl:part name="parameters" element="tac:GetAreaInfoResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="GetAccessPointStateRequest">
|
||||
<wsdl:part name="parameters" element="tac:GetAccessPointState"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAccessPointStateResponse">
|
||||
<wsdl:part name="parameters" element="tac:GetAccessPointStateResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="EnableAccessPointRequest">
|
||||
<wsdl:part name="parameters" element="tac:EnableAccessPoint"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="EnableAccessPointResponse">
|
||||
<wsdl:part name="parameters" element="tac:EnableAccessPointResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="DisableAccessPointRequest">
|
||||
<wsdl:part name="parameters" element="tac:DisableAccessPoint"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DisableAccessPointResponse">
|
||||
<wsdl:part name="parameters" element="tac:DisableAccessPointResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<wsdl:message name="ExternalAuthorizationRequest">
|
||||
<wsdl:part name="parameters" element="tac:ExternalAuthorization"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ExternalAuthorizationResponse">
|
||||
<wsdl:part name="parameters" element="tac:ExternalAuthorizationResponse"/>
|
||||
</wsdl:message>
|
||||
<!--===============================-->
|
||||
<!--====== Faults messages ========-->
|
||||
<wsdl:portType name="PACSPort">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>
|
||||
This operation returns the capabilities of the Access Control service.
|
||||
</p><p>
|
||||
An ONVIF compliant device which provides the Access Control service shall
|
||||
implement this method.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="tac:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAccessPointInfoList">
|
||||
<wsdl:documentation>
|
||||
This operation requests a list of all AccessPointInfo items provided by the device.
|
||||
An ONVIF compliant device which provides the Access Control service shall implement this method.
|
||||
</p><p>
|
||||
A call to this method shall return a StartReference when not all data is returned and more
|
||||
data is available. The reference shall be valid for retrieving the next set of data.
|
||||
Please refer section [Retrieving system configuration] for more details.
|
||||
</p><p>
|
||||
The number of items returned shall not be greater than Limit parameter.
|
||||
</p><p>
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:GetAccessPointInfoListRequest"/>
|
||||
<wsdl:output message="tac:GetAccessPointInfoListResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAccessPointInfo">
|
||||
<wsdl:documentation>
|
||||
This operation requests a list of AccessPointInfo items matching the given tokens.
|
||||
</p><p>
|
||||
An ONVIF compliant device which provides Access Control service shall implement this method.
|
||||
</p><p>
|
||||
The device shall ignore tokens it cannot resolve and shall return an empty list if there
|
||||
are no items matching specified tokens. The device shall not return a fault in this case.
|
||||
</p><p>
|
||||
If the number of requested items is greater than MaxLimit, a TooManyItems
|
||||
fault shall be returned.
|
||||
</p><p>
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:GetAccessPointInfoRequest"/>
|
||||
<wsdl:output message="tac:GetAccessPointInfoResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAreaInfoList">
|
||||
<wsdl:documentation>
|
||||
This operation requests a list of all AreaInfo items provided by the device.
|
||||
An ONVIF compliant device which provides the Access Control service shall implement this method.
|
||||
</p><p>
|
||||
A call to this method shall return a StartReference when not all data is returned and more
|
||||
data is available. The reference shall be valid for retrieving the next set of data.
|
||||
Please refer section [Retrieving system configuration] for more details.
|
||||
</p><p>
|
||||
The number of items returned shall not be greater than Limit parameter.
|
||||
</p><p>
|
||||
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:GetAreaInfoListRequest"/>
|
||||
<wsdl:output message="tac:GetAreaInfoListResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAreaInfo">
|
||||
<wsdl:documentation>
|
||||
This operation requests a list of AreaInfo items matching the given tokens.
|
||||
</p><p>
|
||||
An ONVIF compliant device which provides Access Control service shall implement this method.
|
||||
</p><p>
|
||||
The device shall ignore tokens it cannot resolve and shall return an empty list if there
|
||||
are no items matching specified tokens. The device shall not return a fault in this case.
|
||||
</p><p>
|
||||
If the number of requested items is greater than MaxLimit, a TooManyItems
|
||||
fault shall be returned.
|
||||
</p><p>
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:GetAreaInfoRequest"/>
|
||||
<wsdl:output message="tac:GetAreaInfoResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAccessPointState">
|
||||
<wsdl:documentation>
|
||||
This operation requests the AccessPointState for the AccessPoint instance specified by Token.
|
||||
</p><p>
|
||||
An ONVIF compliant device that provides Access Control service shall implement this method.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:GetAccessPointStateRequest"/>
|
||||
<wsdl:output message="tac:GetAccessPointStateResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="EnableAccessPoint">
|
||||
<wsdl:documentation>
|
||||
This operation allows enabling an access point.
|
||||
</p><p>
|
||||
A device that signals support for DisableAccessPoint capability for a particular AccessPoint
|
||||
instance shall implement this command.
|
||||
</p><p>
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:EnableAccessPointRequest"/>
|
||||
<wsdl:output message="tac:EnableAccessPointResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DisableAccessPoint">
|
||||
<wsdl:documentation>
|
||||
This operation allows disabling an access point.
|
||||
</p><p>
|
||||
A device that signals support for DisableAccessPoint capability for a particular AccessPoint
|
||||
instance shall implement this command.
|
||||
</p><p>
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:DisableAccessPointRequest"/>
|
||||
<wsdl:output message="tac:DisableAccessPointResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExternalAuthorization">
|
||||
<wsdl:documentation>
|
||||
This operation allows to Deny or Grant decision at an AccessPoint instance.
|
||||
</p><p>
|
||||
A device that signals support for ExternalAuthorization capability for a particular
|
||||
AccessPoint instance shall implement this method.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tac:ExternalAuthorizationRequest"/>
|
||||
<wsdl:output message="tac:ExternalAuthorizationResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<!--===============================-->
|
||||
<wsdl:binding name="PACSBinding" type="tac:PACSPort">
|
||||
<wsdl:documentation>
|
||||
Copyright (c) 2010-2013 by ONVIF: Open Network Video Interface Forum. All rights reserved.<br/>
|
||||
This is the initial minimized version of the Access Control service
|
||||
aimed at the first PACS Profile C. <br/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The AccessControl service implements the Authentication and
|
||||
Authorization functionality and controls the actions to get
|
||||
access to various Access Points controlling access to Doors and Areas. <br/>
|
||||
|
||||
|
||||
The basic data structures used by the service are:
|
||||
|
||||
* CredentialInfo holding basic information of a credential.<br/>
|
||||
* AccessPointInfo holding basic information on how access is controlled in
|
||||
one direction for a door (from which area to which area) defined in the DoorControl service.<br/>
|
||||
|
||||
|
||||
|
||||
</wsdl:documentation>
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetAccessPointInfoList">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/GetAccessPointInfoList"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetAccessPointInfo">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/GetAccessPointInfo"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetAreaInfoList">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/GetAreaInfoList"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetAreaInfo">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/GetAreaInfo"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetAccessPointState">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/GetAccessPointState"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="EnableAccessPoint">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/EnableAccessPoint"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="DisableAccessPoint">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/DisableAccessPoint"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="ExternalAuthorization">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/accesscontrol/wsdl/ExternalAuthorization"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="PACSService">
|
||||
<wsdl:port name="PACSPort" binding="tac:PACSBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/PACS"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
1270
deps/lib/python3.10/site-packages/onvif/wsdl/actionengine.wsdl
vendored
Normal file
1270
deps/lib/python3.10/site-packages/onvif/wsdl/actionengine.wsdl
vendored
Normal file
File diff suppressed because it is too large
Load Diff
149
deps/lib/python3.10/site-packages/onvif/wsdl/addressing
vendored
Normal file
149
deps/lib/python3.10/site-packages/onvif/wsdl/addressing
vendored
Normal file
@ -0,0 +1,149 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Copyright © 2002-2004 BEA Systems Inc., International Business Machines Corporation,
|
||||
Microsoft Corporation, Inc, SAP AG, and Sun Microsystems, Inc.. All rights reserved.
|
||||
|
||||
Permission to copy, display, perform, modify and distribute the WS-Addressing Specification,
|
||||
and to authorize others to do the foregoing, in any medium without fee or royalty is hereby
|
||||
granted for the purpose of developing and evaluating the WS-Addressing Specification.
|
||||
|
||||
BEA, IBM, Microsoft, SAP AG, and Sun Microsystems (collectively, the "Authors") each agree
|
||||
to grant a license to third parties, under royalty-free and otherwise reasonable,
|
||||
non-discriminatory terms and conditions, to their respective essential patent claims that
|
||||
they deem necessary to implement the WS-Addressing Specification.
|
||||
|
||||
DISCLAIMERS:
|
||||
|
||||
THE WS-Addressing Specification IS PROVIDED "AS IS", AND THE AUTHORS MAKE NO REPRESENTATIONS
|
||||
OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE
|
||||
CONTENTS OF THE WS-Addressing Specification IS SUITABLE FOR ANY PURPOSE; NOR THAT THE
|
||||
IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
|
||||
TRADEMARKS OR OTHER RIGHTS.
|
||||
|
||||
THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
|
||||
DAMAGES ARISING OUT OF ANY USE OF THE WS-Addressing Specification OR THE PERFORMANCE OR
|
||||
IMPLEMENTATION OF THE CONTENTS THEREOF.
|
||||
|
||||
You may remove these disclaimers from your modified versions of the WS-Addressing
|
||||
Specification provided that you effectively disclaim all warranties and liabilities on behalf
|
||||
of all copyright holders in the copies of any such modified versions you distribute.
|
||||
|
||||
The name and trademarks of the Authors may NOT be used in any manner, including advertising
|
||||
or publicity pertaining to the WS-Addressing Specification or its contents without specific,
|
||||
written prior permission. Title to copyright in the WS-Addressing Specification will at all
|
||||
times remain with the Authors.
|
||||
|
||||
No other rights are granted by implication, estoppel or otherwise.
|
||||
|
||||
-->
|
||||
<xs:schema targetNamespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" elementFormDefault="qualified" blockDefault="#all">
|
||||
<!-- //////////////////// WS-Addressing //////////////////// -->
|
||||
<!-- Endpoint reference -->
|
||||
<xs:element name="EndpointReference" type="wsa:EndpointReferenceType"/>
|
||||
<xs:complexType name="EndpointReferenceType">
|
||||
<xs:sequence>
|
||||
<xs:element name="Address" type="wsa:AttributedURI"/>
|
||||
<xs:element name="ReferenceProperties" type="wsa:ReferencePropertiesType" minOccurs="0"/>
|
||||
<xs:element name="ReferenceParameters" type="wsa:ReferenceParametersType" minOccurs="0"/>
|
||||
<xs:element name="PortType" type="wsa:AttributedQName" minOccurs="0"/>
|
||||
<xs:element name="ServiceName" type="wsa:ServiceNameType" minOccurs="0"/>
|
||||
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If "Policy" elements from namespace "http://schemas.xmlsoap.org/ws/2002/12/policy#policy" are used, they must appear first (before any extensibility elements).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:any>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferencePropertiesType">
|
||||
<xs:sequence>
|
||||
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferenceParametersType">
|
||||
<xs:sequence>
|
||||
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ServiceNameType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:QName">
|
||||
<xs:attribute name="PortName" type="xs:NCName"/>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<!-- Message information header blocks -->
|
||||
<xs:element name="MessageID" type="wsa:AttributedURI"/>
|
||||
<xs:element name="RelatesTo" type="wsa:Relationship"/>
|
||||
<xs:element name="To" type="wsa:AttributedURI"/>
|
||||
<xs:element name="Action" type="wsa:AttributedURI"/>
|
||||
<xs:element name="From" type="wsa:EndpointReferenceType"/>
|
||||
<xs:element name="ReplyTo" type="wsa:EndpointReferenceType"/>
|
||||
<xs:element name="FaultTo" type="wsa:EndpointReferenceType"/>
|
||||
<xs:complexType name="Relationship">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:anyURI">
|
||||
<xs:attribute name="RelationshipType" type="xs:QName" use="optional"/>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RelationshipTypeValues">
|
||||
<xs:restriction base="xs:QName">
|
||||
<xs:enumeration value="wsa:Reply"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--
|
||||
June 19, 2007: The ReplyAfter element is deprecated. The name of this element does not match the
|
||||
name (RetryAfter) used in the specification (http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/).
|
||||
-->
|
||||
<xs:element name="ReplyAfter" type="wsa:ReplyAfterType"/>
|
||||
<xs:complexType name="ReplyAfterType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:nonNegativeInteger">
|
||||
<xs:anyAttribute namespace="##other"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<!--
|
||||
June 19, 2007: The RetryAfter element has been added to be consistent with the specification
|
||||
(http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/).
|
||||
-->
|
||||
<xs:element name="RetryAfter" type="wsa:RetryAfterType"/>
|
||||
<xs:complexType name="RetryAfterType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:nonNegativeInteger">
|
||||
<xs:anyAttribute namespace="##other"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="FaultSubcodeValues">
|
||||
<xs:restriction base="xs:QName">
|
||||
<xs:enumeration value="wsa:InvalidMessageInformationHeader"/>
|
||||
<xs:enumeration value="wsa:MessageInformationHeaderRequired"/>
|
||||
<xs:enumeration value="wsa:DestinationUnreachable"/>
|
||||
<xs:enumeration value="wsa:ActionNotSupported"/>
|
||||
<xs:enumeration value="wsa:EndpointUnavailable"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:attribute name="Action" type="xs:anyURI"/>
|
||||
<!-- Common declarations and definitions -->
|
||||
<xs:complexType name="AttributedQName">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:QName">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AttributedURI">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:anyURI">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
1628
deps/lib/python3.10/site-packages/onvif/wsdl/advancedsecurity.wsdl
vendored
Normal file
1628
deps/lib/python3.10/site-packages/onvif/wsdl/advancedsecurity.wsdl
vendored
Normal file
File diff suppressed because it is too large
Load Diff
528
deps/lib/python3.10/site-packages/onvif/wsdl/analytics.wsdl
vendored
Normal file
528
deps/lib/python3.10/site-packages/onvif/wsdl/analytics.wsdl
vendored
Normal file
@ -0,0 +1,528 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../../../ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2012 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" targetNamespace="http://www.onvif.org/ver20/analytics/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver20/analytics/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema" elementFormDefault="qualified" version="2.2">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!-- Message Request/Responses elements -->
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="tan:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the analytics service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="RuleSupport" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication that the device supports the rules interface and the rules syntax.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AnalyticsModuleSupport" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication that the device supports the scene analytics module interface.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CellBasedSceneDescriptionSupported" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication that the device produces the cell based scene description</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Capabilities" type="tan:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetSupportedRules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
References an existing Video Analytics configuration. The list of available tokens can be obtained
|
||||
via the Media service GetVideoAnalyticsConfigurations method.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetSupportedRulesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SupportedRules" type="tt:SupportedRules"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="CreateRules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Rule" type="tt:Config" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateRulesResponse">
|
||||
<xs:complexType/>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="DeleteRules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RuleName" type="xs:string" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>References the specific rule to be deleted (e.g. "MyLineDetector"). </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteRulesResponse">
|
||||
<xs:complexType/>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="ModifyRules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Rule" type="tt:Config" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ModifyRulesResponse">
|
||||
<xs:complexType/>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetRules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRulesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Rule" type="tt:Config" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetSupportedAnalyticsModules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetSupportedAnalyticsModulesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SupportedAnalyticsModules" type="tt:SupportedAnalyticsModules"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="CreateAnalyticsModules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="AnalyticsModule" type="tt:Config" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateAnalyticsModulesResponse">
|
||||
<xs:complexType/>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="DeleteAnalyticsModules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing Video Analytics configuration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="AnalyticsModuleName" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Name of the AnalyticsModule to be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteAnalyticsModulesResponse">
|
||||
<xs:complexType/>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="ModifyAnalyticsModules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="AnalyticsModule" type="tt:Config" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ModifyAnalyticsModulesResponse">
|
||||
<xs:complexType/>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetAnalyticsModules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to an existing VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsModulesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AnalyticsModule" type="tt:Config" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="tan:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="tan:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetSupportedRulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:GetSupportedRules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetSupportedRulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:GetSupportedRulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateRulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:CreateRules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateRulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:CreateRulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteRulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:DeleteRules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteRulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:DeleteRulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:GetRules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:GetRulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetSupportedAnalyticsModulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:GetSupportedAnalyticsModulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetSupportedAnalyticsModulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:GetSupportedAnalyticsModules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateAnalyticsModulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:CreateAnalyticsModules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateAnalyticsModulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:CreateAnalyticsModulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteAnalyticsModulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:DeleteAnalyticsModules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteAnalyticsModulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:DeleteAnalyticsModulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsModulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:GetAnalyticsModules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsModulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:GetAnalyticsModulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ModifyRulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:ModifyRules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ModifyRulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:ModifyRulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ModifyAnalyticsModulesRequest">
|
||||
<wsdl:part name="parameters" element="tan:ModifyAnalyticsModules"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ModifyAnalyticsModulesResponse">
|
||||
<wsdl:part name="parameters" element="tan:ModifyAnalyticsModulesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="RuleEnginePort">
|
||||
<wsdl:operation name="GetSupportedRules">
|
||||
<wsdl:documentation>
|
||||
List all rules that are supported by the given VideoAnalyticsConfiguration.
|
||||
The result of this method may depend on the overall Video analytics configuration of the device,
|
||||
which is available via the current set of profiles.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:GetSupportedRulesRequest"/>
|
||||
<wsdl:output message="tan:GetSupportedRulesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateRules">
|
||||
<wsdl:documentation>
|
||||
Add one or more rules to an existing VideoAnalyticsConfiguration.
|
||||
The available supported types can be retrieved via <a href="#op.GetSupportedRules">GetSupportedRules</a>,
|
||||
where the Name of the supported rule correspond to the type of an rule instance.<br/>
|
||||
Pass unique module names which can be later used as reference.
|
||||
The Parameters of the rules must match those of the corresponding description.
|
||||
<br/>
|
||||
Although this method is mandatory a device implementation must not support adding rules.
|
||||
Instead it can provide a fixed set of predefined configurations via the media service function
|
||||
<a href="media.wsdl#op.GetCompatibleVideoAnalyticsConfigurations">GetCompatibleVideoAnalyticsConfigurations</a>.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:CreateRulesRequest"/>
|
||||
<wsdl:output message="tan:CreateRulesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteRules">
|
||||
<wsdl:documentation>
|
||||
Remove one or more rules from a VideoAnalyticsConfiguration.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:DeleteRulesRequest"/>
|
||||
<wsdl:output message="tan:DeleteRulesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRules">
|
||||
<wsdl:documentation>
|
||||
List the currently assigned set of rules of a VideoAnalyticsConfiguration.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:GetRulesRequest"/>
|
||||
<wsdl:output message="tan:GetRulesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ModifyRules">
|
||||
<wsdl:documentation>
|
||||
Modify one or more rules of a VideoAnalyticsConfiguration. The rules are referenced by their names.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:ModifyRulesRequest"/>
|
||||
<wsdl:output message="tan:ModifyRulesResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:portType name="AnalyticsEnginePort">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the analytics service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="tan:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="tan:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetSupportedAnalyticsModules">
|
||||
<wsdl:documentation>
|
||||
List all analytics modules that are supported by the given VideoAnalyticsConfiguration.
|
||||
The result of this method may depend on the overall Video analytics configuration of the device,
|
||||
which is available via the current set of profiles.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:GetSupportedAnalyticsModulesRequest"/>
|
||||
<wsdl:output message="tan:GetSupportedAnalyticsModulesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateAnalyticsModules">
|
||||
<wsdl:documentation>
|
||||
Add one or more analytics modules to an existing VideoAnalyticsConfiguration.
|
||||
The available supported types can be retrieved via <a href="#op.GetSupportedAnalyticsModules">GetSupportedAnalyticsModules</a>,
|
||||
where the Name of the supported AnalyticsModules correspond to the type of an AnalyticsModule instance.<br/>
|
||||
Pass unique module names which can be later used as reference. The Parameters of the analytics module must match those of the corresponding AnalyticsModuleDescription.
|
||||
<br/>
|
||||
Although this method is mandatory a device implementation must not support adding modules.
|
||||
Instead it can provide a fixed set of predefined configurations via the media service function
|
||||
<a href="media.wsdl#op.GetCompatibleVideoAnalyticsConfigurations">GetCompatibleVideoAnalyticsConfigurations</a>.
|
||||
<br/>
|
||||
The device shall ensure that a corresponding analytics engine starts operation when a client
|
||||
subscribes directly or indirectly for events produced by the analytics or rule engine or when a
|
||||
client requests the corresponding scene description stream.
|
||||
An analytics module must be attached to a Video source using the media profiles before it can be used.
|
||||
In case differing analytics configurations are attached to the same profile it is undefined which
|
||||
of the analytics module configuration becomes active if no stream is activated or multiple streams
|
||||
with different profiles are activated at the same time.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:CreateAnalyticsModulesRequest"/>
|
||||
<wsdl:output message="tan:CreateAnalyticsModulesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteAnalyticsModules">
|
||||
<wsdl:documentation>
|
||||
Remove one or more analytics modules from a VideoAnalyticsConfiguration referenced by their names.<br/>
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:DeleteAnalyticsModulesRequest"/>
|
||||
<wsdl:output message="tan:DeleteAnalyticsModulesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsModules">
|
||||
<wsdl:documentation>
|
||||
List the currently assigned set of analytics modules of a VideoAnalyticsConfiguration.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:GetAnalyticsModulesRequest"/>
|
||||
<wsdl:output message="tan:GetAnalyticsModulesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ModifyAnalyticsModules">
|
||||
<wsdl:documentation>
|
||||
Modify the settings of one or more analytics modules of a VideoAnalyticsConfiguration. The modules are referenced by their names.
|
||||
It is allowed to pass only a subset to be modified.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tan:ModifyAnalyticsModulesRequest"/>
|
||||
<wsdl:output message="tan:ModifyAnalyticsModulesResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="RuleEngineBinding" type="tan:RuleEnginePort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetSupportedRules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/GetSupportedRules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateRules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/CreateRules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteRules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/DeleteRules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/GetRules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ModifyRules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/ModifyRules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="AnalyticsEngineBinding" type="tan:AnalyticsEnginePort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetSupportedAnalyticsModules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/GetSupportedAnalyticsModules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateAnalyticsModules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/CreateAnalyticsModules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteAnalyticsModules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/DeleteAnalyticsModules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsModules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/GetAnalyticsModules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ModifyAnalyticsModules">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/analytics/wsdl/ModifyAnalyticsModules"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="AnalyticsService">
|
||||
<wsdl:port name="AnalyticsEnginePort" binding="tan:AnalyticsEngineBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/Analytics"/>
|
||||
</wsdl:port>
|
||||
<wsdl:port name="RuleEnginePort" binding="tan:RuleEnginePort">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/Analytics"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
714
deps/lib/python3.10/site-packages/onvif/wsdl/analyticsdevice.wsdl
vendored
Normal file
714
deps/lib/python3.10/site-packages/onvif/wsdl/analyticsdevice.wsdl
vendored
Normal file
@ -0,0 +1,714 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="http://www.onvif.org/onvif/ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2010 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" targetNamespace="http://www.onvif.org/ver10/analyticsdevice/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="tad:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the analytics device service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Capabilities" type="tad:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="DeleteAnalyticsEngineControl">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the Analytics Engine Control configuration to be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteAnalyticsEngineControlResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateAnalyticsEngineInputs">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineInput" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Settings of the configurations to be created.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ForcePersistence" type="xs:boolean" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateAnalyticsEngineInputsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineInput" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configurations containing token generated.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateAnalyticsEngineControl">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineControl">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Settings of the Analytics Engine Control configuration to be created. Mode shall be set to "idle".</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateAnalyticsEngineControlResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineInput" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration containing token generated.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetAnalyticsEngineControl">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineControl">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Contains the modified Analytics Engine Control configuration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ForcePersistence" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetAnalyticsEngineControlResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineControl">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the requested AnalyticsEngineControl configuration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineControlResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineControl">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration of the AnalyticsEngineControl.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineControls">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineControlsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AnalyticsEngineControls" type="tt:AnalyticsEngineControl" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of available AnalyticsEngineControl configurations.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngine">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the requested AnalyticsEngine configuration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngine">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration of the AnalyticsEngine.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngines">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEnginesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngine" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of available AnalyticsEngine configurations.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetVideoAnalyticsConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:VideoAnalyticsConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Contains the modified video analytics configuration. The configuration shall exist in the device.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ForcePersistence" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetVideoAnalyticsConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetAnalyticsEngineInput">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineInput">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Contains the modified Analytics Engine Input configuration. The configuration shall exist in the device.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ForcePersistence" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetAnalyticsEngineInputResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineInput">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the requested AnalyticsEngineInput configuration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineInputResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineInput">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration of the AnalyticsEngineInput.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineInputs">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsEngineInputsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:AnalyticsEngineInput" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of available AnalyticsEngineInput configurations.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsDeviceStreamUri">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="StreamSetup" type="tt:StreamSetup">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration of the URI requested.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="AnalyticsEngineControlToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the AnalyticsEngineControl whose URI is requested.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsDeviceStreamUriResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Uri" type="xs:anyURI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Streaming URI.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetVideoAnalyticsConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the VideoAnalyticsConfiguration requested.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetVideoAnalyticsConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:VideoAnalyticsConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Settings of the VideoAnalyticsConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteAnalyticsEngineInputs">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ConfigurationToken" type="tt:ReferenceToken" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>LIst of tokens of Analytics Engine Input configurations to be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteAnalyticsEngineInputsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsState">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AnalyticsEngineControlToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the AnalyticsEngineControl whose state information is requested.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetAnalyticsStateResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="State" type="tt:AnalyticsStateInformation">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Current status information.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
<!--===============================-->
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteAnalyticsEngineControlRequest">
|
||||
<wsdl:part name="parameters" element="tad:DeleteAnalyticsEngineControl"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteAnalyticsEngineControlResponse">
|
||||
<wsdl:part name="parameters" element="tad:DeleteAnalyticsEngineControlResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateAnalyticsEngineControlRequest">
|
||||
<wsdl:part name="parameters" element="tad:CreateAnalyticsEngineControl"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateAnalyticsEngineControlResponse">
|
||||
<wsdl:part name="parameters" element="tad:CreateAnalyticsEngineControlResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetAnalyticsEngineControlRequest">
|
||||
<wsdl:part name="parameters" element="tad:SetAnalyticsEngineControl"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetAnalyticsEngineControlResponse">
|
||||
<wsdl:part name="parameters" element="tad:SetAnalyticsEngineControlResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineControlRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineControl"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineControlResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineControlResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineControlsRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineControls"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineControlsResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineControlsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngine"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEnginesRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngines"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEnginesResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEnginesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetVideoAnalyticsConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="tad:SetVideoAnalyticsConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetVideoAnalyticsConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="tad:SetVideoAnalyticsConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetAnalyticsEngineInputRequest">
|
||||
<wsdl:part name="parameters" element="tad:SetAnalyticsEngineInput"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetAnalyticsEngineInputResponse">
|
||||
<wsdl:part name="parameters" element="tad:SetAnalyticsEngineInputResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineInputRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineInput"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineInputResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineInputResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineInputsRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineInputs"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsEngineInputsResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsEngineInputsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsDeviceStreamUriRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsDeviceStreamUri"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsDeviceStreamUriResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsDeviceStreamUriResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetVideoAnalyticsConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetVideoAnalyticsConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetVideoAnalyticsConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetVideoAnalyticsConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateAnalyticsEngineInputsRequest">
|
||||
<wsdl:part name="parameters" element="tad:CreateAnalyticsEngineInputs"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateAnalyticsEngineInputsResponse">
|
||||
<wsdl:part name="parameters" element="tad:CreateAnalyticsEngineInputsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteAnalyticsEngineInputsRequest">
|
||||
<wsdl:part name="parameters" element="tad:DeleteAnalyticsEngineInputs"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteAnalyticsEngineInputsResponse">
|
||||
<wsdl:part name="parameters" element="tad:DeleteAnalyticsEngineInputsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsStateRequest">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsState"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetAnalyticsStateResponse">
|
||||
<wsdl:part name="parameters" element="tad:GetAnalyticsStateResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="AnalyticsDevicePort">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the analytics device service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="tad:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteAnalyticsEngineControl">
|
||||
<wsdl:documentation>DeleteAnalyticsEngineControl shall delete a control object .</wsdl:documentation>
|
||||
<wsdl:input message="tad:DeleteAnalyticsEngineControlRequest"/>
|
||||
<wsdl:output message="tad:DeleteAnalyticsEngineControlResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateAnalyticsEngineControl">
|
||||
<wsdl:documentation>CreateAnalyticsEngineControl shall create a new control object.</wsdl:documentation>
|
||||
<wsdl:input message="tad:CreateAnalyticsEngineControlRequest"/>
|
||||
<wsdl:output message="tad:CreateAnalyticsEngineControlResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetAnalyticsEngineControl">
|
||||
<wsdl:documentation>This command modifies the AnalyticsEngineControl configuration.</wsdl:documentation>
|
||||
<wsdl:input message="tad:SetAnalyticsEngineControlRequest"/>
|
||||
<wsdl:output message="tad:SetAnalyticsEngineControlResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngineControl">
|
||||
<wsdl:documentation>The GetAnalyticsEngineControl command fetches the analytics engine control if the analytics engine control token is known.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetAnalyticsEngineControlRequest"/>
|
||||
<wsdl:output message="tad:GetAnalyticsEngineControlResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngineControls">
|
||||
<wsdl:documentation>This operation lists all available analytics engine controls for the device.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetAnalyticsEngineControlsRequest"/>
|
||||
<wsdl:output message="tad:GetAnalyticsEngineControlsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngine">
|
||||
<wsdl:documentation>The GetAnalyticsEngine command fetches the analytics engine configuration if the token is known.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetAnalyticsEngineRequest"/>
|
||||
<wsdl:output message="tad:GetAnalyticsEngineResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngines">
|
||||
<wsdl:documentation>This operation lists all available analytics engine configurations for the device.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetAnalyticsEnginesRequest"/>
|
||||
<wsdl:output message="tad:GetAnalyticsEnginesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetVideoAnalyticsConfiguration">
|
||||
<wsdl:documentation>A video analytics configuration is modified using this command.</wsdl:documentation>
|
||||
<wsdl:input message="tad:SetVideoAnalyticsConfigurationRequest"/>
|
||||
<wsdl:output message="tad:SetVideoAnalyticsConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetAnalyticsEngineInput">
|
||||
<wsdl:documentation>This command modifies the analytics engine input configuration.</wsdl:documentation>
|
||||
<wsdl:input message="tad:SetAnalyticsEngineInputRequest"/>
|
||||
<wsdl:output message="tad:SetAnalyticsEngineInputResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngineInput">
|
||||
<wsdl:documentation>The GetAnalyticsEngineInput command fetches the input configuration if the analytics engine input configuration token is known.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetAnalyticsEngineInputRequest"/>
|
||||
<wsdl:output message="tad:GetAnalyticsEngineInputResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngineInputs">
|
||||
<wsdl:documentation>This operation lists all available analytics engine input configurations for the device.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetAnalyticsEngineInputsRequest"/>
|
||||
<wsdl:output message="tad:GetAnalyticsEngineInputsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsDeviceStreamUri">
|
||||
<wsdl:documentation>This operation requests a URI that can be used to initiate a live stream using RTSP as the control protocol if the token of the AnalyticsEngineControl is known.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetAnalyticsDeviceStreamUriRequest"/>
|
||||
<wsdl:output message="tad:GetAnalyticsDeviceStreamUriResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetVideoAnalyticsConfiguration">
|
||||
<wsdl:documentation>The GetVideoAnalyticsConfiguration command fetches the video analytics configuration if the video analytics configuration token is known.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetVideoAnalyticsConfigurationRequest"/>
|
||||
<wsdl:output message="tad:GetVideoAnalyticsConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateAnalyticsEngineInputs">
|
||||
<wsdl:documentation>This command generates one or more analytics engine input configurations.</wsdl:documentation>
|
||||
<wsdl:input message="tad:CreateAnalyticsEngineInputsRequest"/>
|
||||
<wsdl:output message="tad:CreateAnalyticsEngineInputsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteAnalyticsEngineInputs">
|
||||
<wsdl:documentation>This command deletes analytics engine input configurations if the tokens are known.</wsdl:documentation>
|
||||
<wsdl:input message="tad:DeleteAnalyticsEngineInputsRequest"/>
|
||||
<wsdl:output message="tad:DeleteAnalyticsEngineInputsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsState">
|
||||
<wsdl:documentation>GetAnalyticsState returns status information of the referenced AnalyticsEngineControl object.</wsdl:documentation>
|
||||
<wsdl:input message="tad:GetAnalyticsStateRequest"/>
|
||||
<wsdl:output message="tad:GetAnalyticsStateResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="AnalyticsDeviceBinding" type="tad:AnalyticsDevicePort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteAnalyticsEngineControl">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/DeleteAnalyticsEngineControl"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateAnalyticsEngineControl">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/CreateAnalyticsEngineControl"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetAnalyticsEngineControl">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/SetAnalyticsEngineControl"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngineControl">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetAnalyticsEngineControl"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngineControls">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetAnalyticsEngineControls"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngine">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetAnalyticsEngine"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngines">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetAnalyticsEngines"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetVideoAnalyticsConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/SetVideoAnalyticsConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetAnalyticsEngineInput">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/SetAnalyticsEngineInput"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngineInput">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetAnalyticsEngineInput"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsEngineInputs">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetAnalyticsEngineInputs"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsDeviceStreamUri">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetAnalyticsDeviceStreamUri"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetVideoAnalyticsConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetVideoAnalyticsConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateAnalyticsEngineInputs">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/CreateAnalyticsEngineInputs"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteAnalyticsEngineInputs">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/DeleteAnalyticsEngineInputs"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetAnalyticsState">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/analyticsdevice/wsdl/GetAnalyticsState"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="AnalyticsDeviceService">
|
||||
<wsdl:port name="AnalyticsDevicePort" binding="tad:AnalyticsDeviceBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/AnalyticsDevice"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
581
deps/lib/python3.10/site-packages/onvif/wsdl/b-2.xsd
vendored
Normal file
581
deps/lib/python3.10/site-packages/onvif/wsdl/b-2.xsd
vendored
Normal file
@ -0,0 +1,581 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.
|
||||
|
||||
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
|
||||
|
||||
Copyright (C) OASIS Open (2004-2006). All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
|
||||
|
||||
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
-->
|
||||
|
||||
<xsd:schema
|
||||
targetNamespace="http://docs.oasis-open.org/wsn/b-2"
|
||||
xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
|
||||
xmlns:wsa="http://www.w3.org/2005/08/addressing"
|
||||
xmlns:wsrf-bf="http://docs.oasis-open.org/wsrf/bf-2"
|
||||
xmlns:wstop="http://docs.oasis-open.org/wsn/t-1"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
|
||||
<!-- ======================== Imports ============================ -->
|
||||
|
||||
<xsd:import namespace="http://www.w3.org/2005/08/addressing"
|
||||
schemaLocation="./ws-addr.xsd"
|
||||
/>
|
||||
|
||||
<xsd:import namespace="http://docs.oasis-open.org/wsrf/bf-2"
|
||||
schemaLocation="./bf-2.xsd"
|
||||
/>
|
||||
<xsd:import namespace="http://docs.oasis-open.org/wsn/t-1"
|
||||
schemaLocation="./t-1.xsd"
|
||||
/>
|
||||
|
||||
<!-- ===================== Misc. Helper Types ===================== -->
|
||||
|
||||
<xsd:complexType name="QueryExpressionType" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:any minOccurs="0" maxOccurs="1" processContents="lax" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Dialect" type="xsd:anyURI" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="TopicExpressionType" mixed="true">
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:string">
|
||||
<xsd:attribute name="Dialect" type="xsd:anyURI" use="required" />
|
||||
<xsd:anyAttribute/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="FilterType">
|
||||
<xsd:sequence>
|
||||
<xsd:any minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="SubscriptionPolicyType">
|
||||
<xsd:sequence>
|
||||
<xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<!-- =============== Resource Property Related =================== -->
|
||||
<!-- ======== Resource Properties for NotificationProducer ======== -->
|
||||
<xsd:element name="TopicExpression" type="wsnt:TopicExpressionType"/>
|
||||
<xsd:element name="FixedTopicSet" type="xsd:boolean" default="true"/>
|
||||
<xsd:element name="TopicExpressionDialect" type="xsd:anyURI"/>
|
||||
|
||||
<xsd:element name="NotificationProducerRP">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="wsnt:TopicExpression"
|
||||
minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element ref="wsnt:FixedTopicSet"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:TopicExpressionDialect"
|
||||
minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element ref="wstop:TopicSet"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- ======== Resource Properties for SubscriptionManager ========= -->
|
||||
<xsd:element name="ConsumerReference"
|
||||
type="wsa:EndpointReferenceType" />
|
||||
<xsd:element name="Filter" type="wsnt:FilterType" />
|
||||
<xsd:element name="SubscriptionPolicy" type="wsnt:SubscriptionPolicyType" />
|
||||
|
||||
|
||||
<xsd:element name="CreationTime" type="xsd:dateTime" />
|
||||
|
||||
<xsd:element name="SubscriptionManagerRP" >
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="wsnt:ConsumerReference"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:Filter"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:SubscriptionPolicy"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:CreationTime"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- ================= Notification Metadata ===================== -->
|
||||
<xsd:element name="SubscriptionReference"
|
||||
type="wsa:EndpointReferenceType" />
|
||||
<xsd:element name="Topic"
|
||||
type="wsnt:TopicExpressionType" />
|
||||
<xsd:element name="ProducerReference"
|
||||
type="wsa:EndpointReferenceType" />
|
||||
|
||||
<!-- ================== Message Helper Types ===================== -->
|
||||
<xsd:complexType name="NotificationMessageHolderType" >
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="wsnt:SubscriptionReference"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:Topic"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:ProducerReference"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="Message">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##any" processContents="lax"
|
||||
minOccurs="1" maxOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="NotificationMessage"
|
||||
type="wsnt:NotificationMessageHolderType"/>
|
||||
|
||||
<!-- ========== Message Types for NotificationConsumer =========== -->
|
||||
<xsd:element name="Notify" >
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="wsnt:NotificationMessage"
|
||||
minOccurs="1" maxOccurs="unbounded" />
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- ========== Message Types for NotificationProducer =========== -->
|
||||
|
||||
<xsd:simpleType name="AbsoluteOrRelativeTimeType">
|
||||
<xsd:union memberTypes="xsd:dateTime xsd:duration" />
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:element name="CurrentTime" type="xsd:dateTime" />
|
||||
|
||||
<xsd:element name="TerminationTime"
|
||||
nillable="true" type="xsd:dateTime" />
|
||||
|
||||
<xsd:element name="ProducerProperties"
|
||||
type="wsnt:QueryExpressionType" />
|
||||
|
||||
<xsd:element name="MessageContent"
|
||||
type="wsnt:QueryExpressionType" />
|
||||
|
||||
<xsd:element name="UseRaw"><xsd:complexType/></xsd:element>
|
||||
|
||||
<xsd:element name="Subscribe" >
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ConsumerReference"
|
||||
type="wsa:EndpointReferenceType"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xsd:element name="Filter"
|
||||
type="wsnt:FilterType"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="InitialTerminationTime"
|
||||
type="wsnt:AbsoluteOrRelativeTimeType"
|
||||
nillable="true"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="SubscriptionPolicy"
|
||||
minOccurs="0" maxOccurs="1">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##any" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="SubscribeResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SubscriptionReference"
|
||||
type="wsa:EndpointReferenceType"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:CurrentTime"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:TerminationTime"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="GetCurrentMessage">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Topic"
|
||||
type="wsnt:TopicExpressionType" />
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="GetCurrentMessageResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="SubscribeCreationFailedFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SubscribeCreationFailedFault"
|
||||
type="wsnt:SubscribeCreationFailedFaultType"/>
|
||||
|
||||
<xsd:complexType name="InvalidFilterFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="UnknownFilter" type="xsd:QName"
|
||||
minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="InvalidFilterFault"
|
||||
type="wsnt:InvalidFilterFaultType"/>
|
||||
|
||||
<xsd:complexType name="TopicExpressionDialectUnknownFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="TopicExpressionDialectUnknownFault"
|
||||
type="wsnt:TopicExpressionDialectUnknownFaultType"/>
|
||||
|
||||
<xsd:complexType name="InvalidTopicExpressionFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="InvalidTopicExpressionFault"
|
||||
type="wsnt:InvalidTopicExpressionFaultType"/>
|
||||
|
||||
<xsd:complexType name="TopicNotSupportedFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="TopicNotSupportedFault"
|
||||
type="wsnt:TopicNotSupportedFaultType"/>
|
||||
|
||||
<xsd:complexType name="MultipleTopicsSpecifiedFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="MultipleTopicsSpecifiedFault"
|
||||
type="wsnt:MultipleTopicsSpecifiedFaultType"/>
|
||||
|
||||
<xsd:complexType name="InvalidProducerPropertiesExpressionFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="InvalidProducerPropertiesExpressionFault"
|
||||
type="wsnt:InvalidProducerPropertiesExpressionFaultType"/>
|
||||
|
||||
<xsd:complexType name="InvalidMessageContentExpressionFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="InvalidMessageContentExpressionFault"
|
||||
type="wsnt:InvalidMessageContentExpressionFaultType"/>
|
||||
|
||||
<xsd:complexType name="UnrecognizedPolicyRequestFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="UnrecognizedPolicy" type="xsd:QName"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnrecognizedPolicyRequestFault"
|
||||
type="wsnt:UnrecognizedPolicyRequestFaultType"/>
|
||||
|
||||
<xsd:complexType name="UnsupportedPolicyRequestFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="UnsupportedPolicy" type="xsd:QName"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnsupportedPolicyRequestFault"
|
||||
type="wsnt:UnsupportedPolicyRequestFaultType"/>
|
||||
|
||||
<xsd:complexType name="NotifyMessageNotSupportedFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="NotifyMessageNotSupportedFault"
|
||||
type="wsnt:NotifyMessageNotSupportedFaultType"/>
|
||||
|
||||
<xsd:complexType name="UnacceptableInitialTerminationTimeFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="MinimumTime" type="xsd:dateTime"/>
|
||||
<xsd:element name="MaximumTime" type="xsd:dateTime"
|
||||
minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnacceptableInitialTerminationTimeFault"
|
||||
type="wsnt:UnacceptableInitialTerminationTimeFaultType"/>
|
||||
|
||||
<xsd:complexType name="NoCurrentMessageOnTopicFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="NoCurrentMessageOnTopicFault"
|
||||
type="wsnt:NoCurrentMessageOnTopicFaultType"/>
|
||||
|
||||
<!-- ======== Message Types for PullPoint ======================== -->
|
||||
<xsd:element name="GetMessages">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="MaximumNumber"
|
||||
type="xsd:nonNegativeInteger"
|
||||
minOccurs="0"/>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="GetMessagesResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="wsnt:NotificationMessage"
|
||||
minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="DestroyPullPoint">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="DestroyPullPointResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="UnableToGetMessagesFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:element name="UnableToGetMessagesFault"
|
||||
type="wsnt:UnableToGetMessagesFaultType"/>
|
||||
|
||||
<xsd:complexType name="UnableToDestroyPullPointFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:element name="UnableToDestroyPullPointFault"
|
||||
type="wsnt:UnableToDestroyPullPointFaultType"/>
|
||||
|
||||
<!-- ======== Message Types for Create PullPoint ================= -->
|
||||
<xsd:element name="CreatePullPoint">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="CreatePullPointResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="PullPoint"
|
||||
type="wsa:EndpointReferenceType"/>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="UnableToCreatePullPointFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnableToCreatePullPointFault"
|
||||
type="wsnt:UnableToCreatePullPointFaultType"/>
|
||||
|
||||
<!-- ======== Message Types for Base SubscriptionManager ========= -->
|
||||
<xsd:element name="Renew">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="TerminationTime"
|
||||
type="wsnt:AbsoluteOrRelativeTimeType"
|
||||
nillable="true"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="RenewResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="wsnt:TerminationTime"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xsd:element ref="wsnt:CurrentTime"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="UnacceptableTerminationTimeFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="MinimumTime" type="xsd:dateTime"/>
|
||||
<xsd:element name="MaximumTime" type="xsd:dateTime"
|
||||
minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnacceptableTerminationTimeFault"
|
||||
type="wsnt:UnacceptableTerminationTimeFaultType"/>
|
||||
|
||||
<xsd:element name="Unsubscribe">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="UnsubscribeResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="UnableToDestroySubscriptionFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnableToDestroySubscriptionFault"
|
||||
type="wsnt:UnableToDestroySubscriptionFaultType"/>
|
||||
|
||||
<!-- ====== Message Types for Pausable SubscriptionManager ======= -->
|
||||
|
||||
<xsd:element name="PauseSubscription">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="PauseSubscriptionResponse" >
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="ResumeSubscription">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="ResumeSubscriptionResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="PauseFailedFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="PauseFailedFault"
|
||||
type="wsnt:PauseFailedFaultType"/>
|
||||
|
||||
<xsd:complexType name="ResumeFailedFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="ResumeFailedFault"
|
||||
type="wsnt:ResumeFailedFaultType"/>
|
||||
|
||||
</xsd:schema>
|
83
deps/lib/python3.10/site-packages/onvif/wsdl/bf-2.xsd
vendored
Normal file
83
deps/lib/python3.10/site-packages/onvif/wsdl/bf-2.xsd
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the OASIS Executive Director.
|
||||
|
||||
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
|
||||
|
||||
Copyright (C) OASIS Open (2005). All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
|
||||
|
||||
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
-->
|
||||
|
||||
<xsd:schema
|
||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:wsa="http://www.w3.org/2005/08/addressing"
|
||||
xmlns:wsrf-bf=
|
||||
"http://docs.oasis-open.org/wsrf/bf-2"
|
||||
elementFormDefault="qualified" attributeFormDefault="unqualified"
|
||||
targetNamespace=
|
||||
"http://docs.oasis-open.org/wsrf/bf-2">
|
||||
<xsd:import
|
||||
namespace="http://www.w3.org/2005/08/addressing"
|
||||
schemaLocation= "./ws-addr.xsd"/>
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
|
||||
schemaLocation="./xml.xsd">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Get access to the xml: attribute groups for xml:lang as declared on 'schema'
|
||||
and 'documentation' below
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:import>
|
||||
<!-- ====================== BaseFault Types ======================= -->
|
||||
|
||||
<xsd:element name="BaseFault" type="wsrf-bf:BaseFaultType"/>
|
||||
|
||||
<xsd:complexType name="BaseFaultType">
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="Timestamp" type="xsd:dateTime"
|
||||
minOccurs="1" maxOccurs="1"/>
|
||||
<xsd:element name="Originator" type="wsa:EndpointReferenceType"
|
||||
minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="ErrorCode"
|
||||
minOccurs="0" maxOccurs="1">
|
||||
<xsd:complexType>
|
||||
<xsd:complexContent mixed="true">
|
||||
<xsd:extension base="xsd:anyType">
|
||||
<xsd:attribute name="dialect" type="xsd:anyURI"
|
||||
use="required"/>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="Description"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:string">
|
||||
<xsd:attribute ref="xml:lang" use="optional"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="FaultCause" minOccurs="0" maxOccurs="1">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax"
|
||||
minOccurs="1" maxOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
448
deps/lib/python3.10/site-packages/onvif/wsdl/bw-2.wsdl
vendored
Normal file
448
deps/lib/python3.10/site-packages/onvif/wsdl/bw-2.wsdl
vendored
Normal file
@ -0,0 +1,448 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
|
||||
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.
|
||||
|
||||
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
|
||||
|
||||
Copyright (C) OASIS Open (2004-2006). All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
|
||||
|
||||
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
-->
|
||||
<wsdl:definitions name="WS-BaseNotification"
|
||||
targetNamespace="http://docs.oasis-open.org/wsn/bw-2"
|
||||
xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2"
|
||||
xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
|
||||
xmlns:wsa="http://www.w3.org/2005/08/addressing"
|
||||
xmlns:wsrf-rw="http://docs.oasis-open.org/wsrf/rw-2"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
|
||||
<!-- ========================== Imports =========================== -->
|
||||
<wsdl:import
|
||||
namespace="http://docs.oasis-open.org/wsrf/rw-2"
|
||||
location="./rw-2.wsdl"/>
|
||||
|
||||
<!-- ===================== Types Definitions ====================== -->
|
||||
<wsdl:types>
|
||||
<xsd:schema>
|
||||
<xsd:import
|
||||
namespace="http://docs.oasis-open.org/wsn/b-2"
|
||||
schemaLocation="./b-2.xsd"/>
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
|
||||
<!-- ================ NotificationConsumer::Notify ================
|
||||
Notify(
|
||||
NotificationMessage
|
||||
(SubscriptionReference, TopicExpression, ProducerReference,
|
||||
Message)*
|
||||
returns: n/a (one way)
|
||||
-->
|
||||
<wsdl:message name="Notify">
|
||||
<wsdl:part name="Notify" element="wsnt:Notify"/>
|
||||
</wsdl:message>
|
||||
|
||||
<!-- ============== NotificationProducer::Subscribe ===============
|
||||
Subscribe(
|
||||
(ConsumerEndpointReference, [Filter], [SubscriptionPolicy],
|
||||
[InitialTerminationTime])
|
||||
returns: WS-Resource qualified EPR to a Subscription
|
||||
-->
|
||||
<wsdl:message name="SubscribeRequest" >
|
||||
<wsdl:part name="SubscribeRequest"
|
||||
element="wsnt:Subscribe"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="SubscribeResponse">
|
||||
<wsdl:part name="SubscribeResponse"
|
||||
element="wsnt:SubscribeResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="SubscribeCreationFailedFault">
|
||||
<wsdl:part name="SubscribeCreationFailedFault"
|
||||
element="wsnt:SubscribeCreationFailedFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="TopicExpressionDialectUnknownFault">
|
||||
<wsdl:part name="TopicExpressionDialectUnknownFault"
|
||||
element="wsnt:TopicExpressionDialectUnknownFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="InvalidFilterFault">
|
||||
<wsdl:part name="InvalidFilterFault"
|
||||
element="wsnt:InvalidFilterFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="InvalidProducerPropertiesExpressionFault">
|
||||
<wsdl:part name="InvalidProducerPropertiesExpressionFault"
|
||||
element="wsnt:InvalidProducerPropertiesExpressionFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="InvalidMessageContentExpressionFault">
|
||||
<wsdl:part name="InvalidMessageContentExpressionFault"
|
||||
element="wsnt:InvalidMessageContentExpressionFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnrecognizedPolicyRequestFault">
|
||||
<wsdl:part name="UnrecognizedPolicyRequestFault"
|
||||
element="wsnt:UnrecognizedPolicyRequestFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnsupportedPolicyRequestFault">
|
||||
<wsdl:part name="UnsupportedPolicyRequestFault"
|
||||
element="wsnt:UnsupportedPolicyRequestFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="NotifyMessageNotSupportedFault">
|
||||
<wsdl:part name="NotifyMessageNotSupportedFault"
|
||||
element="wsnt:NotifyMessageNotSupportedFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnacceptableInitialTerminationTimeFault">
|
||||
<wsdl:part name="UnacceptableInitialTerminationTimeFault"
|
||||
element="wsnt:UnacceptableInitialTerminationTimeFault"/>
|
||||
</wsdl:message>
|
||||
|
||||
<!-- ========== NotificationProducer::GetCurrentMessage ===========
|
||||
GetCurrentMessage(topicExpression)
|
||||
returns: a NotificationMessage (xsd:any)
|
||||
-->
|
||||
<wsdl:message name="GetCurrentMessageRequest">
|
||||
<wsdl:part name="GetCurrentMessageRequest"
|
||||
element="wsnt:GetCurrentMessage"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="GetCurrentMessageResponse">
|
||||
<wsdl:part name="GetCurrentMessageResponse"
|
||||
element="wsnt:GetCurrentMessageResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="InvalidTopicExpressionFault">
|
||||
<wsdl:part name="InvalidTopicExpressionFault"
|
||||
element="wsnt:InvalidTopicExpressionFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="TopicNotSupportedFault">
|
||||
<wsdl:part name="TopicNotSupportedFault"
|
||||
element="wsnt:TopicNotSupportedFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="MultipleTopicsSpecifiedFault">
|
||||
<wsdl:part name="MultipleTopicsSpecifiedFault"
|
||||
element="wsnt:MultipleTopicsSpecifiedFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="NoCurrentMessageOnTopicFault">
|
||||
<wsdl:part name="NoCurrentMessageOnTopicFault"
|
||||
element="wsnt:NoCurrentMessageOnTopicFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<!-- ========== PullPoint::GetMessages ===========
|
||||
GetMessages(MaximumNumber)
|
||||
returns: NotificationMessage list
|
||||
-->
|
||||
<wsdl:message name="GetMessagesRequest">
|
||||
<wsdl:part name="GetMessagesRequest"
|
||||
element="wsnt:GetMessages"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="GetMessagesResponse">
|
||||
<wsdl:part name="GetMessagesResponse"
|
||||
element="wsnt:GetMessagesResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnableToGetMessagesFault">
|
||||
<wsdl:part name="UnableToGetMessagesFault"
|
||||
element="wsnt:UnableToGetMessagesFault"/>
|
||||
</wsdl:message>
|
||||
|
||||
|
||||
<!-- ========== PullPoint::DestroyPullPoint ===========
|
||||
DestroyPullPoint()
|
||||
returns: void
|
||||
-->
|
||||
<wsdl:message name="DestroyPullPointRequest">
|
||||
<wsdl:part name="DestroyPullPointRequest"
|
||||
element="wsnt:DestroyPullPoint"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="DestroyPullPointResponse">
|
||||
<wsdl:part name="DestroyPullPointResponse"
|
||||
element="wsnt:DestroyPullPointResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnableToDestroyPullPointFault">
|
||||
<wsdl:part name="UnableToDestroyPullPointFault"
|
||||
element="wsnt:UnableToDestroyPullPointFault"/>
|
||||
</wsdl:message>
|
||||
|
||||
<!-- ========== PullPoint::CreatePullPoint ===========
|
||||
CreatePullPoint()
|
||||
returns: PullPoint (wsa:EndpointReference)
|
||||
-->
|
||||
<wsdl:message name="CreatePullPointRequest">
|
||||
<wsdl:part name="CreatePullPointRequest"
|
||||
element="wsnt:CreatePullPoint"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="CreatePullPointResponse">
|
||||
<wsdl:part name="CreatePullPointResponse"
|
||||
element="wsnt:CreatePullPointResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnableToCreatePullPointFault">
|
||||
<wsdl:part name="UnableToCreatePullPointFault"
|
||||
element="wsnt:UnableToCreatePullPointFault"/>
|
||||
</wsdl:message>
|
||||
|
||||
<!-- ================ SubscriptionManager::Renew ==================
|
||||
Renew( Duration | AbsoluteTime)
|
||||
returns: (New Termination Time [CurrentTime])
|
||||
-->
|
||||
<wsdl:message name="RenewRequest">
|
||||
<wsdl:part name="RenewRequest"
|
||||
element="wsnt:Renew"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="RenewResponse">
|
||||
<wsdl:part name="RenewResponse"
|
||||
element="wsnt:RenewResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnacceptableTerminationTimeFault">
|
||||
<wsdl:part name="UnacceptableTerminationTimeFault"
|
||||
element="wsnt:UnacceptableTerminationTimeFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<!-- ============== SubscriptionManager::Unsubscribe ===============
|
||||
Unsubscribe()
|
||||
returns: empty
|
||||
-->
|
||||
<wsdl:message name="UnsubscribeRequest">
|
||||
<wsdl:part name="UnsubscribeRequest"
|
||||
element="wsnt:Unsubscribe"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnsubscribeResponse">
|
||||
<wsdl:part name="UnsubscribeResponse"
|
||||
element="wsnt:UnsubscribeResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="UnableToDestroySubscriptionFault">
|
||||
<wsdl:part name="UnableToDestroySubscriptionFault"
|
||||
element="wsnt:UnableToDestroySubscriptionFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<!-- ========== SubscriptionManager::PauseSubscription ============
|
||||
PauseSubscription()
|
||||
returns: empty
|
||||
-->
|
||||
<wsdl:message name="PauseSubscriptionRequest">
|
||||
<wsdl:part name="PauseSubscriptionRequest"
|
||||
element="wsnt:PauseSubscription"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="PauseSubscriptionResponse">
|
||||
<wsdl:part name="PauseSubscriptionResponse"
|
||||
element="wsnt:PauseSubscriptionResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="PauseFailedFault">
|
||||
<wsdl:part name="PauseFailedFault"
|
||||
element="wsnt:PauseFailedFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<!-- ========= SubscriptionManager::ResumeSubscription ============
|
||||
ResumeSubscription()
|
||||
returns: empty
|
||||
-->
|
||||
<wsdl:message name="ResumeSubscriptionRequest">
|
||||
<wsdl:part name="ResumeSubscriptionRequest"
|
||||
element="wsnt:ResumeSubscription"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="ResumeSubscriptionResponse">
|
||||
<wsdl:part name="ResumeSubscriptionResponse"
|
||||
element="wsnt:ResumeSubscriptionResponse"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="ResumeFailedFault">
|
||||
<wsdl:part name="ResumeFailedFault"
|
||||
element="wsnt:ResumeFailedFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<!-- =================== PortType Definitions ===================== -->
|
||||
<!-- ========= NotificationConsumer PortType Definition =========== -->
|
||||
<wsdl:portType name="NotificationConsumer">
|
||||
<wsdl:operation name="Notify">
|
||||
<wsdl:input message="wsntw:Notify" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<!-- ========= NotificationProducer PortType Definition =========== -->
|
||||
<wsdl:portType name="NotificationProducer">
|
||||
<wsdl:operation name="Subscribe">
|
||||
<wsdl:input message="wsntw:SubscribeRequest" />
|
||||
<wsdl:output message="wsntw:SubscribeResponse" />
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="InvalidFilterFault"
|
||||
message="wsntw:InvalidFilterFault"/>
|
||||
<wsdl:fault name="TopicExpressionDialectUnknownFault"
|
||||
message="wsntw:TopicExpressionDialectUnknownFault"/>
|
||||
<wsdl:fault name="InvalidTopicExpressionFault"
|
||||
message="wsntw:InvalidTopicExpressionFault" />
|
||||
<wsdl:fault name="TopicNotSupportedFault"
|
||||
message="wsntw:TopicNotSupportedFault" />
|
||||
<wsdl:fault name="InvalidProducerPropertiesExpressionFault"
|
||||
message="wsntw:InvalidProducerPropertiesExpressionFault"/>
|
||||
<wsdl:fault name="InvalidMessageContentExpressionFault"
|
||||
message="wsntw:InvalidMessageContentExpressionFault"/>
|
||||
<wsdl:fault name="UnacceptableInitialTerminationTimeFault"
|
||||
message="wsntw:UnacceptableInitialTerminationTimeFault"/>
|
||||
<wsdl:fault name="UnrecognizedPolicyRequestFault"
|
||||
message="wsntw:UnrecognizedPolicyRequestFault"/>
|
||||
<wsdl:fault name="UnsupportedPolicyRequestFault"
|
||||
message="wsntw:UnsupportedPolicyRequestFault"/>
|
||||
<wsdl:fault name="NotifyMessageNotSupportedFault"
|
||||
message="wsntw:NotifyMessageNotSupportedFault"/>
|
||||
<wsdl:fault name="SubscribeCreationFailedFault"
|
||||
message="wsntw:SubscribeCreationFailedFault"/>
|
||||
</wsdl:operation>
|
||||
|
||||
<wsdl:operation name="GetCurrentMessage">
|
||||
<wsdl:input message="wsntw:GetCurrentMessageRequest"/>
|
||||
<wsdl:output message="wsntw:GetCurrentMessageResponse"/>
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="TopicExpressionDialectUnknownFault"
|
||||
message="wsntw:TopicExpressionDialectUnknownFault"/>
|
||||
<wsdl:fault name="InvalidTopicExpressionFault"
|
||||
message="wsntw:InvalidTopicExpressionFault" />
|
||||
<wsdl:fault name="TopicNotSupportedFault"
|
||||
message="wsntw:TopicNotSupportedFault" />
|
||||
<wsdl:fault name="NoCurrentMessageOnTopicFault"
|
||||
message="wsntw:NoCurrentMessageOnTopicFault" />
|
||||
<wsdl:fault name="MultipleTopicsSpecifiedFault"
|
||||
message="wsntw:MultipleTopicsSpecifiedFault" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<!-- ========== PullPoint PortType Definition ===================== -->
|
||||
<wsdl:portType name="PullPoint">
|
||||
<wsdl:operation name="GetMessages">
|
||||
<wsdl:input name="GetMessagesRequest"
|
||||
message="wsntw:GetMessagesRequest" />
|
||||
<wsdl:output name="GetMessagesResponse"
|
||||
message="wsntw:GetMessagesResponse" />
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="UnableToGetMessagesFault"
|
||||
message="wsntw:UnableToGetMessagesFault" />
|
||||
</wsdl:operation>
|
||||
|
||||
<wsdl:operation name="DestroyPullPoint">
|
||||
<wsdl:input name="DestroyPullPointRequest"
|
||||
message="wsntw:DestroyPullPointRequest" />
|
||||
<wsdl:output name="DestroyPullPointResponse"
|
||||
message="wsntw:DestroyPullPointResponse" />
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault"/>
|
||||
<wsdl:fault name="UnableToDestroyPullPointFault"
|
||||
message="wsntw:UnableToDestroyPullPointFault" />
|
||||
</wsdl:operation>
|
||||
|
||||
<wsdl:operation name="Notify">
|
||||
<wsdl:input message="wsntw:Notify"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<!-- ========== CreatePullPoint PortType Definition =============== -->
|
||||
<wsdl:portType name="CreatePullPoint">
|
||||
<wsdl:operation name="CreatePullPoint">
|
||||
<wsdl:input name="CreatePullPointRequest"
|
||||
message="wsntw:CreatePullPointRequest" />
|
||||
<wsdl:output name="CreatePullPointResponse"
|
||||
message="wsntw:CreatePullPointResponse" />
|
||||
<wsdl:fault name="UnableToCreatePullPointFault"
|
||||
message="wsntw:UnableToCreatePullPointFault" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<!-- ========== SubscriptionManager PortType Definition =========== -->
|
||||
<wsdl:portType name="SubscriptionManager">
|
||||
<wsdl:operation name="Renew">
|
||||
<wsdl:input name="RenewRequest"
|
||||
message="wsntw:RenewRequest" />
|
||||
<wsdl:output name="RenewResponse"
|
||||
message="wsntw:RenewResponse" />
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="UnacceptableTerminationTimeFault"
|
||||
message=
|
||||
"wsntw:UnacceptableTerminationTimeFault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Unsubscribe">
|
||||
<wsdl:input name="UnsubscribeRequest"
|
||||
message="wsntw:UnsubscribeRequest" />
|
||||
<wsdl:output name="UnsubscribeResponse"
|
||||
message="wsntw:UnsubscribeResponse" />
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="UnableToDestroySubscriptionFault"
|
||||
message=
|
||||
"wsntw:UnableToDestroySubscriptionFault" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<!-- ====== PausableSubscriptionManager PortType Definition ======= -->
|
||||
<wsdl:portType name="PausableSubscriptionManager">
|
||||
<!-- ============== Extends: SubscriptionManager ============ -->
|
||||
<wsdl:operation name="Renew">
|
||||
<wsdl:input name="RenewRequest"
|
||||
message="wsntw:RenewRequest" />
|
||||
<wsdl:output name="RenewResponse"
|
||||
message="wsntw:RenewResponse" />
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="UnacceptableTerminationTimeFault"
|
||||
message=
|
||||
"wsntw:UnacceptableTerminationTimeFault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Unsubscribe">
|
||||
<wsdl:input name="UnsubscribeRequest"
|
||||
message="wsntw:UnsubscribeRequest" />
|
||||
<wsdl:output name="UnsubscribeResponse"
|
||||
message="wsntw:UnsubscribeResponse" />
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="UnableToDestroySubscriptionFault"
|
||||
message=
|
||||
"wsntw:UnableToDestroySubscriptionFault" />
|
||||
</wsdl:operation>
|
||||
|
||||
<!-- === PausableSubscriptionManager specific operations === -->
|
||||
<wsdl:operation name="PauseSubscription">
|
||||
<wsdl:input message="wsntw:PauseSubscriptionRequest"/>
|
||||
<wsdl:output message="wsntw:PauseSubscriptionResponse"/>
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="PauseFailedFault"
|
||||
message="wsntw:PauseFailedFault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ResumeSubscription">
|
||||
<wsdl:input message="wsntw:ResumeSubscriptionRequest"/>
|
||||
<wsdl:output message="wsntw:ResumeSubscriptionResponse"/>
|
||||
<wsdl:fault name="ResourceUnknownFault"
|
||||
message="wsrf-rw:ResourceUnknownFault" />
|
||||
<wsdl:fault name="ResumeFailedFault"
|
||||
message="wsntw:ResumeFailedFault" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
</wsdl:definitions>
|
1311
deps/lib/python3.10/site-packages/onvif/wsdl/deviceio.wsdl
vendored
Normal file
1311
deps/lib/python3.10/site-packages/onvif/wsdl/deviceio.wsdl
vendored
Normal file
File diff suppressed because it is too large
Load Diff
3783
deps/lib/python3.10/site-packages/onvif/wsdl/devicemgmt.wsdl
vendored
Normal file
3783
deps/lib/python3.10/site-packages/onvif/wsdl/devicemgmt.wsdl
vendored
Normal file
File diff suppressed because it is too large
Load Diff
522
deps/lib/python3.10/site-packages/onvif/wsdl/display.wsdl
vendored
Normal file
522
deps/lib/python3.10/site-packages/onvif/wsdl/display.wsdl
vendored
Normal file
@ -0,0 +1,522 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="http://www.onvif.org/onvif/ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2010 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" targetNamespace="http://www.onvif.org/ver10/display/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/display/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="tls:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the display service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="FixedLayout" type="xs:boolean"><xs:annotation><xs:documentation>Indication that the SetLayout command supports only predefined layouts.</xs:documentation></xs:annotation></xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Capabilities" type="tls:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetLayout">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the Video Output whose Layout is requested</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetLayoutResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Layout" type="tt:Layout">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Current layout of the video output.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="SetLayout">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the Video Output whose Layout shall be changed.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Layout" type="tt:Layout">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Layout to be set</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="SetLayoutResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetDisplayOptions">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the Video Output whose options are requested</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetDisplayOptionsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="LayoutOptions" type="tt:LayoutOptions" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The LayoutOptions describe the fixed and predefined layouts of a device. If the device does
|
||||
not offer fixed layouts and allows setting the layout free this element is empty.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="CodingCapabilities" type="tt:CodingCapabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>decoding and encoding capabilities of the device</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetPaneConfigurations">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference Token of the Video Output whose Pane Configurations are requested</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetPaneConfigurationsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="PaneConfiguration" type="tt:PaneConfiguration" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Contains a list of defined Panes of the specified VideoOutput. Each VideoOutput has at least one PaneConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetPaneConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference Token of the Video Output the requested pane belongs to</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Pane" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference Token of the Pane whose Configuration is requested</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetPaneConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="PaneConfiguration" type="tt:PaneConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>returns the configuration of the requested pane.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="SetPaneConfigurations">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the video output whose panes to set.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="PaneConfiguration" type="tt:PaneConfiguration" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Pane Configuration to be set.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="SetPaneConfigurationsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="SetPaneConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the video output whose panes to set.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="PaneConfiguration" type="tt:PaneConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Pane Configuration to be set.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="SetPaneConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="CreatePaneConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the video output where the pane shall be created.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="PaneConfiguration" type="tt:PaneConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration of the pane to be created.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="CreatePaneConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="PaneToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the new pane configuration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="DeletePaneConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoOutput" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the video output where the pane shall be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="PaneToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the pane to be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="DeletePaneConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="tls:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="tls:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetLayoutRequest">
|
||||
<wsdl:part name="parameters" element="tls:GetLayout"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetLayoutResponse">
|
||||
<wsdl:part name="parameters" element="tls:GetLayoutResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetLayoutRequest">
|
||||
<wsdl:part name="parameters" element="tls:SetLayout"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetLayoutResponse">
|
||||
<wsdl:part name="parameters" element="tls:SetLayoutResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetDisplayOptionsRequest">
|
||||
<wsdl:part name="parameters" element="tls:GetDisplayOptions"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetDisplayOptionsResponse">
|
||||
<wsdl:part name="parameters" element="tls:GetDisplayOptionsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetPaneConfigurationsRequest">
|
||||
<wsdl:part name="parameters" element="tls:GetPaneConfigurations"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetPaneConfigurationsResponse">
|
||||
<wsdl:part name="parameters" element="tls:GetPaneConfigurationsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetPaneConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="tls:GetPaneConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetPaneConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="tls:GetPaneConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetPaneConfigurationsRequest">
|
||||
<wsdl:part name="parameters" element="tls:SetPaneConfigurations"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetPaneConfigurationsResponse">
|
||||
<wsdl:part name="parameters" element="tls:SetPaneConfigurationsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetPaneConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="tls:SetPaneConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetPaneConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="tls:SetPaneConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreatePaneConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="tls:CreatePaneConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreatePaneConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="tls:CreatePaneConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeletePaneConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="tls:DeletePaneConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeletePaneConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="tls:DeletePaneConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="DisplayPort">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the display service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="tls:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="tls:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetLayout">
|
||||
<wsdl:documentation>Return the current layout of a video output. The Layout assigns a pane configuration to a certain area of the display. The layout settings
|
||||
directly affect a specific video output. The layout consists of a list of PaneConfigurations and
|
||||
their associated display areas.</wsdl:documentation>
|
||||
<wsdl:input message="tls:GetLayoutRequest"/>
|
||||
<wsdl:output message="tls:GetLayoutResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetLayout">
|
||||
<wsdl:documentation>Change the layout of a display (e.g. change from
|
||||
single view to split screen view).The Layout assigns a pane configuration to a certain area of the display. The layout settings
|
||||
directly affect a specific video output. The layout consists of a list of PaneConfigurations and
|
||||
their associated display areas.<br/>
|
||||
A device implementation shall be tolerant against rounding errors when matching a layout against its fixed set of layouts by accepting differences of at least one percent.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tls:SetLayoutRequest"/>
|
||||
<wsdl:output message="tls:SetLayoutResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetDisplayOptions">
|
||||
<wsdl:documentation>The Display Options contain the supported layouts (LayoutOptions) and the decoding and
|
||||
encoding capabilities (CodingCapabilities) of the device. The GetDisplayOptions command
|
||||
returns both, Layout and Coding Capabilities, of a VideoOutput.</wsdl:documentation>
|
||||
<wsdl:input message="tls:GetDisplayOptionsRequest"/>
|
||||
<wsdl:output message="tls:GetDisplayOptionsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetPaneConfigurations">
|
||||
<wsdl:documentation>List all currently defined panes of a device for a specified video output
|
||||
(regardless if this pane is visible at a moment). A Pane is a display area on the monitor that is attached to a video output. A pane has a
|
||||
PaneConfiguration that describes which entities are associated with the pane. A client has to configure the pane according to the connection to be established by setting the
|
||||
AudioOutput and/or AudioSourceToken. If a Token is not set, the corresponding session will
|
||||
not be established.</wsdl:documentation>
|
||||
<wsdl:input message="tls:GetPaneConfigurationsRequest"/>
|
||||
<wsdl:output message="tls:GetPaneConfigurationsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetPaneConfiguration">
|
||||
<wsdl:documentation>Retrieve the pane configuration for a pane token.</wsdl:documentation>
|
||||
<wsdl:input message="tls:GetPaneConfigurationRequest"/>
|
||||
<wsdl:output message="tls:GetPaneConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetPaneConfigurations">
|
||||
<wsdl:documentation>Modify one or more configurations of the specified video output.
|
||||
This method will only modify the provided configurations and leave the others unchanged.
|
||||
Use <a href="#op.DeletePaneConfiguration">DeletePaneConfiguration</a> to remove pane configurations.</wsdl:documentation>
|
||||
<wsdl:input message="tls:SetPaneConfigurationsRequest"/>
|
||||
<wsdl:output message="tls:SetPaneConfigurationsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetPaneConfiguration">
|
||||
<wsdl:documentation>This command changes the configuration of the specified pane (tbd)</wsdl:documentation>
|
||||
<wsdl:input message="tls:SetPaneConfigurationRequest"/>
|
||||
<wsdl:output message="tls:SetPaneConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreatePaneConfiguration">
|
||||
<wsdl:documentation>Create a new pane configuration describing the streaming and coding settings for a display area.<br/>
|
||||
This optional method is only supported by devices that signal support of dynamic pane creation via their capabilities.<br/>
|
||||
The content of the Token field may be ignored by the device.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tls:CreatePaneConfigurationRequest"/>
|
||||
<wsdl:output message="tls:CreatePaneConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeletePaneConfiguration">
|
||||
<wsdl:documentation>Delete a pane configuration. A service must respond with an error if the pane configuration
|
||||
is in use by the current layout.<br/>
|
||||
This optional method is only supported by devices that signal support of dynamic pane creation via their capabilities.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tls:DeletePaneConfigurationRequest"/>
|
||||
<wsdl:output message="tls:DeletePaneConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="DisplayBinding" type="tls:DisplayPort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetLayout">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/GetLayout"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetLayout">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/SetLayout"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetDisplayOptions">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/GetDisplayOptions"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetPaneConfigurations">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/GetPaneConfigurations"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetPaneConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/GetPaneConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetPaneConfigurations">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/SetPaneConfigurations"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetPaneConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/SetPaneConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreatePaneConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/CreatePaneConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeletePaneConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/display/wsdl/DeletePaneConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="DisplayService">
|
||||
<wsdl:port name="DisplayPort" binding="tls:DisplayBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/Display"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
1069
deps/lib/python3.10/site-packages/onvif/wsdl/doorcontrol.wsdl
vendored
Normal file
1069
deps/lib/python3.10/site-packages/onvif/wsdl/doorcontrol.wsdl
vendored
Normal file
File diff suppressed because it is too large
Load Diff
126
deps/lib/python3.10/site-packages/onvif/wsdl/envelope
vendored
Normal file
126
deps/lib/python3.10/site-packages/onvif/wsdl/envelope
vendored
Normal file
@ -0,0 +1,126 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
|
||||
<!-- Schema for the SOAP/1.1 envelope
|
||||
|
||||
Portions © 2001 DevelopMentor.
|
||||
© 2001 W3C (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.
|
||||
|
||||
This document is governed by the W3C Software License [1] as described in the FAQ [2].
|
||||
[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
|
||||
[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
|
||||
By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:
|
||||
|
||||
1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
|
||||
|
||||
2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © 2001 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
|
||||
|
||||
3. Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
|
||||
|
||||
Original W3C files; http://www.w3.org/2001/06/soap-envelope
|
||||
Changes made:
|
||||
- reverted namespace to http://schemas.xmlsoap.org/soap/envelope/
|
||||
- reverted mustUnderstand to only allow 0 and 1 as lexical values
|
||||
- made encodingStyle a global attribute 20020825
|
||||
- removed default value from mustUnderstand attribute declaration
|
||||
|
||||
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
|
||||
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
|
||||
|
||||
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
|
||||
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/"
|
||||
targetNamespace="http://schemas.xmlsoap.org/soap/envelope/" >
|
||||
|
||||
|
||||
<!-- Envelope, header and body -->
|
||||
<xs:element name="Envelope" type="tns:Envelope" />
|
||||
<xs:complexType name="Envelope" >
|
||||
<xs:sequence>
|
||||
<xs:element ref="tns:Header" minOccurs="0" />
|
||||
<xs:element ref="tns:Body" minOccurs="1" />
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="Header" type="tns:Header" />
|
||||
<xs:complexType name="Header" >
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="Body" type="tns:Body" />
|
||||
<xs:complexType name="Body" >
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##any" processContents="lax" >
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Prose in the spec does not specify that attributes are allowed on the Body element
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:anyAttribute>
|
||||
</xs:complexType>
|
||||
|
||||
|
||||
<!-- Global Attributes. The following attributes are intended to be usable via qualified attribute names on any complex type referencing them. -->
|
||||
<xs:attribute name="mustUnderstand" >
|
||||
<xs:simpleType>
|
||||
<xs:restriction base='xs:boolean'>
|
||||
<xs:pattern value='0|1' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="actor" type="xs:anyURI" />
|
||||
|
||||
<xs:simpleType name="encodingStyle" >
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
'encodingStyle' indicates any canonicalization conventions followed in the contents of the containing element. For example, the value 'http://schemas.xmlsoap.org/soap/encoding/' indicates the pattern described in SOAP specification
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:list itemType="xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:attribute name="encodingStyle" type="tns:encodingStyle" />
|
||||
<xs:attributeGroup name="encodingStyle" >
|
||||
<xs:attribute ref="tns:encodingStyle" />
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:element name="Fault" type="tns:Fault" />
|
||||
<xs:complexType name="Fault" final="extension" >
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Fault reporting structure
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="faultcode" type="xs:QName" />
|
||||
<xs:element name="faultstring" type="xs:string" />
|
||||
<xs:element name="faultactor" type="xs:anyURI" minOccurs="0" />
|
||||
<xs:element name="detail" type="tns:detail" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="detail">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##any" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
737
deps/lib/python3.10/site-packages/onvif/wsdl/events.wsdl
vendored
Normal file
737
deps/lib/python3.10/site-packages/onvif/wsdl/events.wsdl
vendored
Normal file
@ -0,0 +1,737 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../../../ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2012 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:wsrf-rw="http://docs.oasis-open.org/wsrf/rw-2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" targetNamespace="http://www.onvif.org/ver10/events/wsdl">
|
||||
<wsdl:import namespace="http://docs.oasis-open.org/wsn/bw-2" location="./bw-2.wsdl"/>
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/events/wsdl" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:tt="http://www.onvif.org/ver10/schema" elementFormDefault="qualified" version="2.3">
|
||||
<xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="./ws-addr.xsd"/>
|
||||
<xs:import namespace="http://docs.oasis-open.org/wsn/t-1" schemaLocation="./t-1.xsd"/>
|
||||
<xs:import namespace="http://docs.oasis-open.org/wsn/b-2" schemaLocation="./b-2.xsd"/>
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!-- Message Request/Responses elements -->
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="tev:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the event service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="WSSubscriptionPolicySupport" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates that the WS Subscription policy is supported.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="WSPullPointSupport" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates that the WS Pull Point is supported.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="WSPausableSubscriptionManagerInterfaceSupport" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates that the WS Pausable Subscription Manager Interface is supported.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaxNotificationProducers" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of supported notification producers as defined by WS-BaseNotification.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaxPullPoints" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum supported number of notification pull points.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PersistentNotificationStorage" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication if the device supports persistent notification storage.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Capabilities" type="tev:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="CreatePullPointSubscription">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Filter" type="wsnt:FilterType" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Optional XPATH expression to select specific topics.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="InitialTerminationTime" type="wsnt:AbsoluteOrRelativeTimeType" nillable="true" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Initial termination time.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="SubscriptionPolicy" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Refer to <a href="http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-os.htm">Web Services Base Notification 1.3 (WS-BaseNotification)</a>.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreatePullPointSubscriptionResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SubscriptionReference" type="wsa:EndpointReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Endpoint reference of the subscription to be used for pulling the messages.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="wsnt:CurrentTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Current time of the server for synchronization purposes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="wsnt:TerminationTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Date time when the PullPoint will be shut down without further pull requests.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="PullMessages">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Timeout" type="xs:duration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum time to block until this method returns.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MessageLimit" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Upper limit for the number of messages to return at once. A server implementation may decide to return less messages.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PullMessagesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="CurrentTime" type="xs:dateTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The date and time when the messages have been delivered by the web server to the client.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="TerminationTime" type="xs:dateTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Date time when the PullPoint will be shut down without further pull requests.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="wsnt:NotificationMessage" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of messages. This list shall be empty in case of a timeout.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PullMessagesFaultResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="MaxTimeout" type="xs:duration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum timeout supported by the device.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MaxMessageLimit" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum message limit supported by the device.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="Seek">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="UtcTime" type="xs:dateTime"><xs:annotation><xs:documentation>The date and time to match against stored messages.</xs:documentation></xs:annotation></xs:element>
|
||||
<xs:element name="Reverse" type="xs:boolean" minOccurs="0" maxOccurs="1"><xs:annotation><xs:documentation>Reverse the pull direction of PullMessages.</xs:documentation></xs:annotation></xs:element>
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SeekResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="SetSynchronizationPoint">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetSynchronizationPointResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetEventProperties">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetEventPropertiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="TopicNamespaceLocation" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of topic namespaces supported.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="wsnt:FixedTopicSet">
|
||||
<xs:annotation>
|
||||
<xs:documentation>True when topicset is fixed for all times.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="wstop:TopicSet">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Set of topics supported.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="wsnt:TopicExpressionDialect" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Defines the XPath expression syntax supported for matching topic expressions. <br/>
|
||||
The following TopicExpressionDialects are mandatory for an ONVIF compliant device :
|
||||
<ul type="disc">
|
||||
<li>http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete</li>
|
||||
<li>http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet.</li>
|
||||
</ul>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MessageContentFilterDialect" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Defines the XPath function set supported for message content filtering.<br/>
|
||||
The following MessageContentFilterDialects are mandatory for an ONVIF compliant device:
|
||||
<ul type="disc">
|
||||
<li>http://www.onvif.org/ver10/tev/messageContentFilter/ItemFilter.</li>
|
||||
</ul>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ProducerPropertiesFilterDialect" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Optional ProducerPropertiesDialects. Refer to <a href="http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-os.htm">Web Services Base Notification 1.3 (WS-BaseNotification)</a> for advanced filtering.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MessageContentSchemaLocation" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The Message Content Description Language allows referencing
|
||||
of vendor-specific types. In order to ease the integration of such types into a client application,
|
||||
the GetEventPropertiesResponse shall list all URI locations to schema files whose types are
|
||||
used in the description of notifications, with MessageContentSchemaLocation elements.<br/>
|
||||
This list shall at least contain the URI of the ONVIF schema file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation/>
|
||||
</xs:annotation>
|
||||
</xs:any>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="tev:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="tev:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreatePullPointSubscriptionRequest">
|
||||
<wsdl:part name="parameters" element="tev:CreatePullPointSubscription"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreatePullPointSubscriptionResponse">
|
||||
<wsdl:part name="parameters" element="tev:CreatePullPointSubscriptionResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="PullMessagesRequest">
|
||||
<wsdl:part name="parameters" element="tev:PullMessages"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="PullMessagesResponse">
|
||||
<wsdl:part name="parameters" element="tev:PullMessagesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="PullMessagesFaultResponse">
|
||||
<wsdl:part name="parameters" element="tev:PullMessagesFaultResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SeekRequest">
|
||||
<wsdl:part name="parameters" element="tev:Seek"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SeekResponse">
|
||||
<wsdl:part name="parameters" element="tev:SeekResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetSynchronizationPointRequest">
|
||||
<wsdl:part name="parameters" element="tev:SetSynchronizationPoint"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetSynchronizationPointResponse">
|
||||
<wsdl:part name="parameters" element="tev:SetSynchronizationPointResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetEventPropertiesRequest">
|
||||
<wsdl:part name="parameters" element="tev:GetEventProperties"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetEventPropertiesResponse">
|
||||
<wsdl:part name="parameters" element="tev:GetEventPropertiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="EventPortType">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the event service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="tev:GetServiceCapabilitiesRequest" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/EventPortType/GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="tev:GetServiceCapabilitiesResponse" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/EventPortType/GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreatePullPointSubscription">
|
||||
<wsdl:documentation>This method returns a PullPointSubscription that can be polled using PullMessages.
|
||||
This message contains the same elements as the SubscriptionRequest of the WS-BaseNotification without the ConsumerReference.<br/>
|
||||
If no Filter is specified the pullpoint notifies all occurring events to the client.<br/>
|
||||
This method is mandatory.</wsdl:documentation>
|
||||
<wsdl:input message="tev:CreatePullPointSubscriptionRequest" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/EventPortType/CreatePullPointSubscriptionRequest"/>
|
||||
<wsdl:output message="tev:CreatePullPointSubscriptionResponse" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/EventPortType/CreatePullPointSubscriptionResponse"/>
|
||||
<wsdl:fault name="ResourceUnknownFault" message="wsrf-rw:ResourceUnknownFault"/>
|
||||
<wsdl:fault name="InvalidFilterFault" message="wsntw:InvalidFilterFault"/>
|
||||
<wsdl:fault name="TopicExpressionDialectUnknownFault" message="wsntw:TopicExpressionDialectUnknownFault"/>
|
||||
<wsdl:fault name="InvalidTopicExpressionFault" message="wsntw:InvalidTopicExpressionFault"/>
|
||||
<wsdl:fault name="TopicNotSupportedFault" message="wsntw:TopicNotSupportedFault"/>
|
||||
<wsdl:fault name="InvalidProducerPropertiesExpressionFault" message="wsntw:InvalidProducerPropertiesExpressionFault"/>
|
||||
<wsdl:fault name="InvalidMessageContentExpressionFault" message="wsntw:InvalidMessageContentExpressionFault"/>
|
||||
<wsdl:fault name="UnacceptableInitialTerminationTimeFault" message="wsntw:UnacceptableInitialTerminationTimeFault"/>
|
||||
<wsdl:fault name="UnrecognizedPolicyRequestFault" message="wsntw:UnrecognizedPolicyRequestFault"/>
|
||||
<wsdl:fault name="UnsupportedPolicyRequestFault" message="wsntw:UnsupportedPolicyRequestFault"/>
|
||||
<wsdl:fault name="NotifyMessageNotSupportedFault" message="wsntw:NotifyMessageNotSupportedFault"/>
|
||||
<wsdl:fault name="SubscribeCreationFailedFault" message="wsntw:SubscribeCreationFailedFault"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetEventProperties">
|
||||
<wsdl:documentation>The WS-BaseNotification specification defines a set of OPTIONAL WS-ResouceProperties.
|
||||
This specification does not require the implementation of the WS-ResourceProperty interface.
|
||||
Instead, the subsequent direct interface shall be implemented by an ONVIF compliant device
|
||||
in order to provide information about the FilterDialects, Schema files and topics supported by
|
||||
the device.</wsdl:documentation>
|
||||
<wsdl:input message="tev:GetEventPropertiesRequest" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/EventPortType/GetEventPropertiesRequest"/>
|
||||
<wsdl:output message="tev:GetEventPropertiesResponse" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/EventPortType/GetEventPropertiesResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:portType name="PullPointSubscription">
|
||||
<wsdl:operation name="PullMessages">
|
||||
<wsdl:documentation>
|
||||
This method pulls one or more messages from a PullPoint.
|
||||
The device shall provide the following PullMessages command for all SubscriptionManager
|
||||
endpoints returned by the CreatePullPointSubscription command. This method shall not wait until
|
||||
the requested number of messages is available but return as soon as at least one message is available.<br/>
|
||||
The command shall at least support a Timeout of one minute. In case a device supports retrieval of less messages
|
||||
than requested it shall return these without generating a fault.</wsdl:documentation>
|
||||
<wsdl:input message="tev:PullMessagesRequest" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/PullMessagesRequest"/>
|
||||
<wsdl:output message="tev:PullMessagesResponse" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/PullMessagesResponse"/>
|
||||
<wsdl:fault name="PullMessagesFaultResponse" message="tev:PullMessagesFaultResponse" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/PullMessages/Fault/PullMessagesFaultResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Seek">
|
||||
<wsdl:documentation>
|
||||
This method readjusts the pull pointer into the past.
|
||||
A device supporting persistent notification storage shall provide the
|
||||
following Seek command for all SubscriptionManager endpoints returned by
|
||||
the CreatePullPointSubscription command. The optional Reverse argument can
|
||||
be used to reverse the pull direction of the PullMessages command.<br/>
|
||||
The UtcTime argument will be matched against the UtcTime attribute on a
|
||||
NotificationMessage.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tev:SeekRequest" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/SeekRequest"/>
|
||||
<wsdl:output message="tev:SeekResponse" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/SeekResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetSynchronizationPoint">
|
||||
<wsdl:documentation>Properties inform a client about property creation, changes and
|
||||
deletion in a uniform way. When a client wants to synchronize its properties with the
|
||||
properties of the device, it can request a synchronization point which repeats the current
|
||||
status of all properties to which a client has subscribed. The PropertyOperation of all
|
||||
produced notifications is set to “Initialized”. The Synchronization Point is
|
||||
requested directly from the SubscriptionManager which was returned in either the
|
||||
SubscriptionResponse or in the CreatePullPointSubscriptionResponse. The property update is
|
||||
transmitted via the notification transportation of the notification interface. This method is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tev:SetSynchronizationPointRequest" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/SetSynchronizationPointRequest"/>
|
||||
<wsdl:output message="tev:SetSynchronizationPointResponse" wsaw:Action="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/SetSynchronizationPointResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="PullPointSubscriptionBinding" type="tev:PullPointSubscription">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="PullMessages">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/PullMessagesRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="PullMessagesFaultResponse">
|
||||
<soap:fault name="PullMessagesFaultResponse" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Seek">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/SeekRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetSynchronizationPoint">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/SetSynchronizationPointRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="EventBinding" type="tev:EventPortType">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/events/wsdl/EventPortType/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreatePullPointSubscription">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/events/wsdl/EventPortType/CreatePullPointSubscriptionRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidFilterFault">
|
||||
<soap:fault name="InvalidFilterFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="TopicExpressionDialectUnknownFault">
|
||||
<soap:fault name="TopicExpressionDialectUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidTopicExpressionFault">
|
||||
<soap:fault name="InvalidTopicExpressionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="TopicNotSupportedFault">
|
||||
<soap:fault name="TopicNotSupportedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidProducerPropertiesExpressionFault">
|
||||
<soap:fault name="InvalidProducerPropertiesExpressionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidMessageContentExpressionFault">
|
||||
<soap:fault name="InvalidMessageContentExpressionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnacceptableInitialTerminationTimeFault">
|
||||
<soap:fault name="UnacceptableInitialTerminationTimeFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnrecognizedPolicyRequestFault">
|
||||
<soap:fault name="UnrecognizedPolicyRequestFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnsupportedPolicyRequestFault">
|
||||
<soap:fault name="UnsupportedPolicyRequestFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="NotifyMessageNotSupportedFault">
|
||||
<soap:fault name="NotifyMessageNotSupportedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="SubscribeCreationFailedFault">
|
||||
<soap:fault name="SubscribeCreationFailedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetEventProperties">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/events/wsdl/EventPortType/GetEventPropertiesRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="SubscriptionManagerBinding" type="wsntw:SubscriptionManager">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="Renew">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager/RenewRequest"/>
|
||||
<wsdl:input name="RenewRequest">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output name="RenewResponse">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnacceptableTerminationTimeFault">
|
||||
<soap:fault name="UnacceptableTerminationTimeFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Unsubscribe">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager/UnsubscribeRequest"/>
|
||||
<wsdl:input name="UnsubscribeRequest">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output name="UnsubscribeResponse">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnableToDestroySubscriptionFault">
|
||||
<soap:fault name="UnableToDestroySubscriptionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="NotificationProducerBinding" type="wsntw:NotificationProducer">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="Subscribe">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/NotificationProducer/SubscribeRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidFilterFault">
|
||||
<soap:fault name="InvalidFilterFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="TopicExpressionDialectUnknownFault">
|
||||
<soap:fault name="TopicExpressionDialectUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidTopicExpressionFault">
|
||||
<soap:fault name="InvalidTopicExpressionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="TopicNotSupportedFault">
|
||||
<soap:fault name="TopicNotSupportedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidProducerPropertiesExpressionFault">
|
||||
<soap:fault name="InvalidProducerPropertiesExpressionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidMessageContentExpressionFault">
|
||||
<soap:fault name="InvalidMessageContentExpressionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnacceptableInitialTerminationTimeFault">
|
||||
<soap:fault name="UnacceptableInitialTerminationTimeFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnrecognizedPolicyRequestFault">
|
||||
<soap:fault name="UnrecognizedPolicyRequestFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnsupportedPolicyRequestFault">
|
||||
<soap:fault name="UnsupportedPolicyRequestFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="NotifyMessageNotSupportedFault">
|
||||
<soap:fault name="NotifyMessageNotSupportedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="SubscribeCreationFailedFault">
|
||||
<soap:fault name="SubscribeCreationFailedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetCurrentMessage">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/NotificationProducer/GetCurrentMessageRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="TopicExpressionDialectUnknownFault">
|
||||
<soap:fault name="TopicExpressionDialectUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="InvalidTopicExpressionFault">
|
||||
<soap:fault name="InvalidTopicExpressionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="TopicNotSupportedFault">
|
||||
<soap:fault name="TopicNotSupportedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="NoCurrentMessageOnTopicFault">
|
||||
<soap:fault name="NoCurrentMessageOnTopicFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="MultipleTopicsSpecifiedFault">
|
||||
<soap:fault name="MultipleTopicsSpecifiedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="NotificationConsumerBinding" type="wsntw:NotificationConsumer">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="Notify">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer/Notify"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="PullPointBinding" type="wsntw:PullPoint">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetMessages">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/PullPoint/GetMessagesRequest"/>
|
||||
<wsdl:input name="GetMessagesRequest">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output name="GetMessagesResponse">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnableToGetMessagesFault">
|
||||
<soap:fault name="UnableToGetMessagesFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DestroyPullPoint">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/PullPoint/DestroyPullPointRequest"/>
|
||||
<wsdl:input name="DestroyPullPointRequest">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output name="DestroyPullPointResponse">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnableToDestroyPullPointFault">
|
||||
<soap:fault name="UnableToDestroyPullPointFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Notify">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/PullPoint/Notify"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="CreatePullPointBinding" type="wsntw:CreatePullPoint">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="CreatePullPoint">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/CreatePullPoint/CreatePullPointRequest"/>
|
||||
<wsdl:input name="CreatePullPointRequest">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output name="CreatePullPointResponse">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="UnableToCreatePullPointFault">
|
||||
<soap:fault name="UnableToCreatePullPointFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="PausableSubscriptionManagerBinding" type="wsntw:PausableSubscriptionManager">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="Renew">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/PausableSubscriptionManager/RenewRequest"/>
|
||||
<wsdl:input name="RenewRequest">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output name="RenewResponse">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnacceptableTerminationTimeFault">
|
||||
<soap:fault name="UnacceptableTerminationTimeFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Unsubscribe">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/PausableSubscriptionManager/UnsubscribeRequest"/>
|
||||
<wsdl:input name="UnsubscribeRequest">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output name="UnsubscribeResponse">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="UnableToDestroySubscriptionFault">
|
||||
<soap:fault name="UnableToDestroySubscriptionFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="PauseSubscription">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/PausableSubscriptionManager/PauseSubscriptionRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="PauseFailedFault">
|
||||
<soap:fault name="PauseFailedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ResumeSubscription">
|
||||
<soap:operation soapAction="http://docs.oasis-open.org/wsn/bw-2/PausableSubscriptionManager/ResumeSubscriptionRequest"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="ResourceUnknownFault">
|
||||
<soap:fault name="ResourceUnknownFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
<wsdl:fault name="ResumeFailedFault">
|
||||
<soap:fault name="ResumeFailedFault" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="EventService">
|
||||
<wsdl:port name="EventPortType" binding="tev:EventBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/device_service"/>
|
||||
</wsdl:port>
|
||||
<wsdl:port name="PullPointSubscription" binding="tev:PullPointSubscriptionBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/device_service"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
400
deps/lib/python3.10/site-packages/onvif/wsdl/imaging.wsdl
vendored
Normal file
400
deps/lib/python3.10/site-packages/onvif/wsdl/imaging.wsdl
vendored
Normal file
@ -0,0 +1,400 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../../../ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2012 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tt="http://www.onvif.org/ver10/schema" name="ImagingService" targetNamespace="http://www.onvif.org/ver20/imaging/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" targetNamespace="http://www.onvif.org/ver20/imaging/wsdl" elementFormDefault="qualified" version="2.2">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!-- Message Request/Responses elements -->
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="timg:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the imaging service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="ImageStabilization" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates whether or not Image Stabilization feature is supported.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Capabilities" type="timg:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetImagingSettings">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoSourceToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference token to the VideoSource for which the ImagingSettings.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetImagingSettingsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ImagingSettings" type="tt:ImagingSettings20">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
ImagingSettings for the VideoSource that was requested.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="SetImagingSettings">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoSourceToken" type="tt:ReferenceToken"/>
|
||||
<xs:element name="ImagingSettings" type="tt:ImagingSettings20"/>
|
||||
<xs:element name="ForcePersistence" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetImagingSettingsResponse">
|
||||
<xs:complexType/>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetOptions">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoSourceToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference token to the VideoSource for which the imaging parameter options are requested.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetOptionsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ImagingOptions" type="tt:ImagingOptions20">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Valid ranges for the imaging parameters that are categorized as device specific.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="Move">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoSourceToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference to the VideoSource for the requested move (focus) operation.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Focus" type="tt:FocusMove">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Content of the requested move (focus) operation.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="MoveResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetMoveOptions">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoSourceToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference token to the VideoSource for the requested move options.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetMoveOptionsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="MoveOptions" type="tt:MoveOptions20">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Valid ranges for the focus lens move options.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="Stop">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoSourceToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference token to the VideoSource where the focus movement should be stopped.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="StopResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetStatus">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="VideoSourceToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference token to the VideoSource where the imaging status should be requested.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetStatusResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Status" type="tt:ImagingStatus20">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Requested imaging status.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="timg:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="timg:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetImagingSettingsRequest">
|
||||
<wsdl:part name="parameters" element="timg:GetImagingSettings"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetImagingSettingsResponse">
|
||||
<wsdl:part name="parameters" element="timg:GetImagingSettingsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetImagingSettingsRequest">
|
||||
<wsdl:part name="parameters" element="timg:SetImagingSettings"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetImagingSettingsResponse">
|
||||
<wsdl:part name="parameters" element="timg:SetImagingSettingsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetOptionsRequest">
|
||||
<wsdl:part name="parameters" element="timg:GetOptions"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetOptionsResponse">
|
||||
<wsdl:part name="parameters" element="timg:GetOptionsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MoveRequest">
|
||||
<wsdl:part name="parameters" element="timg:Move"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="MoveResponse">
|
||||
<wsdl:part name="parameters" element="timg:MoveResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetMoveOptionsRequest">
|
||||
<wsdl:part name="parameters" element="timg:GetMoveOptions"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetMoveOptionsResponse">
|
||||
<wsdl:part name="parameters" element="timg:GetMoveOptionsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="StopRequest">
|
||||
<wsdl:part name="parameters" element="timg:Stop"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="StopResponse">
|
||||
<wsdl:part name="parameters" element="timg:StopResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetStatusRequest">
|
||||
<wsdl:part name="parameters" element="timg:GetStatus"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetStatusResponse">
|
||||
<wsdl:part name="parameters" element="timg:GetStatusResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="ImagingPort">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the imaging service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="timg:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="timg:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetImagingSettings">
|
||||
<wsdl:documentation>Get the ImagingConfiguration for the requested VideoSource.</wsdl:documentation>
|
||||
<wsdl:input message="timg:GetImagingSettingsRequest"/>
|
||||
<wsdl:output message="timg:GetImagingSettingsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetImagingSettings">
|
||||
<wsdl:documentation>Set the ImagingConfiguration for the requested VideoSource.</wsdl:documentation>
|
||||
<wsdl:input message="timg:SetImagingSettingsRequest"/>
|
||||
<wsdl:output message="timg:SetImagingSettingsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetOptions">
|
||||
<wsdl:documentation>This operation gets the valid ranges for the imaging parameters that have device specific ranges.
|
||||
This command is mandatory for all device implementing the imaging service. The command returns all supported parameters and their ranges
|
||||
such that these can be applied to the SetImagingSettings command.<br/>
|
||||
For read-only parameters which cannot be modified via the SetImagingSettings command only a single option or identical Min and Max values
|
||||
is provided.</wsdl:documentation>
|
||||
<wsdl:input message="timg:GetOptionsRequest"/>
|
||||
<wsdl:output message="timg:GetOptionsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Move">
|
||||
<wsdl:documentation>The Move command moves the focus lens in an absolute, a relative or in a continuous manner from its current position.
|
||||
The speed argument is optional for absolute and relative control, but required for continuous. If no speed argument is used, the default speed is used.
|
||||
Focus adjustments through this operation will turn off the autofocus. A device with support for remote focus control should support absolute,
|
||||
relative or continuous control through the Move operation. The supported MoveOpions are signalled via the GetMoveOptions command.
|
||||
At least one focus control capability is required for this operation to be functional. <br/>
|
||||
The move operation contains the following commands:<br/>
|
||||
<b>Absolute</b> – Requires position parameter and optionally takes a speed argument. A unitless type is used by default for focus positioning and speed. Optionally, if supported, the position may be requested in m-1 units. <br/>
|
||||
<b>Relative</b> – Requires distance parameter and optionally takes a speed argument. Negative distance means negative direction.
|
||||
<b>Continuous</b> – Requires a speed argument. Negative speed argument means negative direction.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="timg:MoveRequest"/>
|
||||
<wsdl:output message="timg:MoveResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetMoveOptions">
|
||||
<wsdl:documentation>Imaging move operation options supported for the Video source.</wsdl:documentation>
|
||||
<wsdl:input message="timg:GetMoveOptionsRequest"/>
|
||||
<wsdl:output message="timg:GetMoveOptionsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Stop">
|
||||
<wsdl:documentation>The Stop command stops all ongoing focus movements of the lense. A device with support for remote focus control as signalled via
|
||||
the GetMoveOptions supports this command. <br/>The operation will not affect ongoing autofocus operation.</wsdl:documentation>
|
||||
<wsdl:input message="timg:StopRequest"/>
|
||||
<wsdl:output message="timg:StopResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetStatus">
|
||||
<wsdl:documentation>Via this command the current status of the Move operation can be requested. Supported for this command is available if the support for the Move operation is signalled via GetMoveOptions.</wsdl:documentation>
|
||||
<wsdl:input message="timg:GetStatusRequest"/>
|
||||
<wsdl:output message="timg:GetStatusResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="ImagingBinding" type="timg:ImagingPort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/imaging/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetImagingSettings">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/imaging/wsdl/GetImagingSettings"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetImagingSettings">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/imaging/wsdl/SetImagingSettings"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetOptions">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/imaging/wsdl/GetOptions"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Move">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/imaging/wsdl/Move"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Stop">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/imaging/wsdl/FocusStop"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetStatus">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/imaging/wsdl/GetStatus"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetMoveOptions">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver20/imaging/wsdl/GetMoveOptions"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="ImagingService">
|
||||
<wsdl:port name="ImagingPort" binding="timg:ImagingBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/Imaging"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
13
deps/lib/python3.10/site-packages/onvif/wsdl/include
vendored
Normal file
13
deps/lib/python3.10/site-packages/onvif/wsdl/include
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
||||
xmlns:tns='http://www.w3.org/2004/08/xop/include'
|
||||
targetNamespace='http://www.w3.org/2004/08/xop/include' >
|
||||
|
||||
<xs:element name='Include' type='tns:Include' />
|
||||
<xs:complexType name='Include' >
|
||||
<xs:sequence>
|
||||
<xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded' />
|
||||
</xs:sequence>
|
||||
<xs:attribute name='href' type='xs:anyURI' use='required' />
|
||||
<xs:anyAttribute namespace='##other' />
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
3687
deps/lib/python3.10/site-packages/onvif/wsdl/media.wsdl
vendored
Normal file
3687
deps/lib/python3.10/site-packages/onvif/wsdl/media.wsdl
vendored
Normal file
File diff suppressed because it is too large
Load Diff
8551
deps/lib/python3.10/site-packages/onvif/wsdl/onvif.xsd
vendored
Normal file
8551
deps/lib/python3.10/site-packages/onvif/wsdl/onvif.xsd
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1297
deps/lib/python3.10/site-packages/onvif/wsdl/ptz.wsdl
vendored
Normal file
1297
deps/lib/python3.10/site-packages/onvif/wsdl/ptz.wsdl
vendored
Normal file
File diff suppressed because it is too large
Load Diff
50
deps/lib/python3.10/site-packages/onvif/wsdl/r-2.xsd
vendored
Normal file
50
deps/lib/python3.10/site-packages/onvif/wsdl/r-2.xsd
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.
|
||||
|
||||
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
|
||||
|
||||
Copyright (C) OASIS Open (2005). All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
|
||||
|
||||
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
-->
|
||||
<xsd:schema
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:wsrf-r="http://docs.oasis-open.org/wsrf/r-2"
|
||||
xmlns:wsrf-bf="http://docs.oasis-open.org/wsrf/bf-2"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
elementFormDefault="qualified" attributeFormDefault="unqualified"
|
||||
targetNamespace="http://docs.oasis-open.org/wsrf/r-2"
|
||||
>
|
||||
|
||||
<xsd:import
|
||||
namespace=
|
||||
"http://docs.oasis-open.org/wsrf/bf-2"
|
||||
schemaLocation="./bf-2.xsd"
|
||||
/>
|
||||
|
||||
<!-- ====================== WS-Resource fault types ============= -->
|
||||
|
||||
<xsd:complexType name="ResourceUnknownFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="ResourceUnknownFault"
|
||||
type="wsrf-r:ResourceUnknownFaultType"/>
|
||||
|
||||
<xsd:complexType name="ResourceUnavailableFaultType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wsrf-bf:BaseFaultType"/>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="ResourceUnavailableFault"
|
||||
type="wsrf-r:ResourceUnavailableFaultType"/>
|
||||
</xsd:schema>
|
||||
|
403
deps/lib/python3.10/site-packages/onvif/wsdl/receiver.wsdl
vendored
Normal file
403
deps/lib/python3.10/site-packages/onvif/wsdl/receiver.wsdl
vendored
Normal file
@ -0,0 +1,403 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2010 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" targetNamespace="http://www.onvif.org/ver10/receiver/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="2.1.1">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!-- Message Request/Responses elements -->
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="trv:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the receiver service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="RTP_Multicast" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates that the device can receive RTP multicast streams.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RTP_TCP" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates that the device can receive RTP/TCP streams</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RTP_RTSP_TCP" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates that the device can receive RTP/RTSP/TCP streams.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SupportedReceivers" type="xs:int" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum number of receivers supported by the device.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaximumRTSPURILength" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum allowed length for RTSP URIs (Minimum and default value is 128 octet).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Capabilities" type="trv:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetReceivers">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetReceiversResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Receivers" type="tt:Receiver" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of all receivers that currently exist on the device.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetReceiver">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ReceiverToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The token of the receiver to be retrieved.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetReceiverResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Receiver" type="tt:Receiver">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The details of the receiver.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateReceiver">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:ReceiverConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The initial configuration for the new receiver.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateReceiverResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Receiver" type="tt:Receiver">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The details of the receiver that was created.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteReceiver">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ReceiverToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The token of the receiver to be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteReceiverResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ConfigureReceiver">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ReceiverToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The token of the receiver to be configured.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Configuration" type="tt:ReceiverConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The new configuration for the receiver.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ConfigureReceiverResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetReceiverMode">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ReceiverToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The token of the receiver to be changed.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Mode" type="tt:ReceiverMode">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The new receiver mode. Options available are:</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetReceiverModeResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetReceiverState">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ReceiverToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The token of the receiver to be queried.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetReceiverStateResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ReceiverState" type="tt:ReceiverStateInformation">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description of the current receiver state.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="trv:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="trv:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReceiversRequest">
|
||||
<wsdl:part name="parameters" element="trv:GetReceivers"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReceiversResponse">
|
||||
<wsdl:part name="parameters" element="trv:GetReceiversResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReceiverRequest">
|
||||
<wsdl:part name="parameters" element="trv:GetReceiver"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReceiverResponse">
|
||||
<wsdl:part name="parameters" element="trv:GetReceiverResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateReceiverRequest">
|
||||
<wsdl:part name="parameters" element="trv:CreateReceiver"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateReceiverResponse">
|
||||
<wsdl:part name="parameters" element="trv:CreateReceiverResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteReceiverRequest">
|
||||
<wsdl:part name="parameters" element="trv:DeleteReceiver"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteReceiverResponse">
|
||||
<wsdl:part name="parameters" element="trv:DeleteReceiverResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ConfigureReceiverRequest">
|
||||
<wsdl:part name="parameters" element="trv:ConfigureReceiver"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ConfigureReceiverResponse">
|
||||
<wsdl:part name="parameters" element="trv:ConfigureReceiverResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetReceiverModeRequest">
|
||||
<wsdl:part name="parameters" element="trv:SetReceiverMode"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetReceiverModeResponse">
|
||||
<wsdl:part name="parameters" element="trv:SetReceiverModeResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReceiverStateRequest">
|
||||
<wsdl:part name="parameters" element="trv:GetReceiverState"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReceiverStateResponse">
|
||||
<wsdl:part name="parameters" element="trv:GetReceiverStateResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="ReceiverPort">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the receiver service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="trv:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="trv:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReceivers">
|
||||
<wsdl:documentation>
|
||||
Lists all receivers currently present on a device. This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trv:GetReceiversRequest"/>
|
||||
<wsdl:output message="trv:GetReceiversResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReceiver">
|
||||
<wsdl:documentation>
|
||||
Retrieves the details of a specific receiver. This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trv:GetReceiverRequest"/>
|
||||
<wsdl:output message="trv:GetReceiverResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateReceiver">
|
||||
<wsdl:documentation>
|
||||
Creates a new receiver. This operation is mandatory, although the service may
|
||||
raise a fault if the receiver cannot be created.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trv:CreateReceiverRequest"/>
|
||||
<wsdl:output message="trv:CreateReceiverResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteReceiver">
|
||||
<wsdl:documentation>
|
||||
Deletes an existing receiver. A receiver may be deleted only if it is not
|
||||
currently in use; otherwise a fault shall be raised.
|
||||
This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trv:DeleteReceiverRequest"/>
|
||||
<wsdl:output message="trv:DeleteReceiverResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ConfigureReceiver">
|
||||
<wsdl:documentation>
|
||||
Configures an existing receiver. This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trv:ConfigureReceiverRequest"/>
|
||||
<wsdl:output message="trv:ConfigureReceiverResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetReceiverMode">
|
||||
<wsdl:documentation>
|
||||
Sets the mode of the receiver without affecting the rest of its configuration.
|
||||
This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trv:SetReceiverModeRequest"/>
|
||||
<wsdl:output message="trv:SetReceiverModeResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReceiverState">
|
||||
<wsdl:documentation>
|
||||
Determines whether the receiver is currently disconnected, connected or
|
||||
attempting to connect.
|
||||
This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trv:GetReceiverStateRequest"/>
|
||||
<wsdl:output message="trv:GetReceiverStateResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="ReceiverBinding" type="trv:ReceiverPort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/receiver/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReceivers">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/receiver/wsdl/GetReceivers"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReceiver">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/receiver/wsdl/GetReceiver"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateReceiver">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/receiver/wsdl/CreateReceiver"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteReceiver">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/receiver/wsdl/DeleteReceiver"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ConfigureReceiver">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/receiver/wsdl/ConfigureReceiver"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetReceiverMode">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/receiver/wsdl/SetReceiverMode"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReceiverState">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/receiver/wsdl/GetReceiverState"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="ReceiverService">
|
||||
<wsdl:port name="ReceiverPort" binding="trv:ReceiverBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/Receiver"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
934
deps/lib/python3.10/site-packages/onvif/wsdl/recording.wsdl
vendored
Normal file
934
deps/lib/python3.10/site-packages/onvif/wsdl/recording.wsdl
vendored
Normal file
@ -0,0 +1,934 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2014 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" targetNamespace="http://www.onvif.org/ver10/recording/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/recording/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="2.4.2">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!-- Message Request/Responses elements -->
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="trc:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the recording service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="DynamicRecordings" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication if the device supports dynamic creation and deletion of recordings</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DynamicTracks" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication if the device supports dynamic creation and deletion of tracks</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Encoding" type="trc:EncodingTypes">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication which encodings are supported for recording. The list may contain one or more enumeration values of tt:VideoEncoding and tt:AudioEncoding. If device does not support audio recording tt:AudioEncoding shall not be listed. </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaxRate" type="xs:float">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum supported bit rate for all tracks of a recording in kBit/s.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaxTotalRate" type="xs:float">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum supported bit rate for all recordings in kBit/s.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaxRecordings" type="xs:float">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of recordings supported. (Integer values only.)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaxRecordingJobs" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum total number of supported recording jobs by the device.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Options" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication if the device supports the GetRecordingOptions command.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MetadataRecording" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indication if the device supports recording metadata.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="EncodingTypes">
|
||||
<xs:list itemType="xs:string"/>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Capabilities" type="trc:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="CreateRecording">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingConfiguration" type="tt:RecordingConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Initial configuration for the recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateRecordingResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The reference to the created recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteRecording">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The reference of the recording to be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteRecordingResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordings">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingItem" type="tt:GetRecordingsResponseItem" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of recording items.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetRecordingConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the recording that shall be changed.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RecordingConfiguration" type="tt:RecordingConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The new configuration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetRecordingConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the configuration to be retrieved.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingConfiguration" type="tt:RecordingConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration of the recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateTrack">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifies the recording to which a track shall be added.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="TrackConfiguration" type="tt:TrackConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The configuration of the new track.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateTrackResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="TrackToken" type="tt:TrackReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The TrackToken shall identify the newly created track. The
|
||||
TrackToken shall be unique within the recoding to which
|
||||
the new track belongs.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteTrack">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the recording the track belongs to.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="TrackToken" type="tt:TrackReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the track to be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteTrackResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetTrackConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the recording the track belongs to.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="TrackToken" type="tt:TrackReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the track.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetTrackConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="TrackConfiguration" type="tt:TrackConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration of the track.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetTrackConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the recording the track belongs to.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="TrackToken" type="tt:TrackReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the track to be modified.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="TrackConfiguration" type="tt:TrackConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>New configuration for the track.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetTrackConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateRecordingJob">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobConfiguration" type="tt:RecordingJobConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The initial configuration of the new recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CreateRecordingJobResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobToken" type="tt:RecordingJobReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The JobToken shall identify the created recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="JobConfiguration" type="tt:RecordingJobConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The JobConfiguration structure shall be the configuration as it is used by the device. This may be different from the
|
||||
JobConfiguration passed to CreateRecordingJob.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteRecordingJob">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobToken" type="tt:RecordingJobReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The token of the job to be deleted.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeleteRecordingJobResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingJobs">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingJobsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobItem" type="tt:GetRecordingJobsResponseItem" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of recording jobs.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetRecordingJobConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobToken" type="tt:RecordingJobReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the job to be modified.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="JobConfiguration" type="tt:RecordingJobConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>New configuration of the recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetRecordingJobConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobConfiguration" type="tt:RecordingJobConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The JobConfiguration structure shall be the configuration
|
||||
as it is used by the device. This may be different from the JobConfiguration passed to SetRecordingJobConfiguration.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingJobConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobToken" type="tt:RecordingJobReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingJobConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobConfiguration" type="tt:RecordingJobConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Current configuration of the recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetRecordingJobMode">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobToken" type="tt:RecordingJobReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Mode" type="tt:RecordingJobMode">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The new mode for the recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetRecordingJobModeResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingJobState">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="JobToken" type="tt:RecordingJobReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingJobStateResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="State" type="tt:RecordingJobStateInformation">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The current state of the recording job.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingOptions">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Token of the recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingOptionsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Options" type="trc:RecordingOptions">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configuration of the recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="RecordingOptions">
|
||||
<xs:sequence>
|
||||
<xs:element name="Job" type="trc:JobOptions"/>
|
||||
<xs:element name="Track" type="trc:TrackOptions"/>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="JobOptions">
|
||||
<xs:attribute name="Spare" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Number of spare jobs that can be created for the recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CompatibleSources" type="tt:StringAttrList">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A device that supports recording of a restricted set of Media Service Profiles returns the list of profiles that can be recorded on the given Recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TrackOptions">
|
||||
<xs:attribute name="SpareTotal" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Total spare number of tracks that can be added to this recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SpareVideo" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Number of spare Video tracks that can be added to this recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SpareAudio" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Number of spare Aduio tracks that can be added to this recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SpareMetadata" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Number of spare Metadata tracks that can be added to this recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="trc:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="trc:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateRecordingRequest">
|
||||
<wsdl:part name="parameters" element="trc:CreateRecording"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateRecordingResponse">
|
||||
<wsdl:part name="parameters" element="trc:CreateRecordingResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteRecordingRequest">
|
||||
<wsdl:part name="parameters" element="trc:DeleteRecording"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteRecordingResponse">
|
||||
<wsdl:part name="parameters" element="trc:DeleteRecordingResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingsRequest">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordings"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingsResponse">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetRecordingConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="trc:SetRecordingConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetRecordingConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="trc:SetRecordingConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingOptionsRequest">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingOptions"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingOptionsResponse">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingOptionsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateTrackRequest">
|
||||
<wsdl:part name="parameters" element="trc:CreateTrack"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateTrackResponse">
|
||||
<wsdl:part name="parameters" element="trc:CreateTrackResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteTrackRequest">
|
||||
<wsdl:part name="parameters" element="trc:DeleteTrack"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteTrackResponse">
|
||||
<wsdl:part name="parameters" element="trc:DeleteTrackResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetTrackConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="trc:GetTrackConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetTrackConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="trc:GetTrackConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetTrackConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="trc:SetTrackConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetTrackConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="trc:SetTrackConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateRecordingJobRequest">
|
||||
<wsdl:part name="parameters" element="trc:CreateRecordingJob"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="CreateRecordingJobResponse">
|
||||
<wsdl:part name="parameters" element="trc:CreateRecordingJobResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteRecordingJobRequest">
|
||||
<wsdl:part name="parameters" element="trc:DeleteRecordingJob"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DeleteRecordingJobResponse">
|
||||
<wsdl:part name="parameters" element="trc:DeleteRecordingJobResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingJobsRequest">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingJobs"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingJobsResponse">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingJobsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetRecordingJobConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="trc:SetRecordingJobConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetRecordingJobConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="trc:SetRecordingJobConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingJobConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingJobConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingJobConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingJobConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetRecordingJobModeRequest">
|
||||
<wsdl:part name="parameters" element="trc:SetRecordingJobMode"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetRecordingJobModeResponse">
|
||||
<wsdl:part name="parameters" element="trc:SetRecordingJobModeResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingJobStateRequest">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingJobState"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingJobStateResponse">
|
||||
<wsdl:part name="parameters" element="trc:GetRecordingJobStateResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="RecordingPort">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the recording service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="trc:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="trc:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateRecording">
|
||||
<wsdl:documentation>CreateRecording shall create a new recording. The new recording shall be created with a track
|
||||
for each supported TrackType see Recording Control Spec. <br/>
|
||||
This method is optional. It shall be available if the Recording/DynamicRecordings capability is TRUE. <br/>
|
||||
When successfully completed, CreateRecording shall have created three tracks with the following configurations: <ul>
|
||||
<li>
|
||||
TrackToken TrackType</li>
|
||||
<li>
|
||||
VIDEO001 Video</li>
|
||||
<li>
|
||||
AUDIO001 Audio</li>
|
||||
<li>
|
||||
META001 Metadata</li>
|
||||
</ul>
|
||||
All TrackConfigurations shall have the MaximumRetentionTime set to 0 (unlimited), and the
|
||||
Description set to the empty string.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trc:CreateRecordingRequest"/>
|
||||
<wsdl:output message="trc:CreateRecordingResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteRecording">
|
||||
<wsdl:documentation>DeleteRecording shall delete a recording object. Whenever a recording is deleted, the device
|
||||
shall delete all the tracks that are part of the recording, and it shall delete all the Recording
|
||||
Jobs that record into the recording. For each deleted recording job, the device shall also
|
||||
delete all the receiver objects associated with the recording job that are automatically created
|
||||
using the AutoCreateReceiver field of the recording job configuration structure and are not
|
||||
used in any other recording job.<br/>
|
||||
This method is optional. It shall be available if the Recording/DynamicRecordings capability is TRUE.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trc:DeleteRecordingRequest"/>
|
||||
<wsdl:output message="trc:DeleteRecordingResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordings">
|
||||
<wsdl:documentation>GetRecordings shall return a description of all the recordings in the device. This description
|
||||
shall include a list of all the tracks for each recording.</wsdl:documentation>
|
||||
<wsdl:input message="trc:GetRecordingsRequest"/>
|
||||
<wsdl:output message="trc:GetRecordingsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetRecordingConfiguration">
|
||||
<wsdl:documentation>SetRecordingConfiguration shall change the configuration of a recording.</wsdl:documentation>
|
||||
<wsdl:input message="trc:SetRecordingConfigurationRequest"/>
|
||||
<wsdl:output message="trc:SetRecordingConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingConfiguration">
|
||||
<wsdl:documentation>GetRecordingConfiguration shall retrieve the recording configuration for a recording.</wsdl:documentation>
|
||||
<wsdl:input message="trc:GetRecordingConfigurationRequest"/>
|
||||
<wsdl:output message="trc:GetRecordingConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingOptions">
|
||||
<wsdl:documentation>GetRecordingOptions returns information for a recording identified by the RecordingToken. The information includes the number of additonal tracks as well as recording jobs that can be configured.</wsdl:documentation>
|
||||
<wsdl:input message="trc:GetRecordingOptionsRequest"/>
|
||||
<wsdl:output message="trc:GetRecordingOptionsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateTrack">
|
||||
<wsdl:documentation>This method shall create a new track within a recording.<br/>
|
||||
This method is optional. It shall be available if the Recording/DynamicTracks capability is TRUE.<br/>
|
||||
A TrackToken in itself does not uniquely identify a specific track. Tracks within different
|
||||
recordings may have the same TrackToken.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trc:CreateTrackRequest"/>
|
||||
<wsdl:output message="trc:CreateTrackResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteTrack">
|
||||
<wsdl:documentation>DeleteTrack shall remove a track from a recording. All the data in the track shall be deleted.<br/>
|
||||
This method is optional. It shall be available if the Recording/DynamicTracks capability is
|
||||
TRUE.</wsdl:documentation>
|
||||
<wsdl:input message="trc:DeleteTrackRequest"/>
|
||||
<wsdl:output message="trc:DeleteTrackResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetTrackConfiguration">
|
||||
<wsdl:documentation>GetTrackConfiguration shall retrieve the configuration for a specific track.</wsdl:documentation>
|
||||
<wsdl:input message="trc:GetTrackConfigurationRequest"/>
|
||||
<wsdl:output message="trc:GetTrackConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetTrackConfiguration">
|
||||
<wsdl:documentation>SetTrackConfiguration shall change the configuration of a track.</wsdl:documentation>
|
||||
<wsdl:input message="trc:SetTrackConfigurationRequest"/>
|
||||
<wsdl:output message="trc:SetTrackConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateRecordingJob">
|
||||
<wsdl:documentation>CreateRecordingJob shall create a new recording job.<br/>
|
||||
The JobConfiguration returned from CreateRecordingJob shall be identical to the
|
||||
JobConfiguration passed into CreateRecordingJob, except for the ReceiverToken and the
|
||||
AutoCreateReceiver. In the returned structure, the ReceiverToken shall be present and valid
|
||||
and the AutoCreateReceiver field shall be omitted.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trc:CreateRecordingJobRequest"/>
|
||||
<wsdl:output message="trc:CreateRecordingJobResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteRecordingJob">
|
||||
<wsdl:documentation>DeleteRecordingJob removes a recording job. It shall also implicitly delete all the receiver
|
||||
objects associated with the recording job that are automatically created using the
|
||||
AutoCreateReceiver field of the recording job configuration structure and are not used in any
|
||||
other recording job.</wsdl:documentation>
|
||||
<wsdl:input message="trc:DeleteRecordingJobRequest"/>
|
||||
<wsdl:output message="trc:DeleteRecordingJobResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingJobs">
|
||||
<wsdl:documentation>GetRecordingJobs shall return a list of all the recording jobs in the device.</wsdl:documentation>
|
||||
<wsdl:input message="trc:GetRecordingJobsRequest"/>
|
||||
<wsdl:output message="trc:GetRecordingJobsResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetRecordingJobConfiguration">
|
||||
<wsdl:documentation>SetRecordingJobConfiguration shall change the configuration for a recording job.<br/>
|
||||
SetRecordingJobConfiguration shall implicitly delete any receiver objects that were created
|
||||
automatically if they are no longer used as a result of changing the recording job configuration.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trc:SetRecordingJobConfigurationRequest"/>
|
||||
<wsdl:output message="trc:SetRecordingJobConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingJobConfiguration">
|
||||
<wsdl:documentation>GetRecordingJobConfiguration shall return the current configuration for a recording job.</wsdl:documentation>
|
||||
<wsdl:input message="trc:GetRecordingJobConfigurationRequest"/>
|
||||
<wsdl:output message="trc:GetRecordingJobConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetRecordingJobMode">
|
||||
<wsdl:documentation>SetRecordingJobMode shall change the mode of the recording job. Using this method shall be
|
||||
equivalent to retrieving the recording job configuration, and writing it back with a different
|
||||
mode.</wsdl:documentation>
|
||||
<wsdl:input message="trc:SetRecordingJobModeRequest"/>
|
||||
<wsdl:output message="trc:SetRecordingJobModeResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingJobState">
|
||||
<wsdl:documentation>GetRecordingJobState returns the state of a recording job. It includes an aggregated state,
|
||||
and state for each track of the recording job.</wsdl:documentation>
|
||||
<wsdl:input message="trc:GetRecordingJobStateRequest"/>
|
||||
<wsdl:output message="trc:GetRecordingJobStateResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="RecordingBinding" type="trc:RecordingPort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateRecording">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/CreateRecording"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteRecording">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/DeleteRecording"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordings">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/GetRecordings"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetRecordingConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/SetRecordingConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/GetRecordingConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingOptions">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/GetRecordingOptions"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateTrack">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/CreateTrack"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteTrack">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/DeleteTrack"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetTrackConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/GetTrackConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetTrackConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/SetTrackConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="CreateRecordingJob">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/CreateRecordingJob"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DeleteRecordingJob">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/DeleteRecordingJob"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingJobs">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/GetRecordingJobs"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetRecordingJobConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/SetRecordingJobConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingJobConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/GetRecordingJobConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetRecordingJobMode">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/SetRecordingJobMode"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetRecordingJobState">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/recording/wsdl/GetRecordingJobState"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<!--===============================-->
|
||||
<wsdl:service name="RecordingService">
|
||||
<wsdl:port name="RecordingPort" binding="trc:DeviceBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/Recording"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
93
deps/lib/python3.10/site-packages/onvif/wsdl/remotediscovery.wsdl
vendored
Normal file
93
deps/lib/python3.10/site-packages/onvif/wsdl/remotediscovery.wsdl
vendored
Normal file
@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="http://www.onvif.org/onvif/ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2010 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:dn="http://www.onvif.org/ver10/network/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.onvif.org/ver10/network/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/network/wsdl" xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery" elementFormDefault="qualified">
|
||||
<xs:import namespace="http://schemas.xmlsoap.org/ws/2005/04/discovery" schemaLocation="./ws-discovery.xsd"/>
|
||||
<!-- Message Request/Responses elements -->
|
||||
<!--===============================-->
|
||||
<xs:element name="Hello" type="d:HelloType"/>
|
||||
<xs:element name="HelloResponse" type="d:ResolveType"/>
|
||||
<xs:element name="Probe" type="d:ProbeType"/>
|
||||
<xs:element name="ProbeResponse" type="d:ProbeMatchesType"/>
|
||||
<xs:element name="Bye" type="d:ByeType"/>
|
||||
<xs:element name="ByeResponse" type="d:ResolveType"/>
|
||||
<!--===============================-->
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="HelloRequest">
|
||||
<wsdl:part name="parameters" element="dn:Hello"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="HelloResponse">
|
||||
<wsdl:part name="parameters" element="dn:HelloResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ProbeRequest">
|
||||
<wsdl:part name="parameters" element="dn:Probe"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ProbeResponse">
|
||||
<wsdl:part name="parameters" element="dn:ProbeResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ByeRequest">
|
||||
<wsdl:part name="parameters" element="dn:Bye"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ByeResponse">
|
||||
<wsdl:part name="parameters" element="dn:ByeResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="RemoteDiscoveryPort">
|
||||
<wsdl:operation name="Hello">
|
||||
<wsdl:input message="dn:HelloRequest" dn:Action="http://schemas.xmlsoap.org/ws/2005/04/discovery/Hello"/>
|
||||
<wsdl:output message="dn:HelloResponse" dn:Action="http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Bye">
|
||||
<wsdl:input message="dn:ByeRequest" dn:Action="http://schemas.xmlsoap.org/ws/2005/04/discovery/Bye"/>
|
||||
<wsdl:output message="dn:ByeResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:portType name="DiscoveryLookupPort">
|
||||
<wsdl:operation name="Probe">
|
||||
<wsdl:input message="dn:ProbeRequest" dn:Action="http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe"/>
|
||||
<wsdl:output message="dn:ProbeResponse" dn:Action="http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="RemoteDiscoveryBinding" type="dn:RemoteDiscoveryPort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="Hello">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/network/wsdl/Hello"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Bye">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/network/wsdl/Bye"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="DiscoveryLookupBinding" type="dn:DiscoveryLookupPort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="Probe">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/network/wsdl/Probe"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
</wsdl:definitions>
|
221
deps/lib/python3.10/site-packages/onvif/wsdl/replay.wsdl
vendored
Normal file
221
deps/lib/python3.10/site-packages/onvif/wsdl/replay.wsdl
vendored
Normal file
@ -0,0 +1,221 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2010 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" targetNamespace="http://www.onvif.org/ver10/replay/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/replay/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="2.2.1">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!-- Message Request/Responses elements -->
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="trp:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the replay service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="ReversePlayback" type="xs:boolean" default="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicator that the Device supports reverse playback as defined in the ONVIF Streaming Specification. </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SessionTimeoutRange" type="tt:FloatAttrList">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The list contains two elements defining the minimum and maximum valid values supported as session timeout in seconds. </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RTP_RTSP_TCP" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates support for RTP/RTSP/TCP.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Capabilities" type="trp:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetReplayUri">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="StreamSetup" type="tt:StreamSetup">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the connection parameters to be used for the stream. The URI that is returned may depend on these parameters.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RecordingToken" type="tt:ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The identifier of the recording to be streamed.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetReplayUriResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Uri" type="xs:anyURI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The URI to which the client should connect in order to stream the recording.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetReplayConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:ReplayConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description of the new replay configuration parameters.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SetReplayConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetReplayConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetReplayConfigurationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Configuration" type="tt:ReplayConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The current replay configuration parameters.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="trp:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="trp:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReplayUriRequest">
|
||||
<wsdl:part name="parameters" element="trp:GetReplayUri"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReplayUriResponse">
|
||||
<wsdl:part name="parameters" element="trp:GetReplayUriResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetReplayConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="trp:SetReplayConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="SetReplayConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="trp:SetReplayConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReplayConfigurationRequest">
|
||||
<wsdl:part name="parameters" element="trp:GetReplayConfiguration"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetReplayConfigurationResponse">
|
||||
<wsdl:part name="parameters" element="trp:GetReplayConfigurationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="ReplayPort">
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the replay service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="trp:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="trp:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReplayUri">
|
||||
<wsdl:documentation>
|
||||
Requests a URI that can be used to initiate playback of a recorded stream
|
||||
using RTSP as the control protocol. The URI is valid only as it is
|
||||
specified in the response.
|
||||
This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trp:GetReplayUriRequest"/>
|
||||
<wsdl:output message="trp:GetReplayUriResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReplayConfiguration">
|
||||
<wsdl:documentation>
|
||||
Returns the current configuration of the replay service.
|
||||
This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trp:GetReplayConfigurationRequest"/>
|
||||
<wsdl:output message="trp:GetReplayConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetReplayConfiguration">
|
||||
<wsdl:documentation>
|
||||
Changes the current configuration of the replay service.
|
||||
This operation is mandatory.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="trp:SetReplayConfigurationRequest"/>
|
||||
<wsdl:output message="trp:SetReplayConfigurationResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="ReplayBinding" type="trp:ReplayPort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/replay/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReplayUri">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/replay/wsdl/GetReplayUri"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetReplayConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/replay/wsdl/GetReplayConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SetReplayConfiguration">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/replay/wsdl/SetReplayConfiguration"/>
|
||||
<wsdl:input>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body parts="parameters" use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="ReplayService">
|
||||
<wsdl:port name="ReplayPort" binding="trp:ReplayBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/Replay"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
54
deps/lib/python3.10/site-packages/onvif/wsdl/rw-2.wsdl
vendored
Normal file
54
deps/lib/python3.10/site-packages/onvif/wsdl/rw-2.wsdl
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.
|
||||
|
||||
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
|
||||
|
||||
Copyright (C) OASIS Open (2005). All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
|
||||
|
||||
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
-->
|
||||
|
||||
<wsdl:definitions name="WS-Resource"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:wsrf-r="http://docs.oasis-open.org/wsrf/r-2"
|
||||
xmlns:wsrf-rw="http://docs.oasis-open.org/wsrf/rw-2"
|
||||
targetNamespace="http://docs.oasis-open.org/wsrf/rw-2"
|
||||
>
|
||||
|
||||
<!-- ===================== Types Definitions ====================== -->
|
||||
<wsdl:types>
|
||||
<xsd:schema
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://docs.oasis-open.org/wsrf/rw-2"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified">
|
||||
|
||||
<xsd:import
|
||||
namespace="http://docs.oasis-open.org/wsrf/r-2"
|
||||
schemaLocation="./r-2.xsd"
|
||||
/>
|
||||
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
|
||||
<!-- ================= WS-Resource faults ========================= -->
|
||||
<wsdl:message name="ResourceUnknownFault">
|
||||
<part name="ResourceUnknownFault"
|
||||
element="wsrf-r:ResourceUnknownFault" />
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="ResourceUnavailableFault">
|
||||
<part name="ResourceUnavailableFault"
|
||||
element="wsrf-r:ResourceUnavailableFault" />
|
||||
</wsdl:message>
|
||||
|
||||
</wsdl:definitions>
|
||||
|
887
deps/lib/python3.10/site-packages/onvif/wsdl/search.wsdl
vendored
Normal file
887
deps/lib/python3.10/site-packages/onvif/wsdl/search.wsdl
vendored
Normal file
@ -0,0 +1,887 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../ver20/util/onvif-wsdl-viewer.xsl"?>
|
||||
<!--
|
||||
Copyright (c) 2008-2014 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this document so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" targetNamespace="http://www.onvif.org/ver10/search/wsdl">
|
||||
<wsdl:types>
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/search/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="2.4.2">
|
||||
<xs:import namespace="http://www.onvif.org/ver10/schema" schemaLocation="./onvif.xsd"/>
|
||||
<!-- Message Request/Responses elements -->
|
||||
<!--===============================-->
|
||||
<xs:element name="GetServiceCapabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetServiceCapabilitiesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Capabilities" type="tse:Capabilities">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The capabilities for the search service is returned in the Capabilities element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="Capabilities">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="MetadataSearch" type="xs:boolean"/>
|
||||
<xs:attribute name="GeneralStartEvents" type="xs:boolean"><xs:annotation><xs:documentation> Indicates support for general virtual property events in the FindEvents method.</xs:documentation></xs:annotation></xs:attribute>
|
||||
<xs:anyAttribute processContents="lax"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Capabilities" type="tse:Capabilities"/>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetRecordingSummary">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingSummaryResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Summary" type="tt:RecordingSummary"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetRecordingInformation">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingToken" type="tt:RecordingReference"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingInformationResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingInformation" type="tt:RecordingInformation"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetMediaAttributes">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="RecordingTokens" type="tt:RecordingReference" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="Time" type="xs:dateTime"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetMediaAttributesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="MediaAttributes" type="tt:MediaAttributes" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="FindRecordings">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Scope" type="tt:SearchScope">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Scope defines the dataset to consider for this search.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MaxMatches" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search will be completed after this many matches. If not specified, the search will continue until reaching the endpoint or until the session expires.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="KeepAliveTime" type="xs:duration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The time the search session will be kept alive after responding to this and subsequent requests. A device shall support at least values up to ten seconds.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="FindRecordingsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetRecordingSearchResults">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Gets results from a particular recording listingession.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search session to get results from.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MinResults" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The minimum number of results to return in one response.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MaxResults" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum number of results to return in one response.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="WaitTime" type="xs:duration" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum time before responding to the request, even if the MinResults parameter is not fulfilled.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetRecordingSearchResultsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ResultList" type="tt:FindRecordingResultList"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="FindEvents">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Starts a search session and specifies the search parameters.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="StartPoint" type="xs:dateTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The point of time where the search will start.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="EndPoint" type="xs:dateTime" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The point of time where the search will stop. This can be a time before the StartPoint, in which case the search is performed backwards in time.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Scope" type="tt:SearchScope"/>
|
||||
<xs:element name="SearchFilter" type="tt:EventFilter"/>
|
||||
<xs:element name="IncludeStartState" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Setting IncludeStartState to true means that the server should return virtual events representing the start state for any recording included in the scope. Start state events are limited to the topics defined in the SearchFilter that have the IsProperty flag set to true.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MaxMatches" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search will be completed after this many matches. If not specified, the search will continue until reaching the endpoint or until the session expires.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="KeepAliveTime" type="xs:duration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The time the search session will be kept alive after responding to this and subsequent requests. A device shall support at least values up to ten seconds.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="FindEventsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A unique reference to the search session created by this request.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetEventSearchResults">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Gets results from a particular search session.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search session to get results from.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MinResults" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The minimum number of results to return in one response.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MaxResults" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum number of results to return in one response.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="WaitTime" type="xs:duration" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum time before responding to the request, even if the MinResults parameter is not fulfilled.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetEventSearchResultsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ResultList" type="tt:FindEventResultList"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="FindPTZPosition">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Starts a search session and specifies the search parameters.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="StartPoint" type="xs:dateTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The point of time where the search will start.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="EndPoint" type="xs:dateTime" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The point of time where the search will stop. This can be a time before the StartPoint, in which case the search is performed backwards in time.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Scope" type="tt:SearchScope"/>
|
||||
<xs:element name="SearchFilter" type="tt:PTZPositionFilter"/>
|
||||
<xs:element name="MaxMatches" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search will be completed after this many matches. If not specified, the search will continue until reaching the endpoint or until the session expires.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="KeepAliveTime" type="xs:duration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The time the search session will be kept alive after responding to this and subsequent requests. A device shall support at least values up to ten seconds.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="FindPTZPositionResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A unique reference to the search session created by this request.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetPTZPositionSearchResults">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Gets results from a particular search session.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search session to get results from.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MinResults" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The minimum number of results to return in one response.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MaxResults" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum number of results to return in one response.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="WaitTime" type="xs:duration" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum time before responding to the request, even if the MinResults parameter is not fulfilled.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetPTZPositionSearchResultsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ResultList" type="tt:FindPTZPositionResultList"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="FindMetadata">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Starts a search session and specifies the search parameters.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="StartPoint" type="xs:dateTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The point of time where the search will start.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="EndPoint" type="xs:dateTime" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The point of time where the search will stop. This can be a time before the StartPoint, in which case the search is performed backwards in time.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Scope" type="tt:SearchScope"/>
|
||||
<xs:element name="MetadataFilter" type="tt:MetadataFilter"/>
|
||||
<xs:element name="MaxMatches" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search will be completed after this many matches. If not specified, the search will continue until reaching the endpoint or until the session expires.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="KeepAliveTime" type="xs:duration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The time the search session will be kept alive after responding to this and subsequent requests. A device shall support at least values up to ten seconds.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="FindMetadataResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A unique reference to the search session created by this request.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetMetadataSearchResults">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Gets results from a particular search session.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search session to get results from.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MinResults" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The minimum number of results to return in one response.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MaxResults" type="xs:int" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum number of results to return in one response.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="WaitTime" type="xs:duration" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The maximum time before responding to the request, even if the MinResults parameter is not fulfilled.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetMetadataSearchResultsResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ResultList" type="tt:FindMetadataResultList"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="GetSearchState">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Returns the state of an ongoing search session.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search session to get the state from.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetSearchStateResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="State" type="tt:SearchState"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<xs:element name="EndSearch">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Ends an ongoing search session, freeing any resources.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SearchToken" type="tt:JobToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The search session to end.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="EndSearchResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Endpoint" type="xs:dateTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The point of time the search had reached when it was ended. It is equal to the EndPoint specified in Find-operation if the search was completed.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--===============================-->
|
||||
<!--===============================-->
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="GetServiceCapabilitiesRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetServiceCapabilities"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetServiceCapabilitiesResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="FindEventsRequest">
|
||||
<wsdl:part name="parameters" element="tse:FindEvents"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="FindEventsResponse">
|
||||
<wsdl:part name="parameters" element="tse:FindEventsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetEventSearchResultsRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetEventSearchResults"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetEventSearchResultsResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetEventSearchResultsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetSearchStateRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetSearchState"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetSearchStateResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetSearchStateResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="EndSearchRequest">
|
||||
<wsdl:part name="parameters" element="tse:EndSearch"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="EndSearchResponse">
|
||||
<wsdl:part name="parameters" element="tse:EndSearchResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="FindPTZPositionRequest">
|
||||
<wsdl:part name="parameters" element="tse:FindPTZPosition"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="FindPTZPositionResponse">
|
||||
<wsdl:part name="parameters" element="tse:FindPTZPositionResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetPTZPositionSearchResultsRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetPTZPositionSearchResults"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetPTZPositionSearchResultsResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetPTZPositionSearchResultsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingSummaryRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetRecordingSummary"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingSummaryResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetRecordingSummaryResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingInformationRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetRecordingInformation"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingInformationResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetRecordingInformationResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetMediaAttributesRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetMediaAttributes"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetMediaAttributesResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetMediaAttributesResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="FindRecordingsRequest">
|
||||
<wsdl:part name="parameters" element="tse:FindRecordings"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="FindRecordingsResponse">
|
||||
<wsdl:part name="parameters" element="tse:FindRecordingsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingSearchResultsRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetRecordingSearchResults"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetRecordingSearchResultsResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetRecordingSearchResultsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="FindMetadataRequest">
|
||||
<wsdl:part name="parameters" element="tse:FindMetadata"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="FindMetadataResponse">
|
||||
<wsdl:part name="parameters" element="tse:FindMetadataResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetMetadataSearchResultsRequest">
|
||||
<wsdl:part name="parameters" element="tse:GetMetadataSearchResults"/>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="GetMetadataSearchResultsResponse">
|
||||
<wsdl:part name="parameters" element="tse:GetMetadataSearchResultsResponse"/>
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="SearchPort">
|
||||
<!--===============================-->
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<wsdl:documentation>Returns the capabilities of the search service. The result is returned in a typed answer.</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetServiceCapabilitiesRequest"/>
|
||||
<wsdl:output message="tse:GetServiceCapabilitiesResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetRecordingSummary">
|
||||
<wsdl:documentation>GetRecordingSummary is used to get a summary description of all recorded data. This
|
||||
operation is mandatory to support for a device implementing the recording search service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetRecordingSummaryRequest"/>
|
||||
<wsdl:output message="tse:GetRecordingSummaryResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetRecordingInformation">
|
||||
<wsdl:documentation>Returns information about a single Recording specified by a RecordingToken. This operation
|
||||
is mandatory to support for a device implementing the recording search service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetRecordingInformationRequest"/>
|
||||
<wsdl:output message="tse:GetRecordingInformationResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetMediaAttributes">
|
||||
<wsdl:documentation>Returns a set of media attributes for all tracks of the specified recordings at a specified point
|
||||
in time. Clients using this operation shall be able to use it as a non blocking operation. A
|
||||
device shall set the starttime and endtime of the MediaAttributes structure to equal values if
|
||||
calculating this range would causes this operation to block. See MediaAttributes structure for
|
||||
more information. This operation is mandatory to support for a device implementing the
|
||||
recording search service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetMediaAttributesRequest"/>
|
||||
<wsdl:output message="tse:GetMediaAttributesResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="FindRecordings">
|
||||
<wsdl:documentation>FindRecordings starts a search session, looking for recordings that matches the scope (See
|
||||
20.2.4) defined in the request. Results from the search are acquired using the
|
||||
GetRecordingSearchResults request, specifying the search token returned from this request.
|
||||
The device shall continue searching until one of the following occurs:<ul>
|
||||
<li>The entire time range from StartPoint to EndPoint has been searched through.</li>
|
||||
<li>The total number of matches has been found, defined by the MaxMatches parameter.</li>
|
||||
<li>The session has been ended by a client EndSession request.</li>
|
||||
<li>The session has been ended because KeepAliveTime since the last request related to
|
||||
this session has expired.</li>
|
||||
</ul>
|
||||
The order of the results is undefined, to allow the device to return results in any order they
|
||||
are found. This operation is mandatory to support for a device implementing the recording
|
||||
search service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:FindRecordingsRequest"/>
|
||||
<wsdl:output message="tse:FindRecordingsResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetRecordingSearchResults">
|
||||
<wsdl:documentation>GetRecordingSearchResults acquires the results from a recording search session previously
|
||||
initiated by a FindRecordings operation. The response shall not include results already
|
||||
returned in previous requests for the same session. If MaxResults is specified, the response
|
||||
shall not contain more than MaxResults results. The number of results relates to the number of recordings.
|
||||
For viewing individual recorded data for a signal track use the FindEvents method.<br/>
|
||||
GetRecordingSearchResults shall block until:<ul>
|
||||
<li>
|
||||
MaxResults results are available for the response if MaxResults is specified.</li>
|
||||
<li>MinResults results are available for the response if MinResults is specified.</li>
|
||||
<li>WaitTime has expired.</li>
|
||||
<li>Search is completed or stopped.</li>
|
||||
</ul>
|
||||
This operation is mandatory to support for a device implementing the recording search service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetRecordingSearchResultsRequest"/>
|
||||
<wsdl:output message="tse:GetRecordingSearchResultsResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="FindEvents">
|
||||
<wsdl:documentation>FindEvents starts a search session, looking for recording events (in the scope that
|
||||
matches the search filter defined in the request. Results from the search are
|
||||
acquired using the GetEventSearchResults request, specifying the search token returned from
|
||||
this request.<br/>
|
||||
The device shall continue searching until one of the following occurs:<ul>
|
||||
<li>
|
||||
The entire time range from StartPoint to EndPoint has been searched through.</li>
|
||||
<li>The total number of matches has been found, defined by the MaxMatches parameter.</li>
|
||||
<li>The session has been ended by a client EndSession request.</li>
|
||||
<li>The session has been ended because KeepAliveTime since the last request related to
|
||||
this session has expired.</li>
|
||||
</ul>
|
||||
Results shall be ordered by time, ascending in case of forward search, or descending in case
|
||||
of backward search. This operation is mandatory to support for a device implementing the
|
||||
recording search service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:FindEventsRequest"/>
|
||||
<wsdl:output message="tse:FindEventsResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetEventSearchResults">
|
||||
<wsdl:documentation>GetEventSearchResults acquires the results from a recording event search session previously
|
||||
initiated by a FindEvents operation. The response shall not include results already returned in
|
||||
previous requests for the same session. If MaxResults is specified, the response shall not
|
||||
contain more than MaxResults results.<br/>
|
||||
GetEventSearchResults shall block until:<ul>
|
||||
<li>
|
||||
MaxResults results are available for the response if MaxResults is specified.</li>
|
||||
<li>MinResults results are available for the response if MinResults is specified.</li>
|
||||
<li>WaitTime has expired.</li>
|
||||
<li>Search is completed or stopped.</li>
|
||||
</ul>
|
||||
This operation is mandatory to support for a device implementing the recording search service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetEventSearchResultsRequest"/>
|
||||
<wsdl:output message="tse:GetEventSearchResultsResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="FindPTZPosition">
|
||||
<wsdl:documentation>FindPTZPosition starts a search session, looking for ptz positions in the scope (See 20.2.4)
|
||||
that matches the search filter defined in the request. Results from the search are acquired
|
||||
using the GetPTZPositionSearchResults request, specifying the search token returned from
|
||||
this request.<br/>
|
||||
The device shall continue searching until one of the following occurs:<ul>
|
||||
<li>
|
||||
The entire time range from StartPoint to EndPoint has been searched through.</li>
|
||||
<li>The total number of matches has been found, defined by the MaxMatches parameter.</li>
|
||||
<li>The session has been ended by a client EndSession request.</li>
|
||||
<li>The session has been ended because KeepAliveTime since the last request related to
|
||||
this session has expired.</li>
|
||||
</ul>
|
||||
This operation is mandatory to support whenever CanContainPTZ is true for any metadata
|
||||
track in any recording on the device.</wsdl:documentation>
|
||||
<wsdl:input message="tse:FindPTZPositionRequest"/>
|
||||
<wsdl:output message="tse:FindPTZPositionResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetPTZPositionSearchResults">
|
||||
<wsdl:documentation>GetPTZPositionSearchResults acquires the results from a ptz position search session
|
||||
previously initiated by a FindPTZPosition operation. The response shall not include results
|
||||
already returned in previous requests for the same session. If MaxResults is specified, the
|
||||
response shall not contain more than MaxResults results.<br/>
|
||||
GetPTZPositionSearchResults shall block until:<ul>
|
||||
<li>
|
||||
MaxResults results are available for the response if MaxResults is specified.</li>
|
||||
<li>MinResults results are available for the response if MinResults is specified.</li>
|
||||
<li>WaitTime has expired.</li>
|
||||
<li>Search is completed or stopped.</li>
|
||||
</ul>
|
||||
This operation is mandatory to support whenever CanContainPTZ is true for any metadata
|
||||
track in any recording on the device.</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetPTZPositionSearchResultsRequest"/>
|
||||
<wsdl:output message="tse:GetPTZPositionSearchResultsResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetSearchState">
|
||||
<wsdl:documentation>GetSearchState returns the current state of the specified search session. This command is deprecated .</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetSearchStateRequest"/>
|
||||
<wsdl:output message="tse:GetSearchStateResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="EndSearch">
|
||||
<wsdl:documentation>EndSearch stops and ongoing search session, causing any blocking result request to return
|
||||
and the SearchToken to become invalid. If the search was interrupted before completion, the
|
||||
point in time that the search had reached shall be returned. If the search had not yet begun,
|
||||
the StartPoint shall be returned. If the search was completed the original EndPoint supplied
|
||||
by the Find operation shall be returned. When issuing EndSearch on a FindRecordings request the
|
||||
EndPoint is undefined and shall not be used since the FindRecordings request doesn't have
|
||||
StartPoint/EndPoint. This operation is mandatory to support for a device implementing the
|
||||
recording search service.
|
||||
</wsdl:documentation>
|
||||
<wsdl:input message="tse:EndSearchRequest"/>
|
||||
<wsdl:output message="tse:EndSearchResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="FindMetadata">
|
||||
<wsdl:documentation>FindMetadata starts a search session, looking for metadata in the scope (See 20.2.4) that
|
||||
matches the search filter defined in the request. Results from the search are acquired using
|
||||
the GetMetadataSearchResults request, specifying the search token returned from this
|
||||
request.<br/>
|
||||
The device shall continue searching until one of the following occurs:<ul>
|
||||
<li>
|
||||
The entire time range from StartPoint to EndPoint has been searched through.</li>
|
||||
<li>The total number of matches has been found, defined by the MaxMatches parameter.</li>
|
||||
<li>The session has been ended by a client EndSession request.</li>
|
||||
<li>The session has been ended because KeepAliveTime since the last request related to
|
||||
this session has expired.</li>
|
||||
</ul>
|
||||
This operation is mandatory to support if the MetaDataSearch capability is set to true in the
|
||||
SearchCapabilities structure return by the GetCapabilities command in the Device service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:FindMetadataRequest"/>
|
||||
<wsdl:output message="tse:FindMetadataResponse"/>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetMetadataSearchResults">
|
||||
<wsdl:documentation>GetMetadataSearchResults acquires the results from a recording search session previously
|
||||
initiated by a FindMetadata operation. The response shall not include results already returned
|
||||
in previous requests for the same session. If MaxResults is specified, the response shall not
|
||||
contain more than MaxResults results.<br/>
|
||||
GetMetadataSearchResults shall block until:<ul>
|
||||
<li>
|
||||
MaxResults results are available for the response if MaxResults is specified.</li>
|
||||
<li>MinResults results are available for the response if MinResults is specified.</li>
|
||||
<li>WaitTime has expired.</li>
|
||||
<li>Search is completed or stopped.</li>
|
||||
</ul>
|
||||
This operation is mandatory to support if the MetaDataSearch capability is set to true in the
|
||||
SearchCapabilities structure return by the GetCapabilities command in the Device service.</wsdl:documentation>
|
||||
<wsdl:input message="tse:GetMetadataSearchResultsRequest"/>
|
||||
<wsdl:output message="tse:GetMetadataSearchResultsResponse"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="SearchBinding" type="tse:SearchPort">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<!--===============================-->
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetServiceCapabilities">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetServiceCapabilities"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetRecordingSummary">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetRecordingSummary"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetRecordingInformation">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetRecordingInformation"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetMediaAttributes">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetMediaAttributes"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="FindRecordings">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/FindRecordings"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetRecordingSearchResults">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetRecordingSearchResults"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="FindEvents">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/FindEvents"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetEventSearchResults">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetEventSearchResults"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="FindPTZPosition">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/FindPTZPosition"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetPTZPositionSearchResults">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetPTZPositionSearchResults"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetSearchState">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetSearchState"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="EndSearch">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/EndSearch"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="FindMetadata">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/FindMetadata"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<wsdl:operation name="GetMetadataSearchResults">
|
||||
<soap:operation soapAction="http://www.onvif.org/ver10/search/wsdl/GetMetadataSearchResults"/>
|
||||
<wsdl:input>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<!--===============================-->
|
||||
<!--===============================-->
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="SearchService">
|
||||
<wsdl:port name="ServicePort" binding="tse:SearchBinding">
|
||||
<soap:address location="http://192.168.0.51:8888/onvif/Search"/>
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
185
deps/lib/python3.10/site-packages/onvif/wsdl/t-1.xsd
vendored
Normal file
185
deps/lib/python3.10/site-packages/onvif/wsdl/t-1.xsd
vendored
Normal file
@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.
|
||||
|
||||
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
|
||||
|
||||
Copyright (C) OASIS Open (2004-2006). All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
|
||||
|
||||
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<xsd:schema
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:wstop = "http://docs.oasis-open.org/wsn/t-1"
|
||||
targetNamespace = "http://docs.oasis-open.org/wsn/t-1"
|
||||
elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
|
||||
<!-- =============== utility type definitions ==================== -->
|
||||
<xsd:complexType name="Documentation" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:any processContents="lax" minOccurs="0"
|
||||
maxOccurs="unbounded" namespace="##any"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="ExtensibleDocumented" abstract="true"
|
||||
mixed="false">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="documentation" type="wstop:Documentation"
|
||||
minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="QueryExpressionType" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:any minOccurs="0" maxOccurs="1" processContents="lax" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Dialect" type="xsd:anyURI" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<!-- ================== Topic-Namespace Related ================ -->
|
||||
<xsd:complexType name="TopicNamespaceType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wstop:ExtensibleDocumented">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Topic"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wstop:TopicType">
|
||||
<xsd:attribute name="parent" type="wstop:ConcreteTopicExpression" />
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:any namespace="##other"
|
||||
minOccurs="0" maxOccurs="unbounded"
|
||||
processContents="lax"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:NCName"/>
|
||||
<xsd:attribute name="targetNamespace" type="xsd:anyURI"
|
||||
use="required"/>
|
||||
<xsd:attribute name="final" type="xsd:boolean"
|
||||
default="false"/>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:element name="TopicNamespace" type="wstop:TopicNamespaceType">
|
||||
<xsd:unique name="rootTopicUniqueness">
|
||||
<xsd:selector xpath="wstop:Topic"/>
|
||||
<xsd:field xpath="@name"/>
|
||||
</xsd:unique>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:attribute name="topicNamespaceLocation" type="xsd:anyURI"/>
|
||||
|
||||
|
||||
|
||||
<!-- ===================== Topic Related ========================= -->
|
||||
|
||||
<xsd:complexType name="TopicType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wstop:ExtensibleDocumented">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="MessagePattern"
|
||||
type="wstop:QueryExpressionType"
|
||||
minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="Topic" type="wstop:TopicType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:unique name="childTopicUniqueness">
|
||||
<xsd:selector xpath="wstop:topic"/>
|
||||
<xsd:field xpath="@name"/>
|
||||
</xsd:unique>
|
||||
</xsd:element>
|
||||
<xsd:any namespace="##other" minOccurs="0"
|
||||
maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:NCName"/>
|
||||
<xsd:attribute name="messageTypes">
|
||||
<xsd:simpleType>
|
||||
<xsd:list itemType="xsd:QName"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:attribute>
|
||||
<xsd:attribute name="final" type="xsd:boolean"
|
||||
default="false"/>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<!-- ================ Topic Set Related =================== -->
|
||||
|
||||
<xsd:complexType name="TopicSetType">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="wstop:ExtensibleDocumented">
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other"
|
||||
minOccurs="0" maxOccurs="unbounded"
|
||||
processContents="lax"/>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:element name="TopicSet" type="wstop:TopicSetType"/>
|
||||
<xsd:attribute name="topic" type="xsd:boolean" default="false"/>
|
||||
|
||||
<!-- ================ Topic Expression Related =================== -->
|
||||
|
||||
<xsd:simpleType name="FullTopicExpression">
|
||||
<xsd:restriction base="xsd:token">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
TopicPathExpression ::= TopicPath ( '|' TopicPath )*
|
||||
TopicPath ::= RootTopic ChildTopicExpression*
|
||||
RootTopic ::= NamespacePrefix? ('//')? (NCName | '*')
|
||||
NamespacePrefix ::= NCName ':'
|
||||
ChildTopicExpression ::= '/' '/'? (QName | NCName | '*'| '.')
|
||||
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:pattern value=
|
||||
"([\i-[:]][\c-[:]]*:)?(//)?([\i-[:]][\c-[:]]*|\*)((/|//)(([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*|\*|[.]))*(\|([\i-[:]][\c-[:]]*:)?(//)?([\i-[:]][\c-[:]]*|\*)((/|//)(([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*|\*|[.]))*)*">
|
||||
</xsd:pattern>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="ConcreteTopicExpression">
|
||||
<xsd:restriction base="xsd:token">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The pattern allows strings matching the following EBNF:
|
||||
ConcreteTopicPath ::= RootTopic ChildTopic*
|
||||
RootTopic ::= QName
|
||||
ChildTopic ::= '/' (QName | NCName)
|
||||
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:pattern value=
|
||||
"(([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*)(/([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*)*" >
|
||||
</xsd:pattern>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="SimpleTopicExpression">
|
||||
<xsd:restriction base="xsd:QName">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The pattern allows strings matching the following EBNF:
|
||||
RootTopic ::= QName
|
||||
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
</xsd:schema>
|
82
deps/lib/python3.10/site-packages/onvif/wsdl/types.xsd
vendored
Normal file
82
deps/lib/python3.10/site-packages/onvif/wsdl/types.xsd
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (c) 2010-2013 by ONVIF: Open Network Video Interface Forum. All rights reserved.
|
||||
|
||||
Recipients of this document may copy, distribute, publish, or display this
|
||||
document so long as this copyright notice, license and disclaimer are
|
||||
retained with all copies of the document.
|
||||
|
||||
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND
|
||||
THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE;
|
||||
THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE;
|
||||
OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS,
|
||||
COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
|
||||
DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS
|
||||
DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES
|
||||
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES
|
||||
WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR
|
||||
DISTRIBUTION OF THIS DOCUMENT.
|
||||
THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO,
|
||||
INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS
|
||||
AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN
|
||||
CERTAIN WRITTEN POLICIES OF THE CORPORATION.
|
||||
-->
|
||||
<xs:schema targetNamespace="http://www.onvif.org/ver10/pacs"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:pt="http://www.onvif.org/ver10/pacs"
|
||||
elementFormDefault="qualified"
|
||||
version="1.0">
|
||||
<!--====== types ======-->
|
||||
<xs:simpleType name="ReferenceToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Type used to reference logical and physical entities.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="64"/>
|
||||
<xs:minLength value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--===============================-->
|
||||
<xs:complexType name="DataEntity">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
General datastructure referenced by a token.
|
||||
Should be used as extension base.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="token" type="pt:ReferenceToken" use="required"><xs:annotation>
|
||||
<xs:documentation>A service-unique identifier of the item.</xs:documentation>
|
||||
</xs:annotation></xs:attribute>
|
||||
</xs:complexType>
|
||||
<!--===============================-->
|
||||
<xs:simpleType name="Name">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Type used for names of logical and physical entities.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="64"/>
|
||||
<xs:minLength value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--===============================-->
|
||||
<xs:simpleType name="Description">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Description is optional and the maximum length is device specific.
|
||||
If the length is more than maximum length, it is silently chopped to the maximum length
|
||||
supported by the device/service (which may be 0).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="1024"/>
|
||||
<xs:minLength value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--===============================-->
|
||||
</xs:schema>
|
144
deps/lib/python3.10/site-packages/onvif/wsdl/ws-addr.xsd
vendored
Normal file
144
deps/lib/python3.10/site-packages/onvif/wsdl/ws-addr.xsd
vendored
Normal file
@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
W3C XML Schema defined in the Web Services Addressing 1.0 specification
|
||||
http://www.w3.org/TR/ws-addr-core
|
||||
|
||||
Copyright © 2005 World Wide Web Consortium,
|
||||
|
||||
(Massachusetts Institute of Technology, European Research Consortium for
|
||||
Informatics and Mathematics, Keio University). All Rights Reserved. This
|
||||
work is distributed under the W3C® Software License [1] in the hope that
|
||||
it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
||||
|
||||
$Id: ws-addr.xsd,v 1.4 2008/07/14 18:48:47 plehegar Exp $
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing" targetNamespace="http://www.w3.org/2005/08/addressing" blockDefault="#all" elementFormDefault="qualified" finalDefault="" attributeFormDefault="unqualified">
|
||||
|
||||
<!-- Constructs from the WS-Addressing Core -->
|
||||
|
||||
<xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
|
||||
<xs:complexType name="EndpointReferenceType" mixed="false">
|
||||
<xs:sequence>
|
||||
<xs:element name="Address" type="tns:AttributedURIType"/>
|
||||
<xs:element name="ReferenceParameters" type="tns:ReferenceParametersType" minOccurs="0"/>
|
||||
<xs:element ref="tns:Metadata" minOccurs="0"/>
|
||||
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="ReferenceParametersType" mixed="false">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="Metadata" type="tns:MetadataType"/>
|
||||
<xs:complexType name="MetadataType" mixed="false">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="MessageID" type="tns:AttributedURIType"/>
|
||||
<xs:element name="RelatesTo" type="tns:RelatesToType"/>
|
||||
<xs:complexType name="RelatesToType" mixed="false">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:anyURI">
|
||||
<xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www.w3.org/2005/08/addressing/reply"/>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="RelationshipTypeOpenEnum">
|
||||
<xs:union memberTypes="tns:RelationshipType xs:anyURI"/>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="RelationshipType">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="ReplyTo" type="tns:EndpointReferenceType"/>
|
||||
<xs:element name="From" type="tns:EndpointReferenceType"/>
|
||||
<xs:element name="FaultTo" type="tns:EndpointReferenceType"/>
|
||||
<xs:element name="To" type="tns:AttributedURIType"/>
|
||||
<xs:element name="Action" type="tns:AttributedURIType"/>
|
||||
|
||||
<xs:complexType name="AttributedURIType" mixed="false">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:anyURI">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Constructs from the WS-Addressing SOAP binding -->
|
||||
|
||||
<xs:attribute name="IsReferenceParameter" type="xs:boolean"/>
|
||||
|
||||
<xs:simpleType name="FaultCodesOpenEnumType">
|
||||
<xs:union memberTypes="tns:FaultCodesType xs:QName"/>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="FaultCodesType">
|
||||
<xs:restriction base="xs:QName">
|
||||
<xs:enumeration value="tns:InvalidAddressingHeader"/>
|
||||
<xs:enumeration value="tns:InvalidAddress"/>
|
||||
<xs:enumeration value="tns:InvalidEPR"/>
|
||||
<xs:enumeration value="tns:InvalidCardinality"/>
|
||||
<xs:enumeration value="tns:MissingAddressInEPR"/>
|
||||
<xs:enumeration value="tns:DuplicateMessageID"/>
|
||||
<xs:enumeration value="tns:ActionMismatch"/>
|
||||
<xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
|
||||
<xs:enumeration value="tns:DestinationUnreachable"/>
|
||||
<xs:enumeration value="tns:ActionNotSupported"/>
|
||||
<xs:enumeration value="tns:EndpointUnavailable"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/>
|
||||
<xs:complexType name="AttributedUnsignedLongType" mixed="false">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedLong">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
|
||||
<xs:complexType name="AttributedQNameType" mixed="false">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:QName">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="ProblemHeader" type="tns:AttributedAnyType"/>
|
||||
<xs:complexType name="AttributedAnyType" mixed="false">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
|
||||
|
||||
<xs:element name="ProblemAction" type="tns:ProblemActionType"/>
|
||||
<xs:complexType name="ProblemActionType" mixed="false">
|
||||
<xs:sequence>
|
||||
<xs:element ref="tns:Action" minOccurs="0"/>
|
||||
<xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/>
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
272
deps/lib/python3.10/site-packages/onvif/wsdl/ws-discovery.xsd
vendored
Normal file
272
deps/lib/python3.10/site-packages/onvif/wsdl/ws-discovery.xsd
vendored
Normal file
@ -0,0 +1,272 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
Copyright Notice
|
||||
|
||||
(c) 2004-2005 Microsoft Corporation, Inc. All rights reserved.
|
||||
|
||||
Permission to copy, display, perform, modify and distribute the
|
||||
WS-Discovery Specification (the "Specification", which includes
|
||||
WSDL and schema documents), and to authorize others to do the
|
||||
foregoing, in any medium without fee or royalty is hereby granted
|
||||
for the purpose of developing and evaluating the Specification.
|
||||
|
||||
BEA Systems, Canon, Intel, Microsoft, and webMethods, Inc.
|
||||
(collectively, the "Co-Developers") each agree to grant a license
|
||||
to third parties, under royalty-free and other reasonable,
|
||||
non-discriminatory terms and conditions, to their respective
|
||||
essential Licensed Claims, which reasonable, non-discriminatory
|
||||
terms and conditions may include, for example, but are not limited
|
||||
to, an affirmation of the obligation to grant reciprocal licenses
|
||||
under any of the licensee's patents that are necessary to implement
|
||||
the Specification.
|
||||
|
||||
DISCLAIMERS:
|
||||
|
||||
THE SPECIFICATION IS PROVIDED "AS IS," AND THE CO-DEVELOPERS MAKE
|
||||
NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING,
|
||||
BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||
PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS
|
||||
OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE
|
||||
IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY
|
||||
PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
|
||||
|
||||
THE CO-DEVELOPERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY
|
||||
USE OF THE SPECIFICATION OR THE PERFORMANCE OR IMPLEMENTATION OF
|
||||
THE CONTENTS THEREOF.
|
||||
|
||||
You may remove these disclaimers from your modified versions of the
|
||||
Specification provided that you effectively disclaim all warranties
|
||||
and liabilities on behalf of all Co-developers and any copyright
|
||||
holders in the copies of any such modified versions you distribute.
|
||||
|
||||
The name and trademarks of the Co-developers may NOT be used in any
|
||||
manner, including advertising or publicity pertaining to the
|
||||
Specification or its contents without specific, written prior
|
||||
permission. Title to copyright in the Specification will at all
|
||||
times remain with Microsoft.
|
||||
|
||||
No other rights are granted by implication, estoppel or otherwise.
|
||||
|
||||
-->
|
||||
<xs:schema
|
||||
targetNamespace="http://schemas.xmlsoap.org/ws/2005/04/discovery"
|
||||
xmlns:tns="http://schemas.xmlsoap.org/ws/2005/04/discovery"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified"
|
||||
blockDefault="#all" >
|
||||
|
||||
<xs:import
|
||||
namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/addressing" />
|
||||
|
||||
<!-- //////////////////// Discovery Messages //////////////////// -->
|
||||
|
||||
<xs:element name="Hello" type="tns:HelloType" />
|
||||
<xs:complexType name="HelloType" >
|
||||
<xs:sequence>
|
||||
<xs:element ref="wsa:EndpointReference" />
|
||||
<xs:element ref="tns:Types" minOccurs="0" />
|
||||
<xs:element ref="tns:Scopes" minOccurs="0" />
|
||||
<xs:element ref="tns:XAddrs" minOccurs="0" />
|
||||
<xs:element ref="tns:MetadataVersion" />
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="RelationshipType" >
|
||||
<xs:restriction base="xs:QName" >
|
||||
<xs:enumeration value="tns:Suppression" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="OpenRelationshipType" >
|
||||
<xs:union memberTypes="tns:RelationshipType xs:QName" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="Bye" type="tns:ByeType" />
|
||||
<xs:complexType name="ByeType" >
|
||||
<xs:sequence>
|
||||
<xs:element ref="wsa:EndpointReference" />
|
||||
<xs:element ref="tns:Types" minOccurs="0" />
|
||||
<xs:element ref="tns:Scopes" minOccurs="0" />
|
||||
<xs:element ref="tns:XAddrs" minOccurs="0" />
|
||||
<xs:element ref="tns:MetadataVersion" minOccurs="0" />
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="Probe" type="tns:ProbeType" />
|
||||
<xs:complexType name="ProbeType" >
|
||||
<xs:sequence>
|
||||
<xs:element ref="tns:Types" minOccurs="0" />
|
||||
<xs:element ref="tns:Scopes" minOccurs="0" />
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="ProbeMatches" type="tns:ProbeMatchesType" />
|
||||
<xs:complexType name="ProbeMatchesType" >
|
||||
<xs:sequence>
|
||||
<xs:element name="ProbeMatch"
|
||||
type="tns:ProbeMatchType"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" >
|
||||
</xs:element>
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ProbeMatchType" >
|
||||
<xs:sequence>
|
||||
<xs:element ref="wsa:EndpointReference" />
|
||||
<xs:element ref="tns:Types" minOccurs="0" />
|
||||
<xs:element ref="tns:Scopes" minOccurs="0" />
|
||||
<xs:element ref="tns:XAddrs" minOccurs="0" />
|
||||
<xs:element ref="tns:MetadataVersion" />
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="Resolve" type="tns:ResolveType" />
|
||||
<xs:complexType name="ResolveType" >
|
||||
<xs:sequence>
|
||||
<xs:element ref="wsa:EndpointReference" />
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="ResolveMatches" type="tns:ResolveMatchesType" />
|
||||
<xs:complexType name="ResolveMatchesType" >
|
||||
<xs:sequence>
|
||||
<xs:element name="ResolveMatch"
|
||||
type="tns:ResolveMatchType"
|
||||
minOccurs="0" />
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ResolveMatchType" >
|
||||
<xs:sequence>
|
||||
<xs:element ref="wsa:EndpointReference" />
|
||||
<xs:element ref="tns:Types" minOccurs="0" />
|
||||
<xs:element ref="tns:Scopes" minOccurs="0" />
|
||||
<xs:element ref="tns:XAddrs" />
|
||||
<xs:element ref="tns:MetadataVersion" />
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="Types" type="tns:QNameListType" />
|
||||
<xs:simpleType name="QNameListType" >
|
||||
<xs:list itemType="xs:QName" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="Scopes" type="tns:ScopesType" />
|
||||
<xs:complexType name="ScopesType" >
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="tns:UriListType" >
|
||||
<xs:attribute name="MatchBy" type="xs:anyURI" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="XAddrs" type="tns:UriListType" />
|
||||
<xs:simpleType name="UriListType" >
|
||||
<xs:list itemType="xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="MetadataVersion" type="xs:unsignedInt" />
|
||||
|
||||
<!-- //////////////////// Faults //////////////////// -->
|
||||
|
||||
<xs:simpleType name="FaultCodeType" >
|
||||
<xs:restriction base="xs:QName" >
|
||||
<xs:enumeration value="tns:MatchingRuleNotSupported" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="FaultCodeOpenType" >
|
||||
<xs:union memberTypes="tns:FaultCodeType xs:QName" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="SupportedMatchingRules" type="tns:UriListType" />
|
||||
|
||||
<!-- //////////////////// Compact Signature //////////////////// -->
|
||||
|
||||
<xs:attribute name="Id" type="xs:ID"/>
|
||||
|
||||
<xs:element name="Security" type="tns:SecurityType" />
|
||||
<xs:complexType name="SecurityType" >
|
||||
<xs:sequence>
|
||||
<xs:element ref="tns:Sig" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="Sig" type="tns:SigType" />
|
||||
<xs:complexType name="SigType" >
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##other"
|
||||
processContents="lax"
|
||||
minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Scheme" type="xs:anyURI" use="required" />
|
||||
<xs:attribute name="KeyId" type="xs:base64Binary" />
|
||||
<xs:attribute name="Refs" type="xs:IDREFS" use="required" />
|
||||
<xs:attribute name="Sig" type="xs:base64Binary" use="required" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
|
||||
<!-- //////////////////// General Headers //////////////////// -->
|
||||
|
||||
<xs:element name="AppSequence" type="tns:AppSequenceType" />
|
||||
<xs:complexType name="AppSequenceType" >
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="xs:anyType" >
|
||||
<xs:attribute name="InstanceId"
|
||||
type="xs:unsignedInt"
|
||||
use="required" />
|
||||
<xs:attribute name="SequenceId" type="xs:anyURI" />
|
||||
<xs:attribute name="MessageNumber"
|
||||
type="xs:unsignedInt"
|
||||
use="required" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
287
deps/lib/python3.10/site-packages/onvif/wsdl/xml.xsd
vendored
Normal file
287
deps/lib/python3.10/site-packages/onvif/wsdl/xml.xsd
vendored
Normal file
@ -0,0 +1,287 @@
|
||||
<?xml version='1.0'?>
|
||||
<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
|
||||
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns ="http://www.w3.org/1999/xhtml"
|
||||
xml:lang="en">
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div>
|
||||
<h1>About the XML namespace</h1>
|
||||
|
||||
<div class="bodytext">
|
||||
<p>
|
||||
This schema document describes the XML namespace, in a form
|
||||
suitable for import by other schema documents.
|
||||
</p>
|
||||
<p>
|
||||
See <a href="http://www.w3.org/XML/1998/namespace.html">
|
||||
http://www.w3.org/XML/1998/namespace.html</a> and
|
||||
<a href="http://www.w3.org/TR/REC-xml">
|
||||
http://www.w3.org/TR/REC-xml</a> for information
|
||||
about this namespace.
|
||||
</p>
|
||||
<p>
|
||||
Note that local names in this namespace are intended to be
|
||||
defined only by the World Wide Web Consortium or its subgroups.
|
||||
The names currently defined in this namespace are listed below.
|
||||
They should not be used with conflicting semantics by any Working
|
||||
Group, specification, or document instance.
|
||||
</p>
|
||||
<p>
|
||||
See further below in this document for more information about <a
|
||||
href="#usage">how to refer to this schema document from your own
|
||||
XSD schema documents</a> and about <a href="#nsversioning">the
|
||||
namespace-versioning policy governing this schema document</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:attribute name="lang">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div>
|
||||
|
||||
<h3>lang (as an attribute name)</h3>
|
||||
<p>
|
||||
denotes an attribute whose value
|
||||
is a language code for the natural language of the content of
|
||||
any element; its value is inherited. This name is reserved
|
||||
by virtue of its definition in the XML specification.</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h4>Notes</h4>
|
||||
<p>
|
||||
Attempting to install the relevant ISO 2- and 3-letter
|
||||
codes as the enumerated possible values is probably never
|
||||
going to be a realistic possibility.
|
||||
</p>
|
||||
<p>
|
||||
See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
|
||||
http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
|
||||
and the IANA language subtag registry at
|
||||
<a href="http://www.iana.org/assignments/language-subtag-registry">
|
||||
http://www.iana.org/assignments/language-subtag-registry</a>
|
||||
for further information.
|
||||
</p>
|
||||
<p>
|
||||
The union allows for the 'un-declaration' of xml:lang with
|
||||
the empty string.
|
||||
</p>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:union memberTypes="xs:language">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value=""/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:union>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="space">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div>
|
||||
|
||||
<h3>space (as an attribute name)</h3>
|
||||
<p>
|
||||
denotes an attribute whose
|
||||
value is a keyword indicating what whitespace processing
|
||||
discipline is intended for the content of the element; its
|
||||
value is inherited. This name is reserved by virtue of its
|
||||
definition in the XML specification.</p>
|
||||
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NCName">
|
||||
<xs:enumeration value="default"/>
|
||||
<xs:enumeration value="preserve"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
|
||||
<xs:documentation>
|
||||
<div>
|
||||
|
||||
<h3>base (as an attribute name)</h3>
|
||||
<p>
|
||||
denotes an attribute whose value
|
||||
provides a URI to be used as the base for interpreting any
|
||||
relative URIs in the scope of the element on which it
|
||||
appears; its value is inherited. This name is reserved
|
||||
by virtue of its definition in the XML Base specification.</p>
|
||||
|
||||
<p>
|
||||
See <a
|
||||
href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
|
||||
for information about this attribute.
|
||||
</p>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="id" type="xs:ID">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div>
|
||||
|
||||
<h3>id (as an attribute name)</h3>
|
||||
<p>
|
||||
denotes an attribute whose value
|
||||
should be interpreted as if declared to be of type ID.
|
||||
This name is reserved by virtue of its definition in the
|
||||
xml:id specification.</p>
|
||||
|
||||
<p>
|
||||
See <a
|
||||
href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
|
||||
for information about this attribute.
|
||||
</p>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attributeGroup name="specialAttrs">
|
||||
<xs:attribute ref="xml:base"/>
|
||||
<xs:attribute ref="xml:lang"/>
|
||||
<xs:attribute ref="xml:space"/>
|
||||
<xs:attribute ref="xml:id"/>
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div>
|
||||
|
||||
<h3>Father (in any context at all)</h3>
|
||||
|
||||
<div class="bodytext">
|
||||
<p>
|
||||
denotes Jon Bosak, the chair of
|
||||
the original XML Working Group. This name is reserved by
|
||||
the following decision of the W3C XML Plenary and
|
||||
XML Coordination groups:
|
||||
</p>
|
||||
<blockquote>
|
||||
<p>
|
||||
In appreciation for his vision, leadership and
|
||||
dedication the W3C XML Plenary on this 10th day of
|
||||
February, 2000, reserves for Jon Bosak in perpetuity
|
||||
the XML name "xml:Father".
|
||||
</p>
|
||||
</blockquote>
|
||||
</div>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div xml:id="usage" id="usage">
|
||||
<h2><a name="usage">About this schema document</a></h2>
|
||||
|
||||
<div class="bodytext">
|
||||
<p>
|
||||
This schema defines attributes and an attribute group suitable
|
||||
for use by schemas wishing to allow <code>xml:base</code>,
|
||||
<code>xml:lang</code>, <code>xml:space</code> or
|
||||
<code>xml:id</code> attributes on elements they define.
|
||||
</p>
|
||||
<p>
|
||||
To enable this, such a schema must import this schema for
|
||||
the XML namespace, e.g. as follows:
|
||||
</p>
|
||||
<pre>
|
||||
<schema . . .>
|
||||
. . .
|
||||
<import namespace="http://www.w3.org/XML/1998/namespace"
|
||||
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
|
||||
</pre>
|
||||
<p>
|
||||
or
|
||||
</p>
|
||||
<pre>
|
||||
<import namespace="http://www.w3.org/XML/1998/namespace"
|
||||
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
|
||||
</pre>
|
||||
<p>
|
||||
Subsequently, qualified reference to any of the attributes or the
|
||||
group defined below will have the desired effect, e.g.
|
||||
</p>
|
||||
<pre>
|
||||
<type . . .>
|
||||
. . .
|
||||
<attributeGroup ref="xml:specialAttrs"/>
|
||||
</pre>
|
||||
<p>
|
||||
will define a type which will schema-validate an instance element
|
||||
with any of those attributes.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div id="nsversioning" xml:id="nsversioning">
|
||||
<h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
|
||||
<div class="bodytext">
|
||||
<p>
|
||||
In keeping with the XML Schema WG's standard versioning
|
||||
policy, this schema document will persist at
|
||||
<a href="http://www.w3.org/2009/01/xml.xsd">
|
||||
http://www.w3.org/2009/01/xml.xsd</a>.
|
||||
</p>
|
||||
<p>
|
||||
At the date of issue it can also be found at
|
||||
<a href="http://www.w3.org/2001/xml.xsd">
|
||||
http://www.w3.org/2001/xml.xsd</a>.
|
||||
</p>
|
||||
<p>
|
||||
The schema document at that URI may however change in the future,
|
||||
in order to remain compatible with the latest version of XML
|
||||
Schema itself, or with the XML namespace itself. In other words,
|
||||
if the XML Schema or XML namespaces change, the version of this
|
||||
document at <a href="http://www.w3.org/2001/xml.xsd">
|
||||
http://www.w3.org/2001/xml.xsd
|
||||
</a>
|
||||
will change accordingly; the version at
|
||||
<a href="http://www.w3.org/2009/01/xml.xsd">
|
||||
http://www.w3.org/2009/01/xml.xsd
|
||||
</a>
|
||||
will not change.
|
||||
</p>
|
||||
<p>
|
||||
Previous dated (and unchanging) versions of this schema
|
||||
document are at:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="http://www.w3.org/2009/01/xml.xsd">
|
||||
http://www.w3.org/2009/01/xml.xsd</a></li>
|
||||
<li><a href="http://www.w3.org/2007/08/xml.xsd">
|
||||
http://www.w3.org/2007/08/xml.xsd</a></li>
|
||||
<li><a href="http://www.w3.org/2004/10/xml.xsd">
|
||||
http://www.w3.org/2004/10/xml.xsd</a></li>
|
||||
<li><a href="http://www.w3.org/2001/03/xml.xsd">
|
||||
http://www.w3.org/2001/03/xml.xsd</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
</xs:schema>
|
||||
|
49
deps/lib/python3.10/site-packages/onvif/wsdl/xmlmime
vendored
Normal file
49
deps/lib/python3.10/site-packages/onvif/wsdl/xmlmime
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!--
|
||||
W3C XML Schema defined in the Describing Media Content of Binary Data in XML
|
||||
specification
|
||||
http://www.w3.org/TR/xml-media-types
|
||||
|
||||
Copyright © 2005 World Wide Web Consortium,
|
||||
|
||||
(Massachusetts Institute of Technology, European Research Consortium for
|
||||
Informatics and Mathematics, Keio University). All Rights Reserved. This
|
||||
work is distributed under the W3C® Software License [1] in the hope that
|
||||
it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
||||
|
||||
$Id: xmlmime.xsd,v 1.1 2005/04/25 17:08:35 hugo Exp $
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
|
||||
targetNamespace="http://www.w3.org/2005/05/xmlmime" >
|
||||
|
||||
<xs:attribute name="contentType">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string" >
|
||||
<xs:minLength value="3" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="expectedContentTypes" type="xs:string" />
|
||||
|
||||
<xs:complexType name="base64Binary" >
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:base64Binary" >
|
||||
<xs:attribute ref="xmime:contentType" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="hexBinary" >
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:hexBinary" >
|
||||
<xs:attribute ref="xmime:contentType" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
1
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/INSTALLER
vendored
Normal file
1
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/INSTALLER
vendored
Normal file
@ -0,0 +1 @@
|
||||
pip
|
22
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/LICENSE
vendored
Normal file
22
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/LICENSE
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Quatanium Co., Ltd.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
189
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/METADATA
vendored
Normal file
189
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/METADATA
vendored
Normal file
@ -0,0 +1,189 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: onvif-zeep-async
|
||||
Version: 1.2.0
|
||||
Summary: Async Python Client for ONVIF Camera
|
||||
Home-page: http://github.com/hunterjm/python-onvif-zeep-async
|
||||
Author: Cherish Chen
|
||||
Author-email: sinchb128@gmail.com
|
||||
Maintainer: sinchb
|
||||
Maintainer-email: sinchb128@gmail.com
|
||||
License: MIT
|
||||
Keywords: ONVIF,Camera,IPC
|
||||
Platform: UNKNOWN
|
||||
Requires-Python: >=3
|
||||
Requires-Dist: httpx (<1.0.0,>=0.19.0)
|
||||
Requires-Dist: zeep[async] (<5.0.0,>=4.1.0)
|
||||
|
||||
python-onvif-zeep-async
|
||||
=======================
|
||||
|
||||
ONVIF Client Implementation in Python 3
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
`zeep[async] <http://docs.python-zeep.org>`_ >= 4.1.0, < 5.0.0
|
||||
`httpx <https://www.python-httpx.org/>`_ >= 0.19.0, < 1.0.0
|
||||
|
||||
Install python-onvif-zeep-async
|
||||
-------------------------------
|
||||
**From Source**
|
||||
|
||||
You should clone this repository and run setup.py::
|
||||
|
||||
cd python-onvif-zeep-async && python setup.py install
|
||||
|
||||
Alternatively, you can run::
|
||||
|
||||
pip install --upgrade onvif-zeep-async
|
||||
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
Initialize an ONVIFCamera instance
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
from onvif import ONVIFCamera
|
||||
mycam = ONVIFCamera('192.168.0.2', 80, 'user', 'passwd', '/etc/onvif/wsdl/')
|
||||
await mycam.update_xaddrs()
|
||||
|
||||
Now, an ONVIFCamera instance is available. By default, a devicemgmt service is also available if everything is OK.
|
||||
|
||||
So, all operations defined in the WSDL document::
|
||||
|
||||
/etc/onvif/wsdl/devicemgmt.wsdl
|
||||
|
||||
are available.
|
||||
|
||||
Get information from your camera
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
::
|
||||
|
||||
# Get Hostname
|
||||
resp = await mycam.devicemgmt.GetHostname()
|
||||
print 'My camera`s hostname: ' + str(resp.Name)
|
||||
|
||||
# Get system date and time
|
||||
dt = await mycam.devicemgmt.GetSystemDateAndTime()
|
||||
tz = dt.TimeZone
|
||||
year = dt.UTCDateTime.Date.Year
|
||||
hour = dt.UTCDateTime.Time.Hour
|
||||
|
||||
Configure (Control) your camera
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To configure your camera, there are two ways to pass parameters to service methods.
|
||||
|
||||
**Dict**
|
||||
|
||||
This is the simpler way::
|
||||
|
||||
params = {'Name': 'NewHostName'}
|
||||
await device_service.SetHostname(params)
|
||||
|
||||
**Type Instance**
|
||||
|
||||
This is the recommended way. Type instance will raise an
|
||||
exception if you set an invalid (or non-existent) parameter.
|
||||
|
||||
::
|
||||
|
||||
params = mycam.devicemgmt.create_type('SetHostname')
|
||||
params.Hostname = 'NewHostName'
|
||||
await mycam.devicemgmt.SetHostname(params)
|
||||
|
||||
time_params = mycam.devicemgmt.create_type('SetSystemDateAndTime')
|
||||
time_params.DateTimeType = 'Manual'
|
||||
time_params.DaylightSavings = True
|
||||
time_params.TimeZone.TZ = 'CST-8:00:00'
|
||||
time_params.UTCDateTime.Date.Year = 2014
|
||||
time_params.UTCDateTime.Date.Month = 12
|
||||
time_params.UTCDateTime.Date.Day = 3
|
||||
time_params.UTCDateTime.Time.Hour = 9
|
||||
time_params.UTCDateTime.Time.Minute = 36
|
||||
time_params.UTCDateTime.Time.Second = 11
|
||||
await mycam.devicemgmt.SetSystemDateAndTime(time_params)
|
||||
|
||||
Use other services
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
ONVIF protocol has defined many services.
|
||||
You can find all the services and operations `here <http://www.onvif.org/onvif/ver20/util/operationIndex.html>`_.
|
||||
ONVIFCamera has support methods to create new services::
|
||||
|
||||
# Create ptz service
|
||||
ptz_service = mycam.create_ptz_service()
|
||||
# Get ptz configuration
|
||||
await mycam.ptz.GetConfiguration()
|
||||
# Another way
|
||||
# await ptz_service.GetConfiguration()
|
||||
|
||||
Or create an unofficial service::
|
||||
|
||||
xaddr = 'http://192.168.0.3:8888/onvif/yourservice'
|
||||
yourservice = mycam.create_onvif_service('service.wsdl', xaddr, 'yourservice')
|
||||
await yourservice.SomeOperation()
|
||||
# Another way
|
||||
# await mycam.yourservice.SomeOperation()
|
||||
|
||||
ONVIF CLI
|
||||
---------
|
||||
python-onvif also provides a command line interactive interface: onvif-cli.
|
||||
onvif-cli is installed automatically.
|
||||
|
||||
Single command example
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
$ onvif-cli devicemgmt GetHostname --user 'admin' --password '12345' --host '192.168.0.112' --port 80
|
||||
True: {'FromDHCP': True, 'Name': hision}
|
||||
$ onvif-cli devicemgmt SetHostname "{'Name': 'NewerHostname'}" --user 'admin' --password '12345' --host '192.168.0.112' --port 80
|
||||
True: {}
|
||||
|
||||
Interactive mode
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
$ onvif-cli -u 'admin' -a '12345' --host '192.168.0.112' --port 80 --wsdl /etc/onvif/wsdl/
|
||||
ONVIF >>> cmd
|
||||
analytics devicemgmt events imaging media ptz
|
||||
ONVIF >>> cmd devicemgmt GetWsdlUrl
|
||||
True: http://www.onvif.org/
|
||||
ONVIF >>> cmd devicemgmt SetHostname {'Name': 'NewHostname'}
|
||||
ONVIF >>> cmd devicemgmt GetHostname
|
||||
True: {'Name': 'NewHostName'}
|
||||
ONVIF >>> cmd devicemgmt SomeOperation
|
||||
False: No Operation: SomeOperation
|
||||
|
||||
NOTE: Tab completion is supported for interactive mode.
|
||||
|
||||
Batch mode
|
||||
~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
$ vim batchcmds
|
||||
$ cat batchcmds
|
||||
cmd devicemgmt GetWsdlUrl
|
||||
cmd devicemgmt SetHostname {'Name': 'NewHostname', 'FromDHCP': True}
|
||||
cmd devicemgmt GetHostname
|
||||
$ onvif-cli --host 192.168.0.112 -u admin -a 12345 -w /etc/onvif/wsdl/ < batchcmds
|
||||
ONVIF >>> True: http://www.onvif.org/
|
||||
ONVIF >>> True: {}
|
||||
ONVIF >>> True: {'FromDHCP': False, 'Name': NewHostname}
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
* `ONVIF Offical Website <http://www.onvif.com>`_
|
||||
|
||||
* `Operations Index <http://www.onvif.org/onvif/ver20/util/operationIndex.html>`_
|
||||
|
||||
* `ONVIF Develop Documents <http://www.onvif.org/specs/DocMap-2.4.2.html>`_
|
||||
|
||||
* `Foscam Python Lib <http://github.com/quatanium/foscam-python-lib>`_
|
||||
|
||||
|
53
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/RECORD
vendored
Normal file
53
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/RECORD
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
../../../bin/onvif-cli,sha256=MAGXs94BBofHuAiVBTfKfcqsA_XM7ST0DEk9gA6XQWM,214
|
||||
onvif/__init__.py,sha256=DAsdFf5oJMqju-l7Vb-abV5z4RQ1fpZ8ddJmwD3zVok,599
|
||||
onvif/__pycache__/__init__.cpython-310.pyc,,
|
||||
onvif/__pycache__/client.cpython-310.pyc,,
|
||||
onvif/__pycache__/definition.cpython-310.pyc,,
|
||||
onvif/__pycache__/exceptions.cpython-310.pyc,,
|
||||
onvif/client.py,sha256=-o7t3DF9lg45rQqGZa8VysfO_KFmvt1LMPoD51geL7E,16455
|
||||
onvif/definition.py,sha256=dT2uCtYYxIWHVghIHnITos4WOzjOIPotPsaEWGdx9lg,2190
|
||||
onvif/exceptions.py,sha256=mbyY-nIc7yfApB_q3YcYm0471wY0KNFoJ7bYP9Szgp8,886
|
||||
onvif/version.txt,sha256=HltRzeUVOWqfp2KQnPjKZYTMxWSzJdLuvup2F1_pXE0,6
|
||||
onvif/wsdl/__init__.py,sha256=Em3m8NWsx8UMimkXjJIny_LgRuGGgQ5_J_BokzWDuQY,26
|
||||
onvif/wsdl/__pycache__/__init__.cpython-310.pyc,,
|
||||
onvif/wsdl/accesscontrol.wsdl,sha256=GKQRCg8cSF4IRm2NdppfA0QX-CdxKpSiqr5L0AYFpbM,38072
|
||||
onvif/wsdl/actionengine.wsdl,sha256=jMPBM2GD3s2fh7n8LipF_bPNZhvzb1DLYNUZV6h19tA,57255
|
||||
onvif/wsdl/addressing,sha256=mqQSab7i4cPEbSmTDE_ce6-9nB4xVJmNRVRExqAqMEE,7263
|
||||
onvif/wsdl/advancedsecurity.wsdl,sha256=yTL8gF152Qm-RXeizLhULhpFfDOKkIUx74N3OJIMQBI,79284
|
||||
onvif/wsdl/analytics.wsdl,sha256=W5laHpMfME71MQwNjhS1LBtbZ4TIHFewyX22KXzrNu4,24131
|
||||
onvif/wsdl/analyticsdevice.wsdl,sha256=QCLXOfnRgbEIiTILaTbMUCbTBn42Z9ufhByrsZ5jJCQ,31976
|
||||
onvif/wsdl/b-2.xsd,sha256=oftw2i1rYft_ok8JknHx34npjJxvpChojE01j0ObbP8,23300
|
||||
onvif/wsdl/bf-2.xsd,sha256=9ala3IYLci5voOa04yJjR0hxMs1OI6T7gMmR8kQaIjs,5100
|
||||
onvif/wsdl/bw-2.wsdl,sha256=5M7OMEKxmlcbKRzWrD2rERRSdeJ38RiDEskpBqXEDBY,20498
|
||||
onvif/wsdl/deviceio.wsdl,sha256=dG4by3ReWpY6sWWPPLQfkvcZjaj4SSN0BCC1bfzIrwo,60231
|
||||
onvif/wsdl/devicemgmt.wsdl,sha256=Eg7OATq94VcY-hgb4l4qzxpSdm3Kr0Bd2sVfOZ4MeCI,163209
|
||||
onvif/wsdl/display.wsdl,sha256=ypm5RYq0X2Ac5oCy3OfXcEiQ1lvcOP_EAfygwROEPTY,24593
|
||||
onvif/wsdl/doorcontrol.wsdl,sha256=FKjpZNFd8jDmacXhacyt7mvdwZeIWSoSJADVKg0QQSM,53648
|
||||
onvif/wsdl/envelope,sha256=nGb4i3mtYNbVtjg5u7cJsM39WRiYw1rBh8PCcsR7Uq4,6249
|
||||
onvif/wsdl/events.wsdl,sha256=9GLKEWYPwoxHj5YqQGjb2Ui4hg6v0xb4sm6YZ2x-hhg,37870
|
||||
onvif/wsdl/imaging.wsdl,sha256=_s0QauUK5wtAc_B26DUY6o9py2ZzmmHb9SGDA6LIW9E,17998
|
||||
onvif/wsdl/include,sha256=3_kQDvzkr7Id4M9nP7f60QNnKhaYYqsPEuNMMSsg5g0,511
|
||||
onvif/wsdl/media.wsdl,sha256=pu1qNRCWgbunJ2DYZw80Xgsic25Frj0EVQX8vZ9YLr0,174812
|
||||
onvif/wsdl/onvif.xsd,sha256=nRdmSnFoTEOrM444eoGSg1YDZH45NCgCHCA0YYk3NLc,363349
|
||||
onvif/wsdl/ptz.wsdl,sha256=yY_iflOkYaqivi9Ene4iQyzgrR6VUtPuiiNnm5lXYBM,54058
|
||||
onvif/wsdl/r-2.xsd,sha256=5vnupoUZkNcSRgsgzZPJiCZqj-E-wnM3zFCdUy1yFhY,3660
|
||||
onvif/wsdl/receiver.wsdl,sha256=Fqamd4htp9phs_S_jdFIcW2T-VyILwSrUdJX1jox_YE,17214
|
||||
onvif/wsdl/recording.wsdl,sha256=taj5YpiTJwPboUgAGuUw29HVxa0TBKDEL3zReHjfy7g,40704
|
||||
onvif/wsdl/remotediscovery.wsdl,sha256=UoU7dgABpVHDCSxLFnsa2DXyNzIteGVXie6rhAyaxNY,5596
|
||||
onvif/wsdl/replay.wsdl,sha256=Yvs6a9b00tyFLTgptT67wvPyUqmlKp4OpqabA-UL3O8,10581
|
||||
onvif/wsdl/rw-2.wsdl,sha256=zv4pjJUS5IBz523QQolHzaN42Hh9aF7yAqFBXszBGnM,3727
|
||||
onvif/wsdl/search.wsdl,sha256=llUg6aAOOIRJFebwV7Th3KTVFBwEOG3FdGiAX2Dj_JY,43139
|
||||
onvif/wsdl/t-1.xsd,sha256=rV2wQyo4hdHIpXS6a0BYGTrym8lxIyxLtrMfgpX-Myk,8960
|
||||
onvif/wsdl/types.xsd,sha256=k1k3M6krspu9qKz0Wc45ix-foPeg_mI8t3XucagdfoI,3738
|
||||
onvif/wsdl/ws-addr.xsd,sha256=r4Bsya8lFOmwsH7-Tk3EKjLa2KwIRz3AJRNiB3edXuk,5849
|
||||
onvif/wsdl/ws-discovery.xsd,sha256=nJgWWM0EgHm82w2zxM5-WhHnulpvyB7vh-R5VFdXquE,10455
|
||||
onvif/wsdl/xml.xsd,sha256=YZYPsxMeOAIsqtU2Di8zozgleKs8gM1YvXQyDt5hsgw,8836
|
||||
onvif/wsdl/xmlmime,sha256=Mwq3ns3TqGKPEu9MvjQ1HkSPm5IxusrTOYgc4aYSN6I,1639
|
||||
onvif_zeep_async-1.2.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
onvif_zeep_async-1.2.0.dist-info/LICENSE,sha256=ZEQ7HH321Omn-RdwKJZsIzEFs26TN-xJxzy3VxPTWIk,1087
|
||||
onvif_zeep_async-1.2.0.dist-info/METADATA,sha256=XfKRbZNsDsoh2XPPauylogMn7MzvPeZsjzuTLEHoDXE,5371
|
||||
onvif_zeep_async-1.2.0.dist-info/RECORD,,
|
||||
onvif_zeep_async-1.2.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
onvif_zeep_async-1.2.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
|
||||
onvif_zeep_async-1.2.0.dist-info/entry_points.txt,sha256=T86-G39qBuLrqpISnl9sHjvR2Lt_KeMSAQus_tvBYM0,46
|
||||
onvif_zeep_async-1.2.0.dist-info/top_level.txt,sha256=MqCi1uJmIvtVFJDz2IxLbpwq6FwDtWhqrWQtKwLaQg4,6
|
0
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/REQUESTED
vendored
Normal file
0
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/REQUESTED
vendored
Normal file
6
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/WHEEL
vendored
Normal file
6
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/WHEEL
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.34.2)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py2-none-any
|
||||
Tag: py3-none-any
|
||||
|
3
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/entry_points.txt
vendored
Normal file
3
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/entry_points.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[console_scripts]
|
||||
onvif-cli = onvif.cli:main
|
||||
|
1
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/top_level.txt
vendored
Normal file
1
deps/lib/python3.10/site-packages/onvif_zeep_async-1.2.0.dist-info/top_level.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
onvif
|
1
deps/lib/python3.10/site-packages/pytapo-2.9.1.dist-info/INSTALLER
vendored
Normal file
1
deps/lib/python3.10/site-packages/pytapo-2.9.1.dist-info/INSTALLER
vendored
Normal file
@ -0,0 +1 @@
|
||||
pip
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user