Showing preview only (3,328K chars total). Download the full file or copy to clipboard to get everything.
Repository: Kinnay/NintendoClients
Branch: master
Commit: 55e85dd25b5e
Files: 186
Total size: 3.1 MB
Directory structure:
gitextract_9qevxi15/
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ └── testing.yml
├── .gitignore
├── .readthedocs.yml
├── LICENSE
├── README.md
├── docs/
│ ├── changelog.md
│ ├── index.md
│ ├── reference/
│ │ ├── miis.md
│ │ ├── nasc.md
│ │ ├── nex/
│ │ │ ├── aauser.md
│ │ │ ├── account.md
│ │ │ ├── authentication.md
│ │ │ ├── backend.md
│ │ │ ├── common.md
│ │ │ ├── datastore.md
│ │ │ ├── datastore_miitopia_3ds.md
│ │ │ ├── datastore_smm.md
│ │ │ ├── datastore_smm2.md
│ │ │ ├── debug.md
│ │ │ ├── errors.md
│ │ │ ├── friends.md
│ │ │ ├── friends_3ds.md
│ │ │ ├── health.md
│ │ │ ├── hpp.md
│ │ │ ├── kerberos.md
│ │ │ ├── matchmaking.md
│ │ │ ├── matchmaking_eagle.md
│ │ │ ├── matchmaking_mhxx.md
│ │ │ ├── matchmaking_mk8.md
│ │ │ ├── matchmaking_mk8d.md
│ │ │ ├── messaging.md
│ │ │ ├── monitoring.md
│ │ │ ├── natcheck.md
│ │ │ ├── nattraversal.md
│ │ │ ├── nintendonotification.md
│ │ │ ├── notification.md
│ │ │ ├── prudp.md
│ │ │ ├── ranking.md
│ │ │ ├── ranking2.md
│ │ │ ├── ranking2_eagle.md
│ │ │ ├── ranking_mk8.md
│ │ │ ├── ranking_mk8d.md
│ │ │ ├── remotelog.md
│ │ │ ├── rmc.md
│ │ │ ├── screening.md
│ │ │ ├── secure.md
│ │ │ ├── settings.md
│ │ │ ├── streams.md
│ │ │ ├── subscriber.md
│ │ │ └── utility.md
│ │ ├── nnas.md
│ │ ├── switch/
│ │ │ ├── aauth.md
│ │ │ ├── atumn.md
│ │ │ ├── baas.md
│ │ │ ├── dauth.md
│ │ │ ├── dragons.md
│ │ │ ├── five.md
│ │ │ └── sun.md
│ │ └── switch.md
│ └── style.css
├── examples/
│ ├── 3ds/
│ │ └── friends.py
│ ├── custom/
│ │ ├── server.py
│ │ └── server_login.py
│ ├── switch/
│ │ ├── animalcrossing.py
│ │ ├── smm2_level.py
│ │ ├── smm2_ninji.py
│ │ └── system_update.py
│ └── wiiu/
│ ├── donkeykong.py
│ ├── friends.py
│ ├── mariokart.py
│ └── miis.py
├── generate_protocols.py
├── mkdocs.yml
├── nintendo/
│ ├── __init__.py
│ ├── files/
│ │ ├── cert/
│ │ │ ├── CTR_Common_Prod_1.der
│ │ │ ├── CTR_Common_Prod_1.key
│ │ │ ├── Nintendo_CA_G3.der
│ │ │ ├── Nintendo_Class_2_CA_G3.der
│ │ │ ├── Nintendo_Root_CA_G4.der
│ │ │ ├── Wii_U_Common_Prod_1.der
│ │ │ └── Wii_U_Common_Prod_1.key
│ │ ├── config/
│ │ │ ├── 3ds.cfg
│ │ │ ├── default.cfg
│ │ │ ├── friends.cfg
│ │ │ └── switch.cfg
│ │ └── proto/
│ │ ├── aauser.proto
│ │ ├── account.proto
│ │ ├── authentication.proto
│ │ ├── datastore.proto
│ │ ├── datastore_miitopia_3ds.proto
│ │ ├── datastore_smm.proto
│ │ ├── datastore_smm2.proto
│ │ ├── debug.proto
│ │ ├── friends.proto
│ │ ├── health.proto
│ │ ├── matchmaking.proto
│ │ ├── matchmaking_eagle.proto
│ │ ├── matchmaking_mhxx.proto
│ │ ├── matchmaking_mk8.proto
│ │ ├── matchmaking_mk8d.proto
│ │ ├── messaging.proto
│ │ ├── monitoring.proto
│ │ ├── nattraversal.proto
│ │ ├── nintendonotification.proto
│ │ ├── notification.proto
│ │ ├── ranking.proto
│ │ ├── ranking2.proto
│ │ ├── ranking2_eagle.proto
│ │ ├── ranking_mk8.proto
│ │ ├── ranking_mk8d.proto
│ │ ├── remotelog.proto
│ │ ├── screening.proto
│ │ ├── secure.proto
│ │ ├── subscriber.proto
│ │ └── utility.proto
│ ├── miis.py
│ ├── nasc.py
│ ├── nex/
│ │ ├── __init__.py
│ │ ├── aauser.py
│ │ ├── account.py
│ │ ├── authentication.py
│ │ ├── backend.py
│ │ ├── common.py
│ │ ├── datastore.py
│ │ ├── datastore_miitopia_3ds.py
│ │ ├── datastore_smm.py
│ │ ├── datastore_smm2.py
│ │ ├── debug.py
│ │ ├── errors.py
│ │ ├── friends.py
│ │ ├── health.py
│ │ ├── hpp.py
│ │ ├── kerberos.py
│ │ ├── matchmaking.py
│ │ ├── matchmaking_eagle.py
│ │ ├── matchmaking_mhxx.py
│ │ ├── matchmaking_mk8.py
│ │ ├── matchmaking_mk8d.py
│ │ ├── messaging.py
│ │ ├── monitoring.py
│ │ ├── natcheck.py
│ │ ├── nattraversal.py
│ │ ├── nintendonotification.py
│ │ ├── notification.py
│ │ ├── prudp.py
│ │ ├── ranking.py
│ │ ├── ranking2.py
│ │ ├── ranking2_eagle.py
│ │ ├── ranking_mk8.py
│ │ ├── ranking_mk8d.py
│ │ ├── remotelog.py
│ │ ├── rmc.py
│ │ ├── screening.py
│ │ ├── secure.py
│ │ ├── settings.py
│ │ ├── streams.py
│ │ ├── subscriber.py
│ │ └── utility.py
│ ├── nnas.py
│ ├── resources.py
│ └── switch/
│ ├── __init__.py
│ ├── aauth.py
│ ├── atumn.py
│ ├── baas.py
│ ├── common.py
│ ├── dauth.py
│ ├── dragons.py
│ ├── five.py
│ └── sun.py
├── setup.py
└── tests/
├── nex/
│ ├── test_backend.py
│ ├── test_common.py
│ ├── test_errors.py
│ ├── test_kerberos.py
│ ├── test_nex_streams.py
│ ├── test_prudp.py
│ ├── test_rmc.py
│ └── test_settings.py
└── switch/
├── test_aauth.py
├── test_atumn.py
├── test_baas.py
├── test_dauth.py
├── test_dragons.py
├── test_five.py
└── test_sun.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: [kinnay]
================================================
FILE: .github/workflows/testing.yml
================================================
name: Pytest
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
jobs:
pytest:
runs-on: ubuntu-latest
name: Check code with Pytest
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest trio
pip install .
- name: Run Pytest
run: pytest
================================================
FILE: .gitignore
================================================
/*.egg-info/
__pycache__/
/build/
/dist/
/site/
/private/
/*.bin
/*.jpg
================================================
FILE: .readthedocs.yml
================================================
# Read the Docs configuration file for MkDocs projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
mkdocs:
configuration: mkdocs.yml
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2017 Yannik Marchand
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.
================================================
FILE: README.md
================================================
# Nintendo Clients
> :warning: Keep in mind that Nintendo bans Switch devices that show suspicious behavior. This package tries to mimic the behavior of a real Switch as closely as possible, but using it is at your own risk. Make sure that you know what you are doing.
This package implements a client for various 3DS, Wii U and Switch servers. Check out the [documentation](https://nintendoclients.readthedocs.io) for the list of servers that are currently supported.
For Switch servers, the latest system version that is currently supported is **22.1.0**.
For talk about research, feel free to join the [Discord server](https://discord.gg/x8np6Hhxwk) or open a [discussion](https://github.com/kinnay/NintendoClients/discussions) on GitHub.
### Installation
This package requires Python 3.8 or later and can be installed with pip: `pip install nintendoclients`. This package uses [semantic versioning](https://semver.org/).
### Documentation
* [Nintendo's servers and protocols](https://github.com/Kinnay/NintendoClients/wiki)
* [The classes and functions in this package](https://nintendoclients.readthedocs.io)
### Example scripts
* **switch/**
* **smm2_level.py:** Downloads a Super Mario Maker 2 level and its thumbnails, and prints information about both the level and its creator.
* **smm2_ninji.py:** Requests the list of ninji courses and downloads a replay file.
* **animalcrossing.py:** Searches for an island by dodo code and prints information about it.
* **system_update.py:** Downloads the latest system update and unpacks it into exefs and romfs.
<br><br>
* **wiiu/**
* **donkeykong.py:** Downloads DKC Tropical Freeze rankings and the replay file of the world record.
* **mariokart.py:** Downloads Mario Kart 8 rankings and the replay file of whoever is in 500th place.
* **miis.py:** Requests all kinds of information about the primary mii associated with a NNID.
* **friends.py:** Requests your friend list, incoming and outgoing friend requests, and blacklist.
<br><br>
* **3ds/**
* **friends.py:** Changes your comment to 'Hello World'.
<br><br>
* **custom/**
* **server.py:** Shows how to create a simple game server with both an authentication server and a secure server.
* **server_login.py:** Logs in on a game server and disconnects immediately. This can be used to test custom servers.
### Sponsorship
Consider becoming a [sponsor](https://github.com/sponsors/kinnay) if you would like to support this project.
If you become a sponsor, I will be able to spend more time on this project, which will lead to faster updates. In addition, you will be given priority for personal support and feature suggestions.
================================================
FILE: docs/changelog.md
================================================
## Changelog
### 4.4.0
* Added support for Switch system version 22.0.0 and 22.1.0.
*Released on 2026-04-14*
### 4.3.0
* Added support for Switch system version 21.2.0.
*Released on 2026-01-15*
### 4.2.0
* **Bug fix:** fix `MatchmakeSession` structure being parsed incorrectly on Nintendo Switch.
* **Bug fix:** make a distinction between `AnyDataHolder` and `GatheringHolder` structures in NEX.
* Added support for Switch system version 20.5.0 up to 21.1.0.
* Added names for previously unknown fields in the `SimpleSearchObject` structure of MK8D.
*Released on 2026-01-02*
### 4.1.0
* Added support for Switch system version 20.2.0 up to 20.4.0.
* Added support for the matchmaking protocol of Monster Hunter XX (3DS).
* Implemented RankingClient::GetScorePack for MK8D.
* Minor bug fixes.
*Released on 2025-09-19*
### 4.0.2
* Disable `device_token` and `edge_token` on system version 20.0.0 and later to avoid accidental usage.
*Released on 2025-06-21*
### 4.0.1
* **Bug fix:** using `device_token` or `edge_token` on system version 20.0.0 and later would send an invalid request to the server. This is now fixed.
<span style="color:red">**NOTE:**</span> It is recommended to use one of the `preload_*` functions or the `DAuthCache` class on system version 20.0.0 and later, to mimic the behavior of a real Switch.
*Released on 2025-06-21*
### 4.0.0
* **Breaking change:** some unknown fields in the `nintendo.nex.friends` module were given a name. If you were using the placeholder names in your code, update your code to use the new names.
* Added support for Switch system version 20.0.0 up to 20.1.5.
* Added various client ids for dauth, such as `er`, `sprofile` and `penne`.
* Implemented a dauth cache that mimics the preloading behavior that was introduced in 20.0.0.
* Added support for the ranking and matchmaking protocols of Mario Kart 8 (Wii U).
*Released on 2025-06-21*
### 3.0.3
* **Bug fix:** fixed typo, changed `BANNED_DEIVCE` to `BANNED_DEVICE` in `DAuthError` class.
*Released on 2024-12-28*
### 3.0.2
* **Bug fix:** fixed base64 decoding of dauth challenge. This fixes a bug that caused dauth to fail after a recent server update.
*Released on 2024-12-26*
### 3.0.1
* **Bug fix:** 19.0.1 support was missing in the previous release.
*Released on 2024-12-02*
### 3.0.0
* **Breaking change:** replaced `pkg_resources` by `importlib.resources`. This increases the minimum Python version to 3.11.
* **Bug fix**: removed ampersand before `device_auth_token` parameter in aauth challenge requests for 18.0.0+.
* **Bug fix**: added missing `naCountry` parameter to baas login requests for 18.0.0+.
* Added support for system version 19.0.0 and 19.0.1.
*Released on 2024-12-02*
### 2.2.1
* Fixed the header order in the dauth flow for system version 18.0.0 and later.
*Released on 2024-08-06*
### 2.2.0
* Added support for system version 18.1.0.
*Released on 2024-06-29*
### 2.1.0
* Added support for system version 17.0.1, 18.0.0 and 18.0.1.
* Added support for Switch gamecard authentication.
* Added support for the data store protocol of Miitopia 3DS.
*Released on 2024-05-04*
### 2.0.1
* **Bug fix**: added `nintendo.switch` to setup.py. The whole `nintendo.switch` folder was missing in the previous release.
*Released on 2023-11-12*
### 2.0.0
* **Breaking change:** moved all Switch-related clients into their own namespace. For example, `nintendo.dauth` is now `nintendo.switch.dauth`.
* **Breaking change:** dauth client ids are now global constants instead of members of `DAuthClient`.
* Implemented a client for the sun server (system update metadata).
* Implemented a client for the atumn server (system update content).
*Released on 2023-10-29*
### 1.1.0
* Added support for system version 17.0.0.
* Added default values to `RankingOrderParam.offset` and `RankingOrderParam.count`.
*Released on 2023-10-19*
### 1.0.0
First release with a changelog. Currently, the package implements everything that is required to communicate with NEX servers.
*Released on 2023-10-13*
================================================
FILE: docs/index.md
================================================
## Welcome to NintendoClients
This package lets you communicate with various 3DS, Wii U and Switch servers. For documentation about the servers and protocols click [here](https://github.com/kinnay/nintendo/wiki).
* [Features](#features)
* [Contributing](#contributing)
* [API Reference](#api-reference)
* [Changelog](changelog.md)
## Features
This package is able to do everything that's required to access a game server. It also provides a framework to host your own game servers. For example scripts, check out the [github repository](https://github.com/kinnay/nintendo). The following servers are currently supported:
* Switch:
* Game servers (`nex`)
* https://dauth-lp1.ndas.srv.nintendo.net
* https://aauth-lp1.ndas.srv.nintendo.net
* https://aauth.hac.lp1.ndas.srv.nintendo.net
* https://dragons.hac.lp1.dragons.nintendo.net
* https://e0d67c509fb203858ebcb2fe3f88c2aa.baas.nintendo.com
* https://app.lp1.five.nintendo.net
* https://sun.hac.lp1.d4c.nintendo.net
* https://atumn.hac.lp1.d4c.nintendo.net
* Wii U:
* Game servers (`nex`)
* https://account.nintendo.net
* 3DS:
* Game servers (`nex`)
* https://nasc.nintendowifi.net
## Contributing
Feel free to open a pull request or issue on [github](https://github.com/kinnay/nintendo). If you open a pull request, please try to follow the current code style as much as possible, and consider writing a test for new features and bug fixes.
## API Reference
* nex
* [aauser](reference/nex/aauser.md)
* [account](reference/nex/account.md)
* [authentication](reference/nex/authentication.md)
* [backend](reference/nex/backend.md)
* [common](reference/nex/common.md)
* [datastore](reference/nex/datastore.md)
* [datastore_smm](reference/nex/datastore_smm.md)
* [datastore_smm2](reference/nex/datastore_smm2.md)
* [debug](reference/nex/debug.md)
* [errors](reference/nex/errors.md)
* [friends](reference/nex/friends.md)
* [health](reference/nex/health.md)
* [hpp](reference/nex/hpp.md)
* [kerberos](reference/nex/kerberos.md)
* [matchmaking](reference/nex/matchmaking.md)
* [matchmaking_eagle](reference/nex/matchmaking_eagle.md)
* [messaging](reference/nex/messaging.md)
* [monitoring](reference/nex/monitoring.md)
* [nattraversal](reference/nex/nattraversal.md)
* [nintendonotification](reference/nex/nintendonotification.md)
* [notification](reference/nex/notification.md)
* [prudp](reference/nex/prudp.md)
* [ranking](reference/nex/ranking.md)
* [ranking2](reference/nex/ranking2.md)
* [remotelog](reference/nex/remotelog.md)
* [rmc](reference/nex/rmc.md)
* [screening](reference/nex/screening.md)
* [secure](reference/nex/secure.md)
* [streams](reference/nex/streams.md)
* [subscriber](reference/nex/subscriber.md)
* [utility](reference/nex/utility.md)
* [switch](reference/switch.md)
* [aauth](reference/switch/aauth.md)
* [atumn](reference/switch/atumn.md)
* [baas](reference/switch/baas.md)
* [dauth](reference/switch/dauth.md)
* [dragons](reference/switch/dragons.md)
* [five](reference/switch/five.md)
* [sun](reference/switch/sun.md)
* [miis](reference/miis.md)
* [nasc](reference/nasc.md)
* [nnas](reference/nnas.md)
================================================
FILE: docs/reference/miis.md
================================================
# Module: <code>nintendo.miis</code>
Provides a parser for FFL mii data.
<code>**class** [MiiData](#miidata)</code><br>
<span class="docs">The mii data class.</span>
## MiiData
`birth_platform: int`<br>
`mii_version: int`<br>
`font_region: int`<br>
`region_move: int`<br>
`copyable: bool`<br>
`local_only: bool`<br>
`author_id: list[int]`<br>
`mii_id: list[int]`<br>
`color: int`<br>
`birth_day: int`<br>
`birth_month: int`<br>
`gender: bool`<br>
`mii_name: str`<br>
`creator_name: str`<br>
`size: int`<br>
`fatness: int`<br>
`blush_type: int`<br>
`face_style: int`<br>
`face_color: int`<br>
`face_type: int`<br>
`hair_mirrored: bool`<br>
`hair_color: int`<br>
`hair_type: int`
`eye_thickness: int`<br>
`eye_scale: int`<br>
`eye_color: int`<br>
`eye_type: int`<br>
`eye_height: int`<br>
`eye_distance: int`<br>
`eye_rotation: int`
`eyebrow_thickness: int`<br>
`eyebrow_scale: int`<br>
`eyebrow_color: int`<br>
`eyebrow_type: int`<br>
`eyebrow_height: int`<br>
`eyebrow_distance: int`<br>
`eyebrow_rotation: int`
`nose_height: int`<br>
`nose_scale: int`<br>
`nose_type: int`
`mouth_thickness: int`<br>
`mouth_scale: int`<br>
`mouth_color: int`<br>
`mouth_type: int`<br>
`mouth_height: int`
`mustache_type: int`<br>
`mustache_height: int`<br>
`mustache_scale: int`
`beard_color: int`<br>
`beard_type: int`
`glass_height: int`<br>
`glass_scale: int`<br>
`glass_color: int`<br>
`glass_type: int`
`mole_ypos: int`<br>
`mole_xpos: int`<br>
`mole_scale: int`<br>
`mole_enabled: bool`
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new mii instance.</span>
<code>**def build**() -> bytes</code><br>
<span class="docs">Encodes the mii data.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def parse**(data: bytes) -> [MiiData](#miidata)</code><br>
<span class="docs">Parses the given mii data.</span>
================================================
FILE: docs/reference/nasc.md
================================================
# Module: <code>nintendo.nasc</code>
Provides a client for [nasc.nintendowifi.net](https://github.com/kinnay/nintendo/wiki/NASC-Server).
<code>**class** [NASCError](#nascerror)(Exception)</code><br>
<span class="docs">Raised when the server returns an error code.</span>
<code>**class** [NASCClient](#nascclient)</code><br>
<span class="docs">The NASC client.</span>
## Global Constants
`MEDIA_TYPE_SYSTEM = 0`<br>
`MEDIA_TYPE_DIGITAL = 1`<br>
`MEDIA_TYPE_CARTRIDGE = 2`
## NASCError
This exception is raised when the server returns an error code.
`status_code: int`<br>
`return_code: int | None`<br>
`retry: bool`<br>
`datetime: datetime.datetime`
## NASCClient
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new NASC client.</span>
<code>**def set_context**(context: [TLSContext](https://anynet.readthedocs.io/en/latest/reference/tls/#tlscontext)) -> None</code><br>
<span class="docs">Changes the TLS context. By default, the server certificate is verified with `Nintendo CA - G3`, and `CTR Common Prod 1` is used as the client certificate.</span>
<code>**def set_url**(url: str) -> None</code><br>
<span class="docs">Changes the server to which requests are sent. The default is `nasc.nintendowifi.net`.</span>
<code>**def set_environment**(environment: str) -> None</code><br>
<span class="docs">Changes the `servertype` parameter. The default is `"L1"` (production).</span>
<code>**def set_title**(title_id: int, title_version: int, product_code: str = "----", maker_code: str = "00", media_type: int = MEDIA_TYPE_SYSTEM, rom_id: bytes = None) -> None</code><br>
<span class="docs">Configures the current title. The `rom_id` is required only for cartridges. This is required for calls to `login`.</span>
<code>**def set_device**(serial_number: str, mac_address: str, fcd_cert: bytes, name: str = "", unit_code: str = "2") -> None</code><br>
<span class="docs">Configures the device. This is required for calls to `login`.</span>
<code>**def set_network**(bss_id: str, ap_info: str) -> None</code><br>
<span class="docs">Changes the `bssid` and `ap_info` parameters. By default, the `bssid` is random and `ap_info` is `01:0000000000`.</span>
<code>**def set_locale**(region: int, language: int) -> None</code><br>
<span class="docs">Changes the `region` and `language` parameters.</span>
<code>**def set_user**(pid: int, pid_hmac: str) -> None</code><br>
<span class="docs">Configures the user for logging in. Either `set_user` or `set_password` must be called before `login`.</span>
<code>**def set_password**(password: str) -> None</code><br>
<span class="docs">Configures the `passwd` parameter. Either `set_user` or `set_password` must be called before `login`.</span>
<code>**def set_sdk_version**(major_version: int, minor_version: int) -> None</code><br>
<span class="docs">Changes the content of the `sdkver` parameter. The default is `000000`.</span>
<code>**def set_fpd_version**(version: int) -> None</code><br>
<span class="docs">Changes the content of the `fpdver` parameter and user agent. The default is `15`.</span>
<code>**async def login**(game_server_id: int, nickname: str = "") -> [LoginResponse](#loginresponse)</code><br>
<span class="docs">Calls the `LOGIN` action on the server and returns the response or raises an exception.</span>
## LoginResponse
`host: str`<br>
`port: int`<br>
`token: str`<br>
`datetime: datetime.datetime`
================================================
FILE: docs/reference/nex/aauser.md
================================================
# Module: <code>nintendo.nex.aauser</code>
Provides a client and server for the `AAUserProtocol`. This page was generated automatically from `aauser.proto`.
<code>**class** [AAUserClient](#aauserclient)</code><br>
<span class="docs">The client for the `AAUserProtocol`.</span>
<code>**class** [AAUserServer](#aauserserver)</code><br>
<span class="docs">The server for the `AAUserProtocol`.</span>
<code>**class** [ApplicationInfo](#applicationinfo)([Structure](common.md))</code><br>
## AAUserClient
<code>**def _\_init__**(client: [RMCClient](rmc.md#rmcclient) / [HppClient](hpp.md#hppclient))</code><br>
<span class="docs">Creates a new [`AAUserClient`](#aauserclient).</span>
<code>**async def register_application**(title_id: int) -> None</code><br>
<span class="docs">Calls method `1` on the server.</span>
<code>**async def unregister_application**(title_id: int) -> None</code><br>
<span class="docs">Calls method `2` on the server.</span>
<code>**async def set_application_info**(application_info: list[[ApplicationInfo](#applicationinfo)]) -> None</code><br>
<span class="docs">Calls method `3` on the server.</span>
<code>**async def get_application_info**() -> list[[ApplicationInfo](#applicationinfo)]</code><br>
<span class="docs">Calls method `4` on the server.</span>
## AAUserServer
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new [`AAUserServer`](#aauserserver).</span>
<code>**async def logout**(client: [RMCClient](rmc.md#rmcclient)) -> None</code><br>
<span class="docs">Called whenever a client is disconnected. May be overridden by a subclass.</span>
<code>**async def register_application**(client: [RMCClient](rmc.md#rmcclient), title_id: int) -> None</code><br>
<span class="docs">Handler for method `1`. This method should be overridden by a subclass.</span>
<code>**async def unregister_application**(client: [RMCClient](rmc.md#rmcclient), title_id: int) -> None</code><br>
<span class="docs">Handler for method `2`. This method should be overridden by a subclass.</span>
<code>**async def set_application_info**(client: [RMCClient](rmc.md#rmcclient), application_info: list[[ApplicationInfo](#applicationinfo)]) -> None</code><br>
<span class="docs">Handler for method `3`. This method should be overridden by a subclass.</span>
<code>**async def get_application_info**(client: [RMCClient](rmc.md#rmcclient)) -> list[[ApplicationInfo](#applicationinfo)]</code><br>
<span class="docs">Handler for method `4`. This method should be overridden by a subclass.</span>
## ApplicationInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `ApplicationInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>title_id: int</code><br>
<code>title_version: int</code><br>
</span><br>
================================================
FILE: docs/reference/nex/account.md
================================================
# Module: <code>nintendo.nex.account</code>
Provides a client and server for the `AccountProtocol`. This page was generated automatically from `account.proto`.
<code>**class** [AccountClient](#accountclient)</code><br>
<span class="docs">The client for the `AccountProtocol`.</span>
<code>**class** [AccountServer](#accountserver)</code><br>
<span class="docs">The server for the `AccountProtocol`.</span>
<code>**class** [AccountData](#accountdata)([Structure](common.md))</code><br>
<code>**class** [BasicAccountInfo](#basicaccountinfo)([Structure](common.md))</code><br>
## AccountClient
<code>**def _\_init__**(client: [RMCClient](rmc.md#rmcclient) / [HppClient](hpp.md#hppclient))</code><br>
<span class="docs">Creates a new [`AccountClient`](#accountclient).</span>
<code>**async def create_account**(name: str, key: str, groups: int, email: str) -> [Result](common.md#result)</code><br>
<span class="docs">Calls method `1` on the server.</span>
<code>**async def delete_account**(pid: int) -> None</code><br>
<span class="docs">Calls method `2` on the server.</span>
<code>**async def disable_account**(pid: int, until: [DateTime](common.md#datetime), message: str) -> [Result](common.md#result)</code><br>
<span class="docs">Calls method `3` on the server.</span>
<code>**async def change_password**(new_key: str) -> bool</code><br>
<span class="docs">Calls method `4` on the server.</span>
<code>**async def test_capability**(capability: int) -> bool</code><br>
<span class="docs">Calls method `5` on the server.</span>
<code>**async def get_name**(pid: int) -> str</code><br>
<span class="docs">Calls method `6` on the server.</span>
<code>**async def get_account_data**() -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `7` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>data: [AccountData](#accountdata)</code><br>
</span>
</span>
<code>**async def get_private_data**() -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `8` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: bool</code><br>
<code>data: [Data](common.md)</code><br>
</span>
</span>
<code>**async def get_public_data**(pid: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `9` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: bool</code><br>
<code>data: [Data](common.md)</code><br>
</span>
</span>
<code>**async def get_multiple_public_data**(pids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `10` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: bool</code><br>
<code>data: list[[Data](common.md)]</code><br>
</span>
</span>
<code>**async def update_account_name**(name: str) -> [Result](common.md#result)</code><br>
<span class="docs">Calls method `11` on the server.</span>
<code>**async def update_account_email**(email: str) -> [Result](common.md#result)</code><br>
<span class="docs">Calls method `12` on the server.</span>
<code>**async def update_custom_data**(public_data: [Data](common.md), private_data: [Data](common.md)) -> [Result](common.md#result)</code><br>
<span class="docs">Calls method `13` on the server.</span>
<code>**async def find_by_name_regex**(groups: int, regex: str, range: [ResultRange](common.md#resultrange)) -> list[[BasicAccountInfo](#basicaccountinfo)]</code><br>
<span class="docs">Calls method `14` on the server.</span>
<code>**async def update_account_expiry_date**(pid: int, expiry: [DateTime](common.md#datetime), message: str) -> None</code><br>
<span class="docs">Calls method `15` on the server.</span>
<code>**async def update_account_effective_date**(pid: int, effective_from: [DateTime](common.md#datetime), message: str) -> None</code><br>
<span class="docs">Calls method `16` on the server.</span>
<code>**async def update_status**(status: str) -> None</code><br>
<span class="docs">Calls method `17` on the server.</span>
<code>**async def get_status**(pid: int) -> str</code><br>
<span class="docs">Calls method `18` on the server.</span>
<code>**async def get_last_connection_stats**(pid: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `19` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>last_session_login: [DateTime](common.md#datetime)</code><br>
<code>last_session_logout: [DateTime](common.md#datetime)</code><br>
<code>current_session_login: [DateTime](common.md#datetime)</code><br>
</span>
</span>
<code>**async def reset_password**() -> bool</code><br>
<span class="docs">Calls method `20` on the server.</span>
<code>**async def create_account_with_custom_data**(name: str, key: str, groups: int, email: str, public_data: [Data](common.md), private_data: [Data](common.md)) -> None</code><br>
<span class="docs">Calls method `21` on the server.</span>
<code>**async def retrieve_account**() -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `22` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>account_data: [AccountData](#accountdata)</code><br>
<code>public_data: [Data](common.md)</code><br>
<code>private_data: [Data](common.md)</code><br>
</span>
</span>
<code>**async def update_account**(key: str, email: str, public_data: [Data](common.md), private_data: [Data](common.md)) -> None</code><br>
<span class="docs">Calls method `23` on the server.</span>
<code>**async def change_password_by_guest**(name: str, email: str, key: str) -> None</code><br>
<span class="docs">Calls method `24` on the server.</span>
<code>**async def find_by_name_like**(groups: int, like: str, range: [ResultRange](common.md#resultrange)) -> list[[BasicAccountInfo](#basicaccountinfo)]</code><br>
<span class="docs">Calls method `25` on the server.</span>
<code>**async def custom_create_account**(name: str, key: str, groups: int, email: str, auth_data: [Data](common.md)) -> int</code><br>
<span class="docs">Calls method `26` on the server.</span>
<code>**async def nintendo_create_account**(name: str, key: str, groups: int, email: str, auth_data: [Data](common.md)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `27` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>pid: int</code><br>
<code>pid_hmac: str</code><br>
</span>
</span>
<code>**async def lookup_or_create_account**(name: str, key: str, groups: int, email: str, auth_data: [Data](common.md)) -> int</code><br>
<span class="docs">Calls method `28` on the server.</span>
<code>**async def disconnect_principal**(pid: int) -> bool</code><br>
<span class="docs">Calls method `29` on the server.</span>
<code>**async def disconnect_all_principals**() -> bool</code><br>
<span class="docs">Calls method `30` on the server.</span>
## AccountServer
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new [`AccountServer`](#accountserver).</span>
<code>**async def logout**(client: [RMCClient](rmc.md#rmcclient)) -> None</code><br>
<span class="docs">Called whenever a client is disconnected. May be overridden by a subclass.</span>
<code>**async def create_account**(client: [RMCClient](rmc.md#rmcclient), name: str, key: str, groups: int, email: str) -> [Result](common.md#result)</code><br>
<span class="docs">Handler for method `1`. This method should be overridden by a subclass.</span>
<code>**async def delete_account**(client: [RMCClient](rmc.md#rmcclient), pid: int) -> None</code><br>
<span class="docs">Handler for method `2`. This method should be overridden by a subclass.</span>
<code>**async def disable_account**(client: [RMCClient](rmc.md#rmcclient), pid: int, until: [DateTime](common.md#datetime), message: str) -> [Result](common.md#result)</code><br>
<span class="docs">Handler for method `3`. This method should be overridden by a subclass.</span>
<code>**async def change_password**(client: [RMCClient](rmc.md#rmcclient), new_key: str) -> bool</code><br>
<span class="docs">Handler for method `4`. This method should be overridden by a subclass.</span>
<code>**async def test_capability**(client: [RMCClient](rmc.md#rmcclient), capability: int) -> bool</code><br>
<span class="docs">Handler for method `5`. This method should be overridden by a subclass.</span>
<code>**async def get_name**(client: [RMCClient](rmc.md#rmcclient), pid: int) -> str</code><br>
<span class="docs">Handler for method `6`. This method should be overridden by a subclass.</span>
<code>**async def get_account_data**(client: [RMCClient](rmc.md#rmcclient)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `7`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>data: [AccountData](#accountdata)</code><br>
</span>
</span>
<code>**async def get_private_data**(client: [RMCClient](rmc.md#rmcclient)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `8`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: bool</code><br>
<code>data: [Data](common.md)</code><br>
</span>
</span>
<code>**async def get_public_data**(client: [RMCClient](rmc.md#rmcclient), pid: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `9`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: bool</code><br>
<code>data: [Data](common.md)</code><br>
</span>
</span>
<code>**async def get_multiple_public_data**(client: [RMCClient](rmc.md#rmcclient), pids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `10`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: bool</code><br>
<code>data: list[[Data](common.md)]</code><br>
</span>
</span>
<code>**async def update_account_name**(client: [RMCClient](rmc.md#rmcclient), name: str) -> [Result](common.md#result)</code><br>
<span class="docs">Handler for method `11`. This method should be overridden by a subclass.</span>
<code>**async def update_account_email**(client: [RMCClient](rmc.md#rmcclient), email: str) -> [Result](common.md#result)</code><br>
<span class="docs">Handler for method `12`. This method should be overridden by a subclass.</span>
<code>**async def update_custom_data**(client: [RMCClient](rmc.md#rmcclient), public_data: [Data](common.md), private_data: [Data](common.md)) -> [Result](common.md#result)</code><br>
<span class="docs">Handler for method `13`. This method should be overridden by a subclass.</span>
<code>**async def find_by_name_regex**(client: [RMCClient](rmc.md#rmcclient), groups: int, regex: str, range: [ResultRange](common.md#resultrange)) -> list[[BasicAccountInfo](#basicaccountinfo)]</code><br>
<span class="docs">Handler for method `14`. This method should be overridden by a subclass.</span>
<code>**async def update_account_expiry_date**(client: [RMCClient](rmc.md#rmcclient), pid: int, expiry: [DateTime](common.md#datetime), message: str) -> None</code><br>
<span class="docs">Handler for method `15`. This method should be overridden by a subclass.</span>
<code>**async def update_account_effective_date**(client: [RMCClient](rmc.md#rmcclient), pid: int, effective_from: [DateTime](common.md#datetime), message: str) -> None</code><br>
<span class="docs">Handler for method `16`. This method should be overridden by a subclass.</span>
<code>**async def update_status**(client: [RMCClient](rmc.md#rmcclient), status: str) -> None</code><br>
<span class="docs">Handler for method `17`. This method should be overridden by a subclass.</span>
<code>**async def get_status**(client: [RMCClient](rmc.md#rmcclient), pid: int) -> str</code><br>
<span class="docs">Handler for method `18`. This method should be overridden by a subclass.</span>
<code>**async def get_last_connection_stats**(client: [RMCClient](rmc.md#rmcclient), pid: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `19`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>last_session_login: [DateTime](common.md#datetime)</code><br>
<code>last_session_logout: [DateTime](common.md#datetime)</code><br>
<code>current_session_login: [DateTime](common.md#datetime)</code><br>
</span>
</span>
<code>**async def reset_password**(client: [RMCClient](rmc.md#rmcclient)) -> bool</code><br>
<span class="docs">Handler for method `20`. This method should be overridden by a subclass.</span>
<code>**async def create_account_with_custom_data**(client: [RMCClient](rmc.md#rmcclient), name: str, key: str, groups: int, email: str, public_data: [Data](common.md), private_data: [Data](common.md)) -> None</code><br>
<span class="docs">Handler for method `21`. This method should be overridden by a subclass.</span>
<code>**async def retrieve_account**(client: [RMCClient](rmc.md#rmcclient)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `22`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>account_data: [AccountData](#accountdata)</code><br>
<code>public_data: [Data](common.md)</code><br>
<code>private_data: [Data](common.md)</code><br>
</span>
</span>
<code>**async def update_account**(client: [RMCClient](rmc.md#rmcclient), key: str, email: str, public_data: [Data](common.md), private_data: [Data](common.md)) -> None</code><br>
<span class="docs">Handler for method `23`. This method should be overridden by a subclass.</span>
<code>**async def change_password_by_guest**(client: [RMCClient](rmc.md#rmcclient), name: str, email: str, key: str) -> None</code><br>
<span class="docs">Handler for method `24`. This method should be overridden by a subclass.</span>
<code>**async def find_by_name_like**(client: [RMCClient](rmc.md#rmcclient), groups: int, like: str, range: [ResultRange](common.md#resultrange)) -> list[[BasicAccountInfo](#basicaccountinfo)]</code><br>
<span class="docs">Handler for method `25`. This method should be overridden by a subclass.</span>
<code>**async def custom_create_account**(client: [RMCClient](rmc.md#rmcclient), name: str, key: str, groups: int, email: str, auth_data: [Data](common.md)) -> int</code><br>
<span class="docs">Handler for method `26`. This method should be overridden by a subclass.</span>
<code>**async def nintendo_create_account**(client: [RMCClient](rmc.md#rmcclient), name: str, key: str, groups: int, email: str, auth_data: [Data](common.md)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `27`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>pid: int</code><br>
<code>pid_hmac: str</code><br>
</span>
</span>
<code>**async def lookup_or_create_account**(client: [RMCClient](rmc.md#rmcclient), name: str, key: str, groups: int, email: str, auth_data: [Data](common.md)) -> int</code><br>
<span class="docs">Handler for method `28`. This method should be overridden by a subclass.</span>
<code>**async def disconnect_principal**(client: [RMCClient](rmc.md#rmcclient), pid: int) -> bool</code><br>
<span class="docs">Handler for method `29`. This method should be overridden by a subclass.</span>
<code>**async def disconnect_all_principals**(client: [RMCClient](rmc.md#rmcclient)) -> bool</code><br>
<span class="docs">Handler for method `30`. This method should be overridden by a subclass.</span>
## AccountData
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `AccountData` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>pid: int</code><br>
<code>name: str</code><br>
<code>groups: int</code><br>
<code>email: str</code><br>
<code>creation_date: [DateTime](common.md#datetime)</code><br>
<code>effective_date: [DateTime](common.md#datetime)</code><br>
<code>not_effective_message: str</code><br>
<code>expiry_date: [DateTime](common.md#datetime)</code><br>
<code>expired_message: str</code><br>
</span><br>
## BasicAccountInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `BasicAccountInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>pid: int</code><br>
<code>name: str</code><br>
</span><br>
================================================
FILE: docs/reference/nex/authentication.md
================================================
# Module: <code>nintendo.nex.authentication</code>
Provides a client and server for the `AuthenticationProtocol` and `AuthenticationProtocolNX`. This page was generated automatically from `authentication.proto`.
<code>**class** [AuthenticationClient](#authenticationclient)</code><br>
<span class="docs">The client for the `AuthenticationProtocol`.</span>
<code>**class** [AuthenticationClientNX](#authenticationclientnx)</code><br>
<span class="docs">The client for the `AuthenticationProtocolNX`.</span>
<code>**class** [AuthenticationServer](#authenticationserver)</code><br>
<span class="docs">The server for the `AuthenticationProtocol`.</span>
<code>**class** [AuthenticationServerNX](#authenticationservernx)</code><br>
<span class="docs">The server for the `AuthenticationProtocolNX`.</span>
<code>**class** [AuthenticationInfo](#authenticationinfo)([Data](common.md))</code><br>
<code>**class** [RVConnectionData](#rvconnectiondata)([Structure](common.md))</code><br>
<code>**class** [ValidateAndRequestTicketParam](#validateandrequestticketparam)([Structure](common.md))</code><br>
<code>**class** [ValidateAndRequestTicketResult](#validateandrequestticketresult)([Structure](common.md))</code><br>
## AuthenticationClient
<code>**def _\_init__**(client: [RMCClient](rmc.md#rmcclient) / [HppClient](hpp.md#hppclient))</code><br>
<span class="docs">Creates a new [`AuthenticationClient`](#authenticationclient).</span>
<code>**async def login**(username: str) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `1` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
<code>server_name: str</code><br>
</span>
</span>
<code>**async def login_ex**(username: str, extra_data: [Data](common.md)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `2` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
<code>server_name: str</code><br>
</span>
</span>
<code>**async def request_ticket**(source: int, target: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `3` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>ticket: bytes</code><br>
</span>
</span>
<code>**async def get_pid**(username: str) -> int</code><br>
<span class="docs">Calls method `4` on the server.</span>
<code>**async def get_name**(pid: int) -> str</code><br>
<span class="docs">Calls method `5` on the server.</span>
<code>**async def login_with_context**(login_data: [Data](common.md)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `6` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
</span>
</span>
## AuthenticationClientNX
<code>**def _\_init__**(client: [RMCClient](rmc.md#rmcclient) / [HppClient](hpp.md#hppclient))</code><br>
<span class="docs">Creates a new [`AuthenticationClientNX`](#authenticationclientnx).</span>
<code>**async def validate_and_request_ticket**(username: str) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `1` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
<code>server_name: str</code><br>
</span>
</span>
<code>**async def validate_and_request_ticket_with_custom_data**(username: str, extra_data: [Data](common.md)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `2` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
<code>server_name: str</code><br>
<code>source_key: str</code><br>
</span>
</span>
<code>**async def request_ticket**(source: int, target: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `3` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>ticket: bytes</code><br>
<code>key: str</code><br>
</span>
</span>
<code>**async def get_pid**(username: str) -> int</code><br>
<span class="docs">Calls method `4` on the server.</span>
<code>**async def get_name**(pid: int) -> str</code><br>
<span class="docs">Calls method `5` on the server.</span>
<code>**async def validate_and_request_ticket_with_param**(param: [ValidateAndRequestTicketParam](#validateandrequestticketparam)) -> [ValidateAndRequestTicketResult](#validateandrequestticketresult)</code><br>
<span class="docs">Calls method `6` on the server.</span>
## AuthenticationServer
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new [`AuthenticationServer`](#authenticationserver).</span>
<code>**async def logout**(client: [RMCClient](rmc.md#rmcclient)) -> None</code><br>
<span class="docs">Called whenever a client is disconnected. May be overridden by a subclass.</span>
<code>**async def login**(client: [RMCClient](rmc.md#rmcclient), username: str) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `1`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
<code>server_name: str</code><br>
</span>
</span>
<code>**async def login_ex**(client: [RMCClient](rmc.md#rmcclient), username: str, extra_data: [Data](common.md)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `2`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
<code>server_name: str</code><br>
</span>
</span>
<code>**async def request_ticket**(client: [RMCClient](rmc.md#rmcclient), source: int, target: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `3`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>ticket: bytes</code><br>
</span>
</span>
<code>**async def get_pid**(client: [RMCClient](rmc.md#rmcclient), username: str) -> int</code><br>
<span class="docs">Handler for method `4`. This method should be overridden by a subclass.</span>
<code>**async def get_name**(client: [RMCClient](rmc.md#rmcclient), pid: int) -> str</code><br>
<span class="docs">Handler for method `5`. This method should be overridden by a subclass.</span>
<code>**async def login_with_context**(client: [RMCClient](rmc.md#rmcclient), login_data: [Data](common.md)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `6`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
</span>
</span>
## AuthenticationServerNX
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new [`AuthenticationServerNX`](#authenticationservernx).</span>
<code>**async def logout**(client: [RMCClient](rmc.md#rmcclient)) -> None</code><br>
<span class="docs">Called whenever a client is disconnected. May be overridden by a subclass.</span>
<code>**async def validate_and_request_ticket**(client: [RMCClient](rmc.md#rmcclient), username: str) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `1`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
<code>server_name: str</code><br>
</span>
</span>
<code>**async def validate_and_request_ticket_with_custom_data**(client: [RMCClient](rmc.md#rmcclient), username: str, extra_data: [Data](common.md)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `2`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>connection_data: [RVConnectionData](#rvconnectiondata)</code><br>
<code>server_name: str</code><br>
<code>source_key: str</code><br>
</span>
</span>
<code>**async def request_ticket**(client: [RMCClient](rmc.md#rmcclient), source: int, target: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `3`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: [Result](common.md#result)</code><br>
<code>ticket: bytes</code><br>
<code>key: str</code><br>
</span>
</span>
<code>**async def get_pid**(client: [RMCClient](rmc.md#rmcclient), username: str) -> int</code><br>
<span class="docs">Handler for method `4`. This method should be overridden by a subclass.</span>
<code>**async def get_name**(client: [RMCClient](rmc.md#rmcclient), pid: int) -> str</code><br>
<span class="docs">Handler for method `5`. This method should be overridden by a subclass.</span>
<code>**async def validate_and_request_ticket_with_param**(client: [RMCClient](rmc.md#rmcclient), param: [ValidateAndRequestTicketParam](#validateandrequestticketparam)) -> [ValidateAndRequestTicketResult](#validateandrequestticketresult)</code><br>
<span class="docs">Handler for method `6`. This method should be overridden by a subclass.</span>
## AuthenticationInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `AuthenticationInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>token: str</code><br>
<code>ngs_version: int = 3</code><br>
<code>token_type: int = 1</code><br>
<code>server_version: int = 0</code><br>
</span><br>
## RVConnectionData
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `RVConnectionData` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>main_station: [StationURL](common.md#stationurl) = "prudp:/"</code><br>
<code>special_protocols: list[int] = []</code><br>
<code>special_station: [StationURL](common.md#stationurl) = "prudp:/"</code><br>
If `nex.version` >= 30500:<br>
<span class="docs">
If `revision` >= 1:<br>
<span class="docs">
<code>server_time: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).never()</code><br>
</span><br>
</span><br>
</span><br>
## ValidateAndRequestTicketParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `ValidateAndRequestTicketParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>platform: int = 3</code><br>
<code>username: str</code><br>
<code>data: [Data](common.md)</code><br>
<code>skip_version_check: bool = False</code><br>
<code>nex_version: int</code><br>
<code>client_version: int</code><br>
</span><br>
## ValidateAndRequestTicketResult
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `ValidateAndRequestTicketResult` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>pid: int</code><br>
<code>ticket: bytes</code><br>
<code>server_url: [StationURL](common.md#stationurl)</code><br>
<code>server_time: [DateTime](common.md#datetime)</code><br>
<code>server_name: str</code><br>
<code>source_key: str</code><br>
</span><br>
================================================
FILE: docs/reference/nex/backend.md
================================================
# Module: <code>nintendo.nex.backend</code>
Provides a client for game servers.
<code>**class** [BackEndClient](#backendclient)</code><br>
<span class="docs">The game server client.</span>
<code>**async with connect**(settings: [Settings](settings.md#settings), host: str, port: int) -> [BackEndClient](#backendclient)</code><br>
<span class="docs">Establishes a connection with the authentication server at the given address. Blocks until the connection is ready.</span>
## BackEndClient
<code>auth_client: [RMCClient](rmc.md#rmcclient)</code><br>
<span class="docs">The RMC client that is connected to the authentication server.</span>
<code>**async with login**(username: str, password: str = None, auth_info: [Data](common.md) = None, servers: list[object] = []) -> [RMCClient](rmc.md#rmcclient)</code><br>
<span class="docs">Requests a ticket from the authentication server and establishes a connection with the secure server. The returned RMC client can be used to call methods on the secure server. `servers` must be a list of protocol server objects that should be defined in an external protocol file. These servers are registered on the secure client.</span>
<code>**async with login_guest**() -> [RMCClient](rmc.md#rmcclient)</code><br>
<span class="docs">Logs in as guest. On most servers the guest account is disabled.</span>
================================================
FILE: docs/reference/nex/common.md
================================================
# Module: <code>nintendo.nex.common</code>
Provides classes that are used by various `nex` modules.
<code>**class** [RMCError](#rmcerror)(Exception)</code><br>
<span class="docs">Raised when the server returns an error code.</span>
<code>**class** [Result](#result)</code><br>
<span class="docs">Holds the result of a remote method call.</span>
<code>**class** Structure</code><br>
<span class="docs">Base class for `nex` structures. This class should not be subclassed manually. Instead, structures should be defined in a protocol file.</span>
<code>**class** Data(Structure)</code><br>
<span class="docs">Base class for structures that can be held by a data holder. This class should not be subclassed manually. Instead, data structures should be defined in a protocol file.</span>
<code>**class** NullData(Data)</code><br>
<span class="docs">The `NullData` structure. This class does not define any fields.</span>
<code>**class** [StationURL](#stationurl)</code><br>
<span class="docs">A station url (`nn::nex::StationURL`).</span>
<code>**class** [DateTime](#datetime)</code><br>
<span class="docs">A date time object (`nn::nex::DateTime`).</span>
<code>**class** [ResultRange](#resultrange)(Structure)</code><br>
<span class="docs">A result range (`nn::nex::ResultRange`). This structure limits database queries to a specific range.</span>
## RMCError
<code>**def _\_init__**(code: str = "Core::Unknown)</code><br>
<span class="docs">Creates a new RMCError from the given error description.</span>
<code>**def _\_init__**(code: int = 0x10001)</code><br>
<span class="docs">Creates a new RMCError from the given error code.</span>
<code>**def code**() -> int</code><br>
<span class="docs">Returns the error code.</span>
<code>**def name**() -> str</code><br>
<span class="docs">Returns a description of the error. If the error code is unknown, this method returns `"unknown error"`.</span>
<code>**def result**() -> [Result](#result)</code><br>
<span class="docs">Returns a result object that represents the error.</span>
## Result
<code style="color: blue">@classmethod</code><br>
<code>**def success**(code: str = "Core::Unknown") -> [Result](#result)</code><br>
<span class="docs">Creates a new [`Result`](#result) object that indicates success.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def success**(code: int = 0x10001) -> [Result](#result)</code><br>
<span class="docs">Creates a new [`Result`](#result) object that indicates success.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def error**(code: str = "Core::Unknown") -> [Result](#result)</code><br>
<span class="docs">Creates a new [`Result`](#result) object that indicates an error.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def error**(code: int = 0x10001) -> [Result](#result)</code><br>
<span class="docs">Creates a new [`Result`](#result) object that indicates an error.</span>
<code>**def is_success**() -> bool</code><br>
<span class="docs">Returns `True` if the result indicates success.</span>
<code>**def is_error**() -> bool</code><br>
<span class="docs">Returns `True` if the result indicates an error.</span>
<code>**def code**() -> int</code><br>
<span class="docs">Returns the error code of the result. Errors are indicated by bit `1 << 31`.</span>
<code>**def name**() -> str</code><br>
<span class="docs">Returns a description of the result. If the result indicates success, this method always returns `"success"`, regardless of the error code. If the error bit is set but the error code is unknown, this method returns `"unknown error"`.</span>
<code>**def raise_if_error**() -> None</code><br>
<span class="docs">Raises an `RMCError` if the error bit is set.</span>
## StationURL
A station url consists of an url scheme and a bunch of parameters. The following parameters are currently valid:<br>
<span class="docs">`address`, `Rsa`, `port`, `stream`, `sid`, `PID`, `CID`, `type`, `RVCID`, `natm`, `natf`, `upnp`, `pmp`, `probeinit`, `PRID` and `Rsp`.</span>
<code>**def _\_init__**(scheme: str = "prudp", \**kwargs)</code><br>
<span class="docs">Creates a new station url with the given url scheme. Additional parameters may be provided in `kwargs`.</span>
<code>**def _\_repr__**() -> str</code><br>
<span class="docs">Returns the string representation of the station url.</span>
<code>**def _\_getitem__**(name: str) -> object</code><br>
<span class="docs">Returns a specific parameter, either as `str` or `int`. Returns a default value if the parameter name is valid but not defined in the station url. Raises `KeyError` if the parameter name is invalid.</span>
<code>**def _\_setitem__**(name: str, value: object) -> None</code><br>
<span class="docs">Changes a specific parameter. The given `value` is automatically converted to string.</span>
<code>**def scheme**() -> str</code><br>
<span class="docs">Returns the url scheme.</span>
<code>**def address**() -> tuple[str, int]</code><br>
<span class="docs">Returns the address of the station url as a tuple: `(address, port)`.</span>
<code>**def is_public**() -> bool</code><br>
<span class="docs">Returns `True` if the `type` field indicates that the station address is public.</span>
<code>**def is_behind_nat**() -> bool</code><br>
<span class="docs">Returns `True` if the `type` field indicates that the station is behind a nat device.</span>
<code>**def is_global**() -> bool</code><br>
<span class="docs">Returns `True` if the `type` field indicates that the station address is global (i.e. public and not behind a nat device).</span>
<code>**def copy**() -> [StationURL](#stationurl)</code><br>
<span class="docs">Returns a copy of the station url.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def parse**(string: str) -> [StationURL](#stationurl)</code><br>
<span class="docs">Parses the given station url string. If `string` is empty, the station url is created with the `"prudp"` scheme and without parameters.</span>
## DateTime
A `DateTime` object always represents UTC time.
<code>** def _\_init__**(value: int)</code><br>
<span class="docs">Creates a new [`DateTime`](#datetime) object from the given value.</span>
<code>**def value**() -> int</code><br>
<span class="docs">Returns value of the [`DateTime`](#datetime) object, as encoded by `nex`.</span>
<code>**def second**() -> int</code><br>
<span class="docs">Returns the seconds (0 - 59)</span><br>
<code>**def minute**() -> int</code><br>
<span class="docs">Returns the minutes (0 - 59)</span><br>
<code>**def hour**() -> int</code><br>
<span class="docs">Returns the hours (0 - 23)</span><br>
<code>**def day**() -> int</code><br>
<span class="docs">Returns the day of the month (1 - 31).</span><br>
<code>**def month**() -> int</code><br>
<span class="docs">Returns the month (1 - 12)</span><br>
<code>**def year**() -> int</code><br>
<span class="docs">Returns the year.</span>
<code>**def standard_datetime**() -> datetime.datetime</code><br>
<span class="docs">Converts the [`DateTime`](#datetime) object to a standard `datetime.datetime` object.</span>
<code>**def timestamp**() -> int</code><br>
<span class="docs">Returns a posix timestamp.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def make**(year: int, month: int = 1, day: int = 1, hour: int = 0, minute: int = 0, second: int = 0) -> [DateTime](#datetime)</code><br>
<span class="docs">Creates a new [`DateTime`](#datetime) object for the given date.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def fromtimestamp**(timestamp: int) -> [DateTime](#datetime)</code><br>
<span class="docs">Creates a new [`DateTime`](#datetime) object from the given posix timestamp.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def now**() -> [DateTime](#datetime)</code><br>
<span class="docs">Creates a new [`DateTime`](#datetime) object for the current time.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def never**() -> [DateTime](#datetime)</code><br>
<span class="docs">Creates a special [`DateTime`](#datetime) object that represents 'never'.</span>
<code style="color: blue">@classmethod</code><br>
<code>**def future**() -> [DateTime](#datetime)</code><br>
<span class="docs">Creates a special [`DateTime`](#datetime) object that represents 'future'.</span>
## ResultRange
`offset: int`<br>
`size: int`
<code>**def _\_init__**(offset: int = 0, size: int = 10)</code><br>
<span class="docs">Creates a new result range.</span>
================================================
FILE: docs/reference/nex/datastore.md
================================================
# Module: <code>nintendo.nex.datastore</code>
Provides a client and server for the `DataStoreProtocol`. This page was generated automatically from `datastore.proto`.
<code>**class** [DataStoreClient](#datastoreclient)</code><br>
<span class="docs">The client for the `DataStoreProtocol`.</span>
<code>**class** [DataStoreServer](#datastoreserver)</code><br>
<span class="docs">The server for the `DataStoreProtocol`.</span>
<code>**class** [DataStoreChangeMetaCompareParam](#datastorechangemetacompareparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreChangeMetaParam](#datastorechangemetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompletePostParam](#datastorecompletepostparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompleteUpdateParam](#datastorecompleteupdateparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreDeleteParam](#datastoredeleteparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetMetaParam](#datastoregetmetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetNotificationUrlParam](#datastoregetnotificationurlparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetSpecificMetaParam](#datastoregetspecificmetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetSpecificMetaParamV1](#datastoregetspecificmetaparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreKeyValue](#datastorekeyvalue)([Structure](common.md))</code><br>
<code>**class** [DataStoreMetaInfo](#datastoremetainfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreNotification](#datastorenotification)([Structure](common.md))</code><br>
<code>**class** [DataStoreNotificationV1](#datastorenotificationv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePasswordInfo](#datastorepasswordinfo)([Structure](common.md))</code><br>
<code>**class** [DataStorePermission](#datastorepermission)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceInfo](#datastorepersistenceinfo)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceInitParam](#datastorepersistenceinitparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceTarget](#datastorepersistencetarget)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareGetParam](#datastorepreparegetparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePreparePostParam](#datastorepreparepostparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePreparePostParamV1](#datastorepreparepostparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareUpdateParam](#datastoreprepareupdateparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRateObjectParam](#datastorerateobjectparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInfo](#datastoreratinginfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInitParam](#datastoreratinginitparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInitParamWithSlot](#datastoreratinginitparamwithslot)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingLog](#datastoreratinglog)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingTarget](#datastoreratingtarget)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetAdditionalMeta](#datastorereqgetadditionalmeta)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetInfo](#datastorereqgetinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetInfoV1](#datastorereqgetinfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetNotificationUrlInfo](#datastorereqgetnotificationurlinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqPostInfo](#datastorereqpostinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqPostInfoV1](#datastorereqpostinfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqUpdateInfo](#datastorerequpdateinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreSearchParam](#datastoresearchparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreSearchResult](#datastoresearchresult)([Structure](common.md))</code><br>
<code>**class** [DataStoreSpecificMetaInfo](#datastorespecificmetainfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreSpecificMetaInfoV1](#datastorespecificmetainfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreTouchObjectParam](#datastoretouchobjectparam)([Structure](common.md))</code><br>
## DataStoreClient
<code>**def _\_init__**(client: [RMCClient](rmc.md#rmcclient) / [HppClient](hpp.md#hppclient))</code><br>
<span class="docs">Creates a new [`DataStoreClient`](#datastoreclient).</span>
<code>**async def prepare_get_object_v1**(param: [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)) -> [DataStoreReqGetInfoV1](#datastorereqgetinfov1)</code><br>
<span class="docs">Calls method `1` on the server.</span>
<code>**async def prepare_post_object_v1**(param: [DataStorePreparePostParamV1](#datastorepreparepostparamv1)) -> [DataStoreReqPostInfoV1](#datastorereqpostinfov1)</code><br>
<span class="docs">Calls method `2` on the server.</span>
<code>**async def complete_post_object_v1**(param: [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)) -> None</code><br>
<span class="docs">Calls method `3` on the server.</span>
<code>**async def delete_object**(param: [DataStoreDeleteParam](#datastoredeleteparam)) -> None</code><br>
<span class="docs">Calls method `4` on the server.</span>
<code>**async def delete_objects**(param: list[[DataStoreDeleteParam](#datastoredeleteparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `5` on the server.</span>
<code>**async def change_meta_v1**(param: [DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)) -> None</code><br>
<span class="docs">Calls method `6` on the server.</span>
<code>**async def change_metas_v1**(data_ids: list[int], param: list[[DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `7` on the server.</span>
<code>**async def get_meta**(param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [DataStoreMetaInfo](#datastoremetainfo)</code><br>
<span class="docs">Calls method `8` on the server.</span>
<code>**async def get_metas**(data_ids: list[int], param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `9` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>info: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def prepare_update_object**(param: [DataStorePrepareUpdateParam](#datastoreprepareupdateparam)) -> [DataStoreReqUpdateInfo](#datastorerequpdateinfo)</code><br>
<span class="docs">Calls method `10` on the server.</span>
<code>**async def complete_update_object**(param: [DataStoreCompleteUpdateParam](#datastorecompleteupdateparam)) -> None</code><br>
<span class="docs">Calls method `11` on the server.</span>
<code>**async def search_object**(param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Calls method `12` on the server.</span>
<code>**async def get_notification_url**(param: [DataStoreGetNotificationUrlParam](#datastoregetnotificationurlparam)) -> [DataStoreReqGetNotificationUrlInfo](#datastorereqgetnotificationurlinfo)</code><br>
<span class="docs">Calls method `13` on the server.</span>
<code>**async def get_new_arrived_notifications_v1**(param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `14` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotificationV1](#datastorenotificationv1)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def rate_object**(target: [DataStoreRatingTarget](#datastoreratingtarget), param: [DataStoreRateObjectParam](#datastorerateobjectparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `15` on the server.</span>
<code>**async def get_rating**(target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `16` on the server.</span>
<code>**async def get_ratings**(data_ids: list[int], access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `17` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>ratings: list[list[[DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)]]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def reset_rating**(target: [DataStoreRatingTarget](#datastoreratingtarget), update_password: int) -> None</code><br>
<span class="docs">Calls method `18` on the server.</span>
<code>**async def reset_ratings**(data_ids: list[int], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `19` on the server.</span>
<code>**async def get_specific_meta_v1**(param: [DataStoreGetSpecificMetaParamV1](#datastoregetspecificmetaparamv1)) -> list[[DataStoreSpecificMetaInfoV1](#datastorespecificmetainfov1)]</code><br>
<span class="docs">Calls method `20` on the server.</span>
<code>**async def post_meta_binary**(param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> int</code><br>
<span class="docs">Calls method `21` on the server.</span>
<code>**async def touch_object**(param: [DataStoreTouchObjectParam](#datastoretouchobjectparam)) -> None</code><br>
<span class="docs">Calls method `22` on the server.</span>
<code>**async def get_rating_with_log**(target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `23` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>rating: [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<code>log: [DataStoreRatingLog](#datastoreratinglog)</code><br>
</span>
</span>
<code>**async def prepare_post_object**(param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> [DataStoreReqPostInfo](#datastorereqpostinfo)</code><br>
<span class="docs">Calls method `24` on the server.</span>
<code>**async def prepare_get_object**(param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<span class="docs">Calls method `25` on the server.</span>
<code>**async def complete_post_object**(param: [DataStoreCompletePostParam](#datastorecompletepostparam)) -> None</code><br>
<span class="docs">Calls method `26` on the server.</span>
<code>**async def get_new_arrived_notifications**(param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `27` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotification](#datastorenotification)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def get_specific_meta**(param: [DataStoreGetSpecificMetaParam](#datastoregetspecificmetaparam)) -> list[[DataStoreSpecificMetaInfo](#datastorespecificmetainfo)]</code><br>
<span class="docs">Calls method `28` on the server.</span>
<code>**async def get_persistence_info**(owner_id: int, slot_id: int) -> [DataStorePersistenceInfo](#datastorepersistenceinfo)</code><br>
<span class="docs">Calls method `29` on the server.</span>
<code>**async def get_persistence_infos**(owner_id: int, slot_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `30` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePersistenceInfo](#datastorepersistenceinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def perpetuate_object**(persistence_slot_id: int, data_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Calls method `31` on the server.</span>
<code>**async def unperpetuate_object**(persistence_slot_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Calls method `32` on the server.</span>
<code>**async def prepare_get_object_or_meta_binary**(param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `33` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>get_info: [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<code>additional_meta: [DataStoreReqGetAdditionalMeta](#datastorereqgetadditionalmeta)</code><br>
</span>
</span>
<code>**async def get_password_info**(data_id: int) -> [DataStorePasswordInfo](#datastorepasswordinfo)</code><br>
<span class="docs">Calls method `34` on the server.</span>
<code>**async def get_password_infos**(data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `35` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePasswordInfo](#datastorepasswordinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_metas_multiple_param**(params: list[[DataStoreGetMetaParam](#datastoregetmetaparam)]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `36` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def complete_post_objects**(data_ids: list[int]) -> None</code><br>
<span class="docs">Calls method `37` on the server.</span>
<code>**async def change_meta**(param: [DataStoreChangeMetaParam](#datastorechangemetaparam)) -> None</code><br>
<span class="docs">Calls method `38` on the server.</span>
<code>**async def change_metas**(data_ids: list[int], param: list[[DataStoreChangeMetaParam](#datastorechangemetaparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `39` on the server.</span>
<code>**async def rate_objects**(targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `40` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def post_meta_binary_with_data_id**(data_id: int, param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> None</code><br>
<span class="docs">Calls method `41` on the server.</span>
<code>**async def post_meta_binaries_with_data_id**(data_ids: list[int], param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `42` on the server.</span>
<code>**async def rate_object_with_posting**(target: [DataStoreRatingTarget](#datastoreratingtarget), rate_param: [DataStoreRateObjectParam](#datastorerateobjectparam), post_param: [DataStorePreparePostParam](#datastorepreparepostparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `43` on the server.</span>
<code>**async def rate_objects_with_posting**(targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], rate_param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], post_param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `44` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>ratings: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_object_infos**(data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `45` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreReqGetInfo](#datastorereqgetinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def search_object_light**(param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Calls method `46` on the server.</span>
## DataStoreServer
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new [`DataStoreServer`](#datastoreserver).</span>
<code>**async def logout**(client: [RMCClient](rmc.md#rmcclient)) -> None</code><br>
<span class="docs">Called whenever a client is disconnected. May be overridden by a subclass.</span>
<code>**async def prepare_get_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)) -> [DataStoreReqGetInfoV1](#datastorereqgetinfov1)</code><br>
<span class="docs">Handler for method `1`. This method should be overridden by a subclass.</span>
<code>**async def prepare_post_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePreparePostParamV1](#datastorepreparepostparamv1)) -> [DataStoreReqPostInfoV1](#datastorereqpostinfov1)</code><br>
<span class="docs">Handler for method `2`. This method should be overridden by a subclass.</span>
<code>**async def complete_post_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)) -> None</code><br>
<span class="docs">Handler for method `3`. This method should be overridden by a subclass.</span>
<code>**async def delete_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreDeleteParam](#datastoredeleteparam)) -> None</code><br>
<span class="docs">Handler for method `4`. This method should be overridden by a subclass.</span>
<code>**async def delete_objects**(client: [RMCClient](rmc.md#rmcclient), param: list[[DataStoreDeleteParam](#datastoredeleteparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `5`. This method should be overridden by a subclass.</span>
<code>**async def change_meta_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)) -> None</code><br>
<span class="docs">Handler for method `6`. This method should be overridden by a subclass.</span>
<code>**async def change_metas_v1**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], param: list[[DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `7`. This method should be overridden by a subclass.</span>
<code>**async def get_meta**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [DataStoreMetaInfo](#datastoremetainfo)</code><br>
<span class="docs">Handler for method `8`. This method should be overridden by a subclass.</span>
<code>**async def get_metas**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `9`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>info: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def prepare_update_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareUpdateParam](#datastoreprepareupdateparam)) -> [DataStoreReqUpdateInfo](#datastorerequpdateinfo)</code><br>
<span class="docs">Handler for method `10`. This method should be overridden by a subclass.</span>
<code>**async def complete_update_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreCompleteUpdateParam](#datastorecompleteupdateparam)) -> None</code><br>
<span class="docs">Handler for method `11`. This method should be overridden by a subclass.</span>
<code>**async def search_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Handler for method `12`. This method should be overridden by a subclass.</span>
<code>**async def get_notification_url**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetNotificationUrlParam](#datastoregetnotificationurlparam)) -> [DataStoreReqGetNotificationUrlInfo](#datastorereqgetnotificationurlinfo)</code><br>
<span class="docs">Handler for method `13`. This method should be overridden by a subclass.</span>
<code>**async def get_new_arrived_notifications_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `14`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotificationV1](#datastorenotificationv1)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def rate_object**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), param: [DataStoreRateObjectParam](#datastorerateobjectparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Handler for method `15`. This method should be overridden by a subclass.</span>
<code>**async def get_rating**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Handler for method `16`. This method should be overridden by a subclass.</span>
<code>**async def get_ratings**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `17`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>ratings: list[list[[DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)]]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def reset_rating**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), update_password: int) -> None</code><br>
<span class="docs">Handler for method `18`. This method should be overridden by a subclass.</span>
<code>**async def reset_ratings**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `19`. This method should be overridden by a subclass.</span>
<code>**async def get_specific_meta_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetSpecificMetaParamV1](#datastoregetspecificmetaparamv1)) -> list[[DataStoreSpecificMetaInfoV1](#datastorespecificmetainfov1)]</code><br>
<span class="docs">Handler for method `20`. This method should be overridden by a subclass.</span>
<code>**async def post_meta_binary**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> int</code><br>
<span class="docs">Handler for method `21`. This method should be overridden by a subclass.</span>
<code>**async def touch_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreTouchObjectParam](#datastoretouchobjectparam)) -> None</code><br>
<span class="docs">Handler for method `22`. This method should be overridden by a subclass.</span>
<code>**async def get_rating_with_log**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `23`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>rating: [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<code>log: [DataStoreRatingLog](#datastoreratinglog)</code><br>
</span>
</span>
<code>**async def prepare_post_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> [DataStoreReqPostInfo](#datastorereqpostinfo)</code><br>
<span class="docs">Handler for method `24`. This method should be overridden by a subclass.</span>
<code>**async def prepare_get_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<span class="docs">Handler for method `25`. This method should be overridden by a subclass.</span>
<code>**async def complete_post_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreCompletePostParam](#datastorecompletepostparam)) -> None</code><br>
<span class="docs">Handler for method `26`. This method should be overridden by a subclass.</span>
<code>**async def get_new_arrived_notifications**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `27`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotification](#datastorenotification)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def get_specific_meta**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetSpecificMetaParam](#datastoregetspecificmetaparam)) -> list[[DataStoreSpecificMetaInfo](#datastorespecificmetainfo)]</code><br>
<span class="docs">Handler for method `28`. This method should be overridden by a subclass.</span>
<code>**async def get_persistence_info**(client: [RMCClient](rmc.md#rmcclient), owner_id: int, slot_id: int) -> [DataStorePersistenceInfo](#datastorepersistenceinfo)</code><br>
<span class="docs">Handler for method `29`. This method should be overridden by a subclass.</span>
<code>**async def get_persistence_infos**(client: [RMCClient](rmc.md#rmcclient), owner_id: int, slot_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `30`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePersistenceInfo](#datastorepersistenceinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def perpetuate_object**(client: [RMCClient](rmc.md#rmcclient), persistence_slot_id: int, data_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Handler for method `31`. This method should be overridden by a subclass.</span>
<code>**async def unperpetuate_object**(client: [RMCClient](rmc.md#rmcclient), persistence_slot_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Handler for method `32`. This method should be overridden by a subclass.</span>
<code>**async def prepare_get_object_or_meta_binary**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `33`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>get_info: [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<code>additional_meta: [DataStoreReqGetAdditionalMeta](#datastorereqgetadditionalmeta)</code><br>
</span>
</span>
<code>**async def get_password_info**(client: [RMCClient](rmc.md#rmcclient), data_id: int) -> [DataStorePasswordInfo](#datastorepasswordinfo)</code><br>
<span class="docs">Handler for method `34`. This method should be overridden by a subclass.</span>
<code>**async def get_password_infos**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `35`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePasswordInfo](#datastorepasswordinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_metas_multiple_param**(client: [RMCClient](rmc.md#rmcclient), params: list[[DataStoreGetMetaParam](#datastoregetmetaparam)]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `36`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def complete_post_objects**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int]) -> None</code><br>
<span class="docs">Handler for method `37`. This method should be overridden by a subclass.</span>
<code>**async def change_meta**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreChangeMetaParam](#datastorechangemetaparam)) -> None</code><br>
<span class="docs">Handler for method `38`. This method should be overridden by a subclass.</span>
<code>**async def change_metas**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], param: list[[DataStoreChangeMetaParam](#datastorechangemetaparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `39`. This method should be overridden by a subclass.</span>
<code>**async def rate_objects**(client: [RMCClient](rmc.md#rmcclient), targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `40`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def post_meta_binary_with_data_id**(client: [RMCClient](rmc.md#rmcclient), data_id: int, param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> None</code><br>
<span class="docs">Handler for method `41`. This method should be overridden by a subclass.</span>
<code>**async def post_meta_binaries_with_data_id**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `42`. This method should be overridden by a subclass.</span>
<code>**async def rate_object_with_posting**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), rate_param: [DataStoreRateObjectParam](#datastorerateobjectparam), post_param: [DataStorePreparePostParam](#datastorepreparepostparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Handler for method `43`. This method should be overridden by a subclass.</span>
<code>**async def rate_objects_with_posting**(client: [RMCClient](rmc.md#rmcclient), targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], rate_param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], post_param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `44`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>ratings: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_object_infos**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `45`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreReqGetInfo](#datastorereqgetinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def search_object_light**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Handler for method `46`. This method should be overridden by a subclass.</span>
## DataStoreChangeMetaCompareParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreChangeMetaCompareParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>comparison_flag: int</code><br>
<code>name: str</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>period: int</code><br>
<code>meta_binary: bytes</code><br>
<code>tags: list[str]</code><br>
<code>referred_count: int</code><br>
<code>data_type: int</code><br>
<code>status: int</code><br>
</span><br>
## DataStoreChangeMetaParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreChangeMetaParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>modifies_flag: int</code><br>
<code>name: str</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>period: int</code><br>
<code>meta_binary: bytes</code><br>
<code>tags: list[str]</code><br>
<code>update_password: int</code><br>
<code>referred_count: int</code><br>
<code>data_type: int</code><br>
<code>status: int</code><br>
<code>compare_param: [DataStoreChangeMetaCompareParam](#datastorechangemetacompareparam) = [DataStoreChangeMetaCompareParam](#datastorechangemetacompareparam)()</code><br>
<code>persistence_target: [DataStorePersistenceTarget](#datastorepersistencetarget) = [DataStorePersistenceTarget](#datastorepersistencetarget)()</code><br>
</span><br>
## DataStoreChangeMetaParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreChangeMetaParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>modifies_flag: int</code><br>
<code>name: str</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>period: int</code><br>
<code>meta_binary: bytes</code><br>
<code>tags: list[str]</code><br>
<code>update_password: int</code><br>
</span><br>
## DataStoreCompletePostParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreCompletePostParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>success: bool</code><br>
</span><br>
## DataStoreCompletePostParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreCompletePostParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>success: bool</code><br>
</span><br>
## DataStoreCompleteUpdateParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreCompleteUpdateParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>version: int</code><br>
<code>success: bool</code><br>
</span><br>
## DataStoreDeleteParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreDeleteParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>update_password: int</code><br>
</span><br>
## DataStoreGetMetaParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetMetaParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int = 0</code><br>
<code>persistence_target: [DataStorePersistenceTarget](#datastorepersistencetarget) = [DataStorePersistenceTarget](#datastorepersistencetarget)()</code><br>
<code>result_option: int = 0</code><br>
<code>access_password: int = 0</code><br>
</span><br>
## DataStoreGetNewArrivedNotificationsParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetNewArrivedNotificationsParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>last_notification_id: int</code><br>
<code>limit: int</code><br>
</span><br>
## DataStoreGetNotificationUrlParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetNotificationUrlParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>previous_url: str</code><br>
</span><br>
## DataStoreGetSpecificMetaParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetSpecificMetaParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_ids: list[int]</code><br>
</span><br>
## DataStoreGetSpecificMetaParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetSpecificMetaParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_ids: list[int]</code><br>
</span><br>
## DataStoreKeyValue
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreKeyValue` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>key: str</code><br>
<code>value: str</code><br>
</span><br>
## DataStoreMetaInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreMetaInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>owner_id: int</code><br>
<code>size: int</code><br>
<code>name: str</code><br>
<code>data_type: int</code><br>
<code>meta_binary: bytes</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>create_time: [DateTime](common.md#datetime)</code><br>
<code>update_time: [DateTime](common.md#datetime)</code><br>
<code>period: int</code><br>
<code>status: int</code><br>
<code>referred_count: int</code><br>
<code>refer_data_id: int</code><br>
<code>flag: int</code><br>
<code>referred_time: [DateTime](common.md#datetime)</code><br>
<code>expire_time: [DateTime](common.md#datetime)</code><br>
<code>tags: list[str]</code><br>
<code>ratings: list[[DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)]</code><br>
</span><br>
## DataStoreNotification
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreNotification` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>notification_id: int</code><br>
<code>data_id: int</code><br>
</span><br>
## DataStoreNotificationV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreNotificationV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>notification_id: int</code><br>
<code>data_id: int</code><br>
</span><br>
## DataStorePasswordInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePasswordInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>access_password: int</code><br>
<code>update_password: int</code><br>
</span><br>
## DataStorePermission
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePermission` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>permission: int = 3</code><br>
<code>recipients: list[int] = []</code><br>
</span><br>
## DataStorePersistenceInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePersistenceInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>owner_id: int</code><br>
<code>slot_id: int</code><br>
<code>data_id: int</code><br>
</span><br>
## DataStorePersistenceInitParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePersistenceInitParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>persistence_id: int = 65535</code><br>
<code>delete_last_object: bool = True</code><br>
</span><br>
## DataStorePersistenceTarget
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePersistenceTarget` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>owner_id: int = 0</code><br>
<code>persistence_id: int = 65535</code><br>
</span><br>
## DataStorePrepareGetParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePrepareGetParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int = 0</code><br>
<code>lock_id: int = 0</code><br>
<code>persistence_target: [DataStorePersistenceTarget](#datastorepersistencetarget) = [DataStorePersistenceTarget](#datastorepersistencetarget)()</code><br>
<code>access_password: int = 0</code><br>
If `nex.version` >= 30500:<br>
<span class="docs">
<code>extra_data: list[str] = []</code><br>
</span><br>
</span><br>
## DataStorePrepareGetParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePrepareGetParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>lock_id: int = 0</code><br>
</span><br>
## DataStorePreparePostParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePreparePostParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>size: int</code><br>
<code>name: str</code><br>
<code>data_type: int</code><br>
<code>meta_binary: bytes</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>flag: int</code><br>
<code>period: int</code><br>
<code>refer_data_id: int = 0</code><br>
<code>tags: list[str] = []</code><br>
<code>rating_init_param: list[[DataStoreRatingInitParamWithSlot](#datastoreratinginitparamwithslot)] = []</code><br>
<code>persistence_init_param: [DataStorePersistenceInitParam](#datastorepersistenceinitparam) = [DataStorePersistenceInitParam](#datastorepersistenceinitparam)()</code><br>
If `nex.version` >= 30500:<br>
<span class="docs">
<code>extra_data: list[str]</code><br>
</span><br>
</span><br>
## DataStorePreparePostParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePreparePostParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>size: int</code><br>
<code>name: str</code><br>
<code>data_type: int = 0</code><br>
<code>meta_binary: bytes = b""</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>flag: int</code><br>
<code>period: int</code><br>
<code>refer_data_id: int = 0</code><br>
<code>tags: list[str]</code><br>
<code>rating_init_param: list[[DataStoreRatingInitParamWithSlot](#datastoreratinginitparamwithslot)]</code><br>
</span><br>
## DataStorePrepareUpdateParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePrepareUpdateParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>size: int</code><br>
<code>update_password: int</code><br>
<code>extra_data: list[str]</code><br>
</span><br>
## DataStoreRateObjectParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRateObjectParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>rating_value: int</code><br>
<code>access_password: int</code><br>
</span><br>
## DataStoreRatingInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>total_value: int</code><br>
<code>count: int</code><br>
<code>initial_value: int</code><br>
</span><br>
## DataStoreRatingInfoWithSlot
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingInfoWithSlot` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>slot: int</code><br>
<code>info: [DataStoreRatingInfo](#datastoreratinginfo) = [DataStoreRatingInfo](#datastoreratinginfo)()</code><br>
</span><br>
## DataStoreRatingInitParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingInitParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>flag: int</code><br>
<code>internal_flag: int</code><br>
<code>lock_type: int</code><br>
<code>initial_value: int</code><br>
<code>range_min: int</code><br>
<code>range_max: int</code><br>
<code>period_hour: int</code><br>
<code>period_duration: int</code><br>
</span><br>
## DataStoreRatingInitParamWithSlot
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingInitParamWithSlot` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>slot: int</code><br>
<code>param: [DataStoreRatingInitParam](#datastoreratinginitparam) = [DataStoreRatingInitParam](#datastoreratinginitparam)()</code><br>
</span><br>
## DataStoreRatingLog
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingLog` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>is_rated: bool</code><br>
<code>pid: int</code><br>
<code>rating_value: int</code><br>
<code>lock_expiration_time: [DateTime](common.md#datetime)</code><br>
</span><br>
## DataStoreRatingTarget
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingTarget` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>slot: int</code><br>
</span><br>
## DataStoreReqGetAdditionalMeta
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqGetAdditionalMeta` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>owner_id: int</code><br>
<code>data_type: int</code><br>
<code>version: int</code><br>
<code>meta_binary: bytes</code><br>
</span><br>
## DataStoreReqGetInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqGetInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>size: int</code><br>
<code>root_ca_cert: bytes</code><br>
If `nex.version` >= 30500:<br>
<span class="docs">
<code>data_id: int</code><br>
</span><br>
</span><br>
## DataStoreReqGetInfoV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqGetInfoV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>size: int</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreReqGetNotificationUrlInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqGetNotificationUrlInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>url: str</code><br>
<code>key: str</code><br>
<code>query: str</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreReqPostInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqPostInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>form: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreReqPostInfoV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqPostInfoV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>form: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreReqUpdateInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqUpdateInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>version: int</code><br>
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>form: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreSearchParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreSearchParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>search_target: int = 1</code><br>
<code>owner_ids: list[int] = []</code><br>
<code>owner_type: int = 0</code><br>
<code>destination_ids: list[int] = []</code><br>
<code>data_type: int = 65535</code><br>
<code>created_after: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).future()</code><br>
<code>created_before: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).future()</code><br>
<code>updated_after: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).future()</code><br>
<code>updated_before: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).future()</code><br>
<code>refer_data_id: int = 0</code><br>
<code>tags: list[str] = []</code><br>
<code>result_order_column: int = 0</code><br>
<code>result_order: int = 0</code><br>
<code>result_range: [ResultRange](common.md#resultrange) = [ResultRange](common.md#resultrange)()</code><br>
<code>result_option: int = 0</code><br>
<code>minimal_rating_frequency: int = 0</code><br>
<code>use_cache: bool = False</code><br>
<code>total_count_enabled: bool = True</code><br>
<code>data_types: list[int] = []</code><br>
</span><br>
## DataStoreSearchResult
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreSearchResult` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>total_count: int</code><br>
<code>result: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>total_count_type: int</code><br>
</span><br>
## DataStoreSpecificMetaInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreSpecificMetaInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>owner_id: int</code><br>
<code>size: int</code><br>
<code>data_type: int</code><br>
<code>version: int</code><br>
</span><br>
## DataStoreSpecificMetaInfoV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreSpecificMetaInfoV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>owner_id: int</code><br>
<code>size: int</code><br>
<code>data_type: int</code><br>
<code>version: int</code><br>
</span><br>
## DataStoreTouchObjectParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreTouchObjectParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>lock_id: int</code><br>
<code>access_password: int</code><br>
</span><br>
================================================
FILE: docs/reference/nex/datastore_miitopia_3ds.md
================================================
# Module: <code>nintendo.nex.datastore_miitopia_3ds</code>
Provides a client and server for the `DataStoreProtocolMiitopia3DS`. This page was generated automatically from `datastore_miitopia_3ds.proto`.
<code>**class** [DataStoreClientMiitopia3DS](#datastoreclientmiitopia3ds)</code><br>
<span class="docs">The client for the `DataStoreProtocolMiitopia3DS`.</span>
<code>**class** [DataStoreServerMiitopia3DS](#datastoreservermiitopia3ds)</code><br>
<span class="docs">The server for the `DataStoreProtocolMiitopia3DS`.</span>
<code>**class** [Category](#category)</code><br>
<code>**class** [Gender](#gender)</code><br>
<code>**class** [DataStoreChangeMetaCompareParam](#datastorechangemetacompareparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreChangeMetaParam](#datastorechangemetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompletePostParam](#datastorecompletepostparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompleteUpdateParam](#datastorecompleteupdateparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreDeleteParam](#datastoredeleteparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetMetaParam](#datastoregetmetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetNotificationUrlParam](#datastoregetnotificationurlparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetSpecificMetaParam](#datastoregetspecificmetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetSpecificMetaParamV1](#datastoregetspecificmetaparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreKeyValue](#datastorekeyvalue)([Structure](common.md))</code><br>
<code>**class** [DataStoreMetaInfo](#datastoremetainfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreNotification](#datastorenotification)([Structure](common.md))</code><br>
<code>**class** [DataStoreNotificationV1](#datastorenotificationv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePasswordInfo](#datastorepasswordinfo)([Structure](common.md))</code><br>
<code>**class** [DataStorePermission](#datastorepermission)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceInfo](#datastorepersistenceinfo)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceInitParam](#datastorepersistenceinitparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceTarget](#datastorepersistencetarget)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareGetParam](#datastorepreparegetparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePreparePostParam](#datastorepreparepostparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePreparePostParamV1](#datastorepreparepostparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareUpdateParam](#datastoreprepareupdateparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRateObjectParam](#datastorerateobjectparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInfo](#datastoreratinginfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInitParam](#datastoreratinginitparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInitParamWithSlot](#datastoreratinginitparamwithslot)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingLog](#datastoreratinglog)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingTarget](#datastoreratingtarget)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetAdditionalMeta](#datastorereqgetadditionalmeta)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetInfo](#datastorereqgetinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetInfoV1](#datastorereqgetinfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetNotificationUrlInfo](#datastorereqgetnotificationurlinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqPostInfo](#datastorereqpostinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqPostInfoV1](#datastorereqpostinfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqUpdateInfo](#datastorerequpdateinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreSearchParam](#datastoresearchparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreSearchResult](#datastoresearchresult)([Structure](common.md))</code><br>
<code>**class** [DataStoreSpecificMetaInfo](#datastorespecificmetainfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreSpecificMetaInfoV1](#datastorespecificmetainfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreTouchObjectParam](#datastoretouchobjectparam)([Structure](common.md))</code><br>
<code>**class** [MiiTubeMiiInfo](#miitubemiiinfo)([Structure](common.md))</code><br>
<code>**class** [MiiTubeSearchParam](#miitubesearchparam)([Structure](common.md))</code><br>
<code>**class** [MiiTubeSearchResult](#miitubesearchresult)([Structure](common.md))</code><br>
## DataStoreClientMiitopia3DS
<code>**def _\_init__**(client: [RMCClient](rmc.md#rmcclient) / [HppClient](hpp.md#hppclient))</code><br>
<span class="docs">Creates a new [`DataStoreClientMiitopia3DS`](#datastoreclientmiitopia3ds).</span>
<code>**async def prepare_get_object_v1**(param: [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)) -> [DataStoreReqGetInfoV1](#datastorereqgetinfov1)</code><br>
<span class="docs">Calls method `1` on the server.</span>
<code>**async def prepare_post_object_v1**(param: [DataStorePreparePostParamV1](#datastorepreparepostparamv1)) -> [DataStoreReqPostInfoV1](#datastorereqpostinfov1)</code><br>
<span class="docs">Calls method `2` on the server.</span>
<code>**async def complete_post_object_v1**(param: [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)) -> None</code><br>
<span class="docs">Calls method `3` on the server.</span>
<code>**async def delete_object**(param: [DataStoreDeleteParam](#datastoredeleteparam)) -> None</code><br>
<span class="docs">Calls method `4` on the server.</span>
<code>**async def delete_objects**(param: list[[DataStoreDeleteParam](#datastoredeleteparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `5` on the server.</span>
<code>**async def change_meta_v1**(param: [DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)) -> None</code><br>
<span class="docs">Calls method `6` on the server.</span>
<code>**async def change_metas_v1**(data_ids: list[int], param: list[[DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `7` on the server.</span>
<code>**async def get_meta**(param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [DataStoreMetaInfo](#datastoremetainfo)</code><br>
<span class="docs">Calls method `8` on the server.</span>
<code>**async def get_metas**(data_ids: list[int], param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `9` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>info: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def prepare_update_object**(param: [DataStorePrepareUpdateParam](#datastoreprepareupdateparam)) -> [DataStoreReqUpdateInfo](#datastorerequpdateinfo)</code><br>
<span class="docs">Calls method `10` on the server.</span>
<code>**async def complete_update_object**(param: [DataStoreCompleteUpdateParam](#datastorecompleteupdateparam)) -> None</code><br>
<span class="docs">Calls method `11` on the server.</span>
<code>**async def search_object**(param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Calls method `12` on the server.</span>
<code>**async def get_notification_url**(param: [DataStoreGetNotificationUrlParam](#datastoregetnotificationurlparam)) -> [DataStoreReqGetNotificationUrlInfo](#datastorereqgetnotificationurlinfo)</code><br>
<span class="docs">Calls method `13` on the server.</span>
<code>**async def get_new_arrived_notifications_v1**(param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `14` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotificationV1](#datastorenotificationv1)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def rate_object**(target: [DataStoreRatingTarget](#datastoreratingtarget), param: [DataStoreRateObjectParam](#datastorerateobjectparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `15` on the server.</span>
<code>**async def get_rating**(target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `16` on the server.</span>
<code>**async def get_ratings**(data_ids: list[int], access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `17` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>ratings: list[list[[DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)]]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def reset_rating**(target: [DataStoreRatingTarget](#datastoreratingtarget), update_password: int) -> None</code><br>
<span class="docs">Calls method `18` on the server.</span>
<code>**async def reset_ratings**(data_ids: list[int], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `19` on the server.</span>
<code>**async def get_specific_meta_v1**(param: [DataStoreGetSpecificMetaParamV1](#datastoregetspecificmetaparamv1)) -> list[[DataStoreSpecificMetaInfoV1](#datastorespecificmetainfov1)]</code><br>
<span class="docs">Calls method `20` on the server.</span>
<code>**async def post_meta_binary**(param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> int</code><br>
<span class="docs">Calls method `21` on the server.</span>
<code>**async def touch_object**(param: [DataStoreTouchObjectParam](#datastoretouchobjectparam)) -> None</code><br>
<span class="docs">Calls method `22` on the server.</span>
<code>**async def get_rating_with_log**(target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `23` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>rating: [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<code>log: [DataStoreRatingLog](#datastoreratinglog)</code><br>
</span>
</span>
<code>**async def prepare_post_object**(param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> [DataStoreReqPostInfo](#datastorereqpostinfo)</code><br>
<span class="docs">Calls method `24` on the server.</span>
<code>**async def prepare_get_object**(param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<span class="docs">Calls method `25` on the server.</span>
<code>**async def complete_post_object**(param: [DataStoreCompletePostParam](#datastorecompletepostparam)) -> None</code><br>
<span class="docs">Calls method `26` on the server.</span>
<code>**async def get_new_arrived_notifications**(param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `27` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotification](#datastorenotification)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def get_specific_meta**(param: [DataStoreGetSpecificMetaParam](#datastoregetspecificmetaparam)) -> list[[DataStoreSpecificMetaInfo](#datastorespecificmetainfo)]</code><br>
<span class="docs">Calls method `28` on the server.</span>
<code>**async def get_persistence_info**(owner_id: int, slot_id: int) -> [DataStorePersistenceInfo](#datastorepersistenceinfo)</code><br>
<span class="docs">Calls method `29` on the server.</span>
<code>**async def get_persistence_infos**(owner_id: int, slot_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `30` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePersistenceInfo](#datastorepersistenceinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def perpetuate_object**(persistence_slot_id: int, data_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Calls method `31` on the server.</span>
<code>**async def unperpetuate_object**(persistence_slot_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Calls method `32` on the server.</span>
<code>**async def prepare_get_object_or_meta_binary**(param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `33` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>get_info: [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<code>additional_meta: [DataStoreReqGetAdditionalMeta](#datastorereqgetadditionalmeta)</code><br>
</span>
</span>
<code>**async def get_password_info**(data_id: int) -> [DataStorePasswordInfo](#datastorepasswordinfo)</code><br>
<span class="docs">Calls method `34` on the server.</span>
<code>**async def get_password_infos**(data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `35` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePasswordInfo](#datastorepasswordinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_metas_multiple_param**(params: list[[DataStoreGetMetaParam](#datastoregetmetaparam)]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `36` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def complete_post_objects**(data_ids: list[int]) -> None</code><br>
<span class="docs">Calls method `37` on the server.</span>
<code>**async def change_meta**(param: [DataStoreChangeMetaParam](#datastorechangemetaparam)) -> None</code><br>
<span class="docs">Calls method `38` on the server.</span>
<code>**async def change_metas**(data_ids: list[int], param: list[[DataStoreChangeMetaParam](#datastorechangemetaparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `39` on the server.</span>
<code>**async def rate_objects**(targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `40` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def post_meta_binary_with_data_id**(data_id: int, param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> None</code><br>
<span class="docs">Calls method `41` on the server.</span>
<code>**async def post_meta_binaries_with_data_id**(data_ids: list[int], param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `42` on the server.</span>
<code>**async def rate_object_with_posting**(target: [DataStoreRatingTarget](#datastoreratingtarget), rate_param: [DataStoreRateObjectParam](#datastorerateobjectparam), post_param: [DataStorePreparePostParam](#datastorepreparepostparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `43` on the server.</span>
<code>**async def rate_objects_with_posting**(targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], rate_param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], post_param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `44` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>ratings: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_object_infos**(data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `45` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreReqGetInfo](#datastorereqgetinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def search_object_light**(param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Calls method `46` on the server.</span>
<code>**async def search_mii**(param: [MiiTubeSearchParam](#miitubesearchparam)) -> [MiiTubeSearchResult](#miitubesearchresult)</code><br>
<span class="docs">Calls method `47` on the server.</span>
## DataStoreServerMiitopia3DS
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new [`DataStoreServerMiitopia3DS`](#datastoreservermiitopia3ds).</span>
<code>**async def logout**(client: [RMCClient](rmc.md#rmcclient)) -> None</code><br>
<span class="docs">Called whenever a client is disconnected. May be overridden by a subclass.</span>
<code>**async def prepare_get_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)) -> [DataStoreReqGetInfoV1](#datastorereqgetinfov1)</code><br>
<span class="docs">Handler for method `1`. This method should be overridden by a subclass.</span>
<code>**async def prepare_post_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePreparePostParamV1](#datastorepreparepostparamv1)) -> [DataStoreReqPostInfoV1](#datastorereqpostinfov1)</code><br>
<span class="docs">Handler for method `2`. This method should be overridden by a subclass.</span>
<code>**async def complete_post_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)) -> None</code><br>
<span class="docs">Handler for method `3`. This method should be overridden by a subclass.</span>
<code>**async def delete_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreDeleteParam](#datastoredeleteparam)) -> None</code><br>
<span class="docs">Handler for method `4`. This method should be overridden by a subclass.</span>
<code>**async def delete_objects**(client: [RMCClient](rmc.md#rmcclient), param: list[[DataStoreDeleteParam](#datastoredeleteparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `5`. This method should be overridden by a subclass.</span>
<code>**async def change_meta_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)) -> None</code><br>
<span class="docs">Handler for method `6`. This method should be overridden by a subclass.</span>
<code>**async def change_metas_v1**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], param: list[[DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `7`. This method should be overridden by a subclass.</span>
<code>**async def get_meta**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [DataStoreMetaInfo](#datastoremetainfo)</code><br>
<span class="docs">Handler for method `8`. This method should be overridden by a subclass.</span>
<code>**async def get_metas**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `9`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>info: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def prepare_update_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareUpdateParam](#datastoreprepareupdateparam)) -> [DataStoreReqUpdateInfo](#datastorerequpdateinfo)</code><br>
<span class="docs">Handler for method `10`. This method should be overridden by a subclass.</span>
<code>**async def complete_update_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreCompleteUpdateParam](#datastorecompleteupdateparam)) -> None</code><br>
<span class="docs">Handler for method `11`. This method should be overridden by a subclass.</span>
<code>**async def search_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Handler for method `12`. This method should be overridden by a subclass.</span>
<code>**async def get_notification_url**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetNotificationUrlParam](#datastoregetnotificationurlparam)) -> [DataStoreReqGetNotificationUrlInfo](#datastorereqgetnotificationurlinfo)</code><br>
<span class="docs">Handler for method `13`. This method should be overridden by a subclass.</span>
<code>**async def get_new_arrived_notifications_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `14`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotificationV1](#datastorenotificationv1)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def rate_object**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), param: [DataStoreRateObjectParam](#datastorerateobjectparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Handler for method `15`. This method should be overridden by a subclass.</span>
<code>**async def get_rating**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Handler for method `16`. This method should be overridden by a subclass.</span>
<code>**async def get_ratings**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `17`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>ratings: list[list[[DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)]]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def reset_rating**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), update_password: int) -> None</code><br>
<span class="docs">Handler for method `18`. This method should be overridden by a subclass.</span>
<code>**async def reset_ratings**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `19`. This method should be overridden by a subclass.</span>
<code>**async def get_specific_meta_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetSpecificMetaParamV1](#datastoregetspecificmetaparamv1)) -> list[[DataStoreSpecificMetaInfoV1](#datastorespecificmetainfov1)]</code><br>
<span class="docs">Handler for method `20`. This method should be overridden by a subclass.</span>
<code>**async def post_meta_binary**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> int</code><br>
<span class="docs">Handler for method `21`. This method should be overridden by a subclass.</span>
<code>**async def touch_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreTouchObjectParam](#datastoretouchobjectparam)) -> None</code><br>
<span class="docs">Handler for method `22`. This method should be overridden by a subclass.</span>
<code>**async def get_rating_with_log**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `23`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>rating: [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<code>log: [DataStoreRatingLog](#datastoreratinglog)</code><br>
</span>
</span>
<code>**async def prepare_post_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> [DataStoreReqPostInfo](#datastorereqpostinfo)</code><br>
<span class="docs">Handler for method `24`. This method should be overridden by a subclass.</span>
<code>**async def prepare_get_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<span class="docs">Handler for method `25`. This method should be overridden by a subclass.</span>
<code>**async def complete_post_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreCompletePostParam](#datastorecompletepostparam)) -> None</code><br>
<span class="docs">Handler for method `26`. This method should be overridden by a subclass.</span>
<code>**async def get_new_arrived_notifications**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `27`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotification](#datastorenotification)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def get_specific_meta**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreGetSpecificMetaParam](#datastoregetspecificmetaparam)) -> list[[DataStoreSpecificMetaInfo](#datastorespecificmetainfo)]</code><br>
<span class="docs">Handler for method `28`. This method should be overridden by a subclass.</span>
<code>**async def get_persistence_info**(client: [RMCClient](rmc.md#rmcclient), owner_id: int, slot_id: int) -> [DataStorePersistenceInfo](#datastorepersistenceinfo)</code><br>
<span class="docs">Handler for method `29`. This method should be overridden by a subclass.</span>
<code>**async def get_persistence_infos**(client: [RMCClient](rmc.md#rmcclient), owner_id: int, slot_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `30`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePersistenceInfo](#datastorepersistenceinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def perpetuate_object**(client: [RMCClient](rmc.md#rmcclient), persistence_slot_id: int, data_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Handler for method `31`. This method should be overridden by a subclass.</span>
<code>**async def unperpetuate_object**(client: [RMCClient](rmc.md#rmcclient), persistence_slot_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Handler for method `32`. This method should be overridden by a subclass.</span>
<code>**async def prepare_get_object_or_meta_binary**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `33`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>get_info: [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<code>additional_meta: [DataStoreReqGetAdditionalMeta](#datastorereqgetadditionalmeta)</code><br>
</span>
</span>
<code>**async def get_password_info**(client: [RMCClient](rmc.md#rmcclient), data_id: int) -> [DataStorePasswordInfo](#datastorepasswordinfo)</code><br>
<span class="docs">Handler for method `34`. This method should be overridden by a subclass.</span>
<code>**async def get_password_infos**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `35`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePasswordInfo](#datastorepasswordinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_metas_multiple_param**(client: [RMCClient](rmc.md#rmcclient), params: list[[DataStoreGetMetaParam](#datastoregetmetaparam)]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `36`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def complete_post_objects**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int]) -> None</code><br>
<span class="docs">Handler for method `37`. This method should be overridden by a subclass.</span>
<code>**async def change_meta**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreChangeMetaParam](#datastorechangemetaparam)) -> None</code><br>
<span class="docs">Handler for method `38`. This method should be overridden by a subclass.</span>
<code>**async def change_metas**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], param: list[[DataStoreChangeMetaParam](#datastorechangemetaparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `39`. This method should be overridden by a subclass.</span>
<code>**async def rate_objects**(client: [RMCClient](rmc.md#rmcclient), targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `40`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def post_meta_binary_with_data_id**(client: [RMCClient](rmc.md#rmcclient), data_id: int, param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> None</code><br>
<span class="docs">Handler for method `41`. This method should be overridden by a subclass.</span>
<code>**async def post_meta_binaries_with_data_id**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int], param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `42`. This method should be overridden by a subclass.</span>
<code>**async def rate_object_with_posting**(client: [RMCClient](rmc.md#rmcclient), target: [DataStoreRatingTarget](#datastoreratingtarget), rate_param: [DataStoreRateObjectParam](#datastorerateobjectparam), post_param: [DataStorePreparePostParam](#datastorepreparepostparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Handler for method `43`. This method should be overridden by a subclass.</span>
<code>**async def rate_objects_with_posting**(client: [RMCClient](rmc.md#rmcclient), targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], rate_param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], post_param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `44`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>ratings: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_object_infos**(client: [RMCClient](rmc.md#rmcclient), data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Handler for method `45`. This method should be overridden by a subclass. The RMC response must have the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreReqGetInfo](#datastorereqgetinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def search_object_light**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Handler for method `46`. This method should be overridden by a subclass.</span>
<code>**async def search_mii**(client: [RMCClient](rmc.md#rmcclient), param: [MiiTubeSearchParam](#miitubesearchparam)) -> [MiiTubeSearchResult](#miitubesearchresult)</code><br>
<span class="docs">Handler for method `47`. This method should be overridden by a subclass.</span>
## Category
This class defines the following constants:<br>
<span class="docs">
`SINGING = 0`<br>
`SPORT = 1`<br>
`ACTING = 2`<br>
`COMEDY = 3`<br>
`MUSIC = 4`<br>
`MARTIAL_ARTS = 5`<br>
`DANCING = 6`<br>
`ADVENTURING = 7`<br>
`FILM_DIRECTING = 8`<br>
`COOKING = 9`<br>
`CHATTING = 10`<br>
`PUBLIC_SPEAKING = 11`<br>
`CRAFTWORK = 12`<br>
`DRAWING = 13`<br>
`STUDYING = 14`<br>
`WRITING = 15`<br>
`FASHION = 16`<br>
`DINING = 17`<br>
`NOT_TELLING = 18`<br>
`ANY = 255`<br>
</span>
## Gender
This class defines the following constants:<br>
<span class="docs">
`MALE = 0`<br>
`FEMALE = 1`<br>
`ANY = 2`<br>
</span>
## DataStoreChangeMetaCompareParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreChangeMetaCompareParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>comparison_flag: int</code><br>
<code>name: str</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>period: int</code><br>
<code>meta_binary: bytes</code><br>
<code>tags: list[str]</code><br>
<code>referred_count: int</code><br>
<code>data_type: int</code><br>
<code>status: int</code><br>
</span><br>
## DataStoreChangeMetaParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreChangeMetaParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>modifies_flag: int</code><br>
<code>name: str</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>period: int</code><br>
<code>meta_binary: bytes</code><br>
<code>tags: list[str]</code><br>
<code>update_password: int</code><br>
<code>referred_count: int</code><br>
<code>data_type: int</code><br>
<code>status: int</code><br>
<code>compare_param: [DataStoreChangeMetaCompareParam](#datastorechangemetacompareparam) = [DataStoreChangeMetaCompareParam](#datastorechangemetacompareparam)()</code><br>
<code>persistence_target: [DataStorePersistenceTarget](#datastorepersistencetarget) = [DataStorePersistenceTarget](#datastorepersistencetarget)()</code><br>
</span><br>
## DataStoreChangeMetaParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreChangeMetaParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>modifies_flag: int</code><br>
<code>name: str</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>period: int</code><br>
<code>meta_binary: bytes</code><br>
<code>tags: list[str]</code><br>
<code>update_password: int</code><br>
</span><br>
## DataStoreCompletePostParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreCompletePostParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>success: bool</code><br>
</span><br>
## DataStoreCompletePostParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreCompletePostParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>success: bool</code><br>
</span><br>
## DataStoreCompleteUpdateParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreCompleteUpdateParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>version: int</code><br>
<code>success: bool</code><br>
</span><br>
## DataStoreDeleteParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreDeleteParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>update_password: int</code><br>
</span><br>
## DataStoreGetMetaParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetMetaParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int = 0</code><br>
<code>persistence_target: [DataStorePersistenceTarget](#datastorepersistencetarget) = [DataStorePersistenceTarget](#datastorepersistencetarget)()</code><br>
<code>result_option: int = 0</code><br>
<code>access_password: int = 0</code><br>
</span><br>
## DataStoreGetNewArrivedNotificationsParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetNewArrivedNotificationsParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>last_notification_id: int</code><br>
<code>limit: int</code><br>
</span><br>
## DataStoreGetNotificationUrlParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetNotificationUrlParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>previous_url: str</code><br>
</span><br>
## DataStoreGetSpecificMetaParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetSpecificMetaParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_ids: list[int]</code><br>
</span><br>
## DataStoreGetSpecificMetaParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreGetSpecificMetaParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_ids: list[int]</code><br>
</span><br>
## DataStoreKeyValue
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreKeyValue` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>key: str</code><br>
<code>value: str</code><br>
</span><br>
## DataStoreMetaInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreMetaInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>owner_id: int</code><br>
<code>size: int</code><br>
<code>name: str</code><br>
<code>data_type: int</code><br>
<code>meta_binary: bytes</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>create_time: [DateTime](common.md#datetime)</code><br>
<code>update_time: [DateTime](common.md#datetime)</code><br>
<code>period: int</code><br>
<code>status: int</code><br>
<code>referred_count: int</code><br>
<code>refer_data_id: int</code><br>
<code>flag: int</code><br>
<code>referred_time: [DateTime](common.md#datetime)</code><br>
<code>expire_time: [DateTime](common.md#datetime)</code><br>
<code>tags: list[str]</code><br>
<code>ratings: list[[DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)]</code><br>
</span><br>
## DataStoreNotification
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreNotification` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>notification_id: int</code><br>
<code>data_id: int</code><br>
</span><br>
## DataStoreNotificationV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreNotificationV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>notification_id: int</code><br>
<code>data_id: int</code><br>
</span><br>
## DataStorePasswordInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePasswordInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>access_password: int</code><br>
<code>update_password: int</code><br>
</span><br>
## DataStorePermission
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePermission` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>permission: int = 3</code><br>
<code>recipients: list[int] = []</code><br>
</span><br>
## DataStorePersistenceInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePersistenceInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>owner_id: int</code><br>
<code>slot_id: int</code><br>
<code>data_id: int</code><br>
</span><br>
## DataStorePersistenceInitParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePersistenceInitParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>persistence_id: int = 65535</code><br>
<code>delete_last_object: bool = True</code><br>
</span><br>
## DataStorePersistenceTarget
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePersistenceTarget` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>owner_id: int = 0</code><br>
<code>persistence_id: int = 65535</code><br>
</span><br>
## DataStorePrepareGetParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePrepareGetParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int = 0</code><br>
<code>lock_id: int = 0</code><br>
<code>persistence_target: [DataStorePersistenceTarget](#datastorepersistencetarget) = [DataStorePersistenceTarget](#datastorepersistencetarget)()</code><br>
<code>access_password: int = 0</code><br>
If `nex.version` >= 30500:<br>
<span class="docs">
<code>extra_data: list[str] = []</code><br>
</span><br>
</span><br>
## DataStorePrepareGetParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePrepareGetParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>lock_id: int = 0</code><br>
</span><br>
## DataStorePreparePostParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePreparePostParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>size: int</code><br>
<code>name: str</code><br>
<code>data_type: int</code><br>
<code>meta_binary: bytes</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>flag: int</code><br>
<code>period: int</code><br>
<code>refer_data_id: int = 0</code><br>
<code>tags: list[str] = []</code><br>
<code>rating_init_param: list[[DataStoreRatingInitParamWithSlot](#datastoreratinginitparamwithslot)] = []</code><br>
<code>persistence_init_param: [DataStorePersistenceInitParam](#datastorepersistenceinitparam) = [DataStorePersistenceInitParam](#datastorepersistenceinitparam)()</code><br>
If `nex.version` >= 30500:<br>
<span class="docs">
<code>extra_data: list[str]</code><br>
</span><br>
</span><br>
## DataStorePreparePostParamV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePreparePostParamV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>size: int</code><br>
<code>name: str</code><br>
<code>data_type: int = 0</code><br>
<code>meta_binary: bytes = b""</code><br>
<code>permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>delete_permission: [DataStorePermission](#datastorepermission) = [DataStorePermission](#datastorepermission)()</code><br>
<code>flag: int</code><br>
<code>period: int</code><br>
<code>refer_data_id: int = 0</code><br>
<code>tags: list[str]</code><br>
<code>rating_init_param: list[[DataStoreRatingInitParamWithSlot](#datastoreratinginitparamwithslot)]</code><br>
</span><br>
## DataStorePrepareUpdateParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStorePrepareUpdateParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>size: int</code><br>
<code>update_password: int</code><br>
<code>extra_data: list[str]</code><br>
</span><br>
## DataStoreRateObjectParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRateObjectParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>rating_value: int</code><br>
<code>access_password: int</code><br>
</span><br>
## DataStoreRatingInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>total_value: int</code><br>
<code>count: int</code><br>
<code>initial_value: int</code><br>
</span><br>
## DataStoreRatingInfoWithSlot
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingInfoWithSlot` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>slot: int</code><br>
<code>info: [DataStoreRatingInfo](#datastoreratinginfo) = [DataStoreRatingInfo](#datastoreratinginfo)()</code><br>
</span><br>
## DataStoreRatingInitParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingInitParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>flag: int</code><br>
<code>internal_flag: int</code><br>
<code>lock_type: int</code><br>
<code>initial_value: int</code><br>
<code>range_min: int</code><br>
<code>range_max: int</code><br>
<code>period_hour: int</code><br>
<code>period_duration: int</code><br>
</span><br>
## DataStoreRatingInitParamWithSlot
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingInitParamWithSlot` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>slot: int</code><br>
<code>param: [DataStoreRatingInitParam](#datastoreratinginitparam) = [DataStoreRatingInitParam](#datastoreratinginitparam)()</code><br>
</span><br>
## DataStoreRatingLog
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingLog` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>is_rated: bool</code><br>
<code>pid: int</code><br>
<code>rating_value: int</code><br>
<code>lock_expiration_time: [DateTime](common.md#datetime)</code><br>
</span><br>
## DataStoreRatingTarget
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreRatingTarget` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>slot: int</code><br>
</span><br>
## DataStoreReqGetAdditionalMeta
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqGetAdditionalMeta` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>owner_id: int</code><br>
<code>data_type: int</code><br>
<code>version: int</code><br>
<code>meta_binary: bytes</code><br>
</span><br>
## DataStoreReqGetInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqGetInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>size: int</code><br>
<code>root_ca_cert: bytes</code><br>
If `nex.version` >= 30500:<br>
<span class="docs">
<code>data_id: int</code><br>
</span><br>
</span><br>
## DataStoreReqGetInfoV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqGetInfoV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>size: int</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreReqGetNotificationUrlInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqGetNotificationUrlInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>url: str</code><br>
<code>key: str</code><br>
<code>query: str</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreReqPostInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqPostInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>form: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreReqPostInfoV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqPostInfoV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>form: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreReqUpdateInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreReqUpdateInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>version: int</code><br>
<code>url: str</code><br>
<code>headers: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>form: list[[DataStoreKeyValue](#datastorekeyvalue)]</code><br>
<code>root_ca_cert: bytes</code><br>
</span><br>
## DataStoreSearchParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreSearchParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>search_target: int = 1</code><br>
<code>owner_ids: list[int] = []</code><br>
<code>owner_type: int = 0</code><br>
<code>destination_ids: list[int] = []</code><br>
<code>data_type: int = 65535</code><br>
<code>created_after: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).future()</code><br>
<code>created_before: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).future()</code><br>
<code>updated_after: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).future()</code><br>
<code>updated_before: [DateTime](common.md#datetime) = [DateTime](common.md#datetime).future()</code><br>
<code>refer_data_id: int = 0</code><br>
<code>tags: list[str] = []</code><br>
<code>result_order_column: int = 0</code><br>
<code>result_order: int = 0</code><br>
<code>result_range: [ResultRange](common.md#resultrange) = [ResultRange](common.md#resultrange)()</code><br>
<code>result_option: int = 0</code><br>
<code>minimal_rating_frequency: int = 0</code><br>
<code>use_cache: bool = False</code><br>
<code>total_count_enabled: bool = True</code><br>
<code>data_types: list[int] = []</code><br>
</span><br>
## DataStoreSearchResult
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreSearchResult` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>total_count: int</code><br>
<code>result: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>total_count_type: int</code><br>
</span><br>
## DataStoreSpecificMetaInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreSpecificMetaInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>owner_id: int</code><br>
<code>size: int</code><br>
<code>data_type: int</code><br>
<code>version: int</code><br>
</span><br>
## DataStoreSpecificMetaInfoV1
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreSpecificMetaInfoV1` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>owner_id: int</code><br>
<code>size: int</code><br>
<code>data_type: int</code><br>
<code>version: int</code><br>
</span><br>
## DataStoreTouchObjectParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `DataStoreTouchObjectParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>data_id: int</code><br>
<code>lock_id: int</code><br>
<code>access_password: int</code><br>
</span><br>
## MiiTubeMiiInfo
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `MiiTubeMiiInfo` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>meta_info: [DataStoreMetaInfo](#datastoremetainfo) = [DataStoreMetaInfo](#datastoremetainfo)()</code><br>
<code>category: int</code><br>
<code>ranking_type: int</code><br>
</span><br>
## MiiTubeSearchParam
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `MiiTubeSearchParam` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>name: str</code><br>
<code>page: int = 0</code><br>
<code>category: int = 255</code><br>
<code>gender: int = 2</code><br>
<code>country: int</code><br>
<code>search_type: int = 0</code><br>
<code>result_option: int = 0</code><br>
</span><br>
## MiiTubeSearchResult
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new `MiiTubeSearchResult` instance. Required fields must be filled in manually.</span>
The following fields are defined in this class:<br>
<span class="docs">
<code>result: list[[MiiTubeMiiInfo](#miitubemiiinfo)]</code><br>
<code>count: int</code><br>
<code>page: int</code><br>
<code>has_next: bool</code><br>
</span><br>
================================================
FILE: docs/reference/nex/datastore_smm.md
================================================
# Module: <code>nintendo.nex.datastore_smm</code>
Provides a client and server for the `DataStoreProtocolSMM`. This page was generated automatically from `datastore_smm.proto`.
<code>**class** [DataStoreClientSMM](#datastoreclientsmm)</code><br>
<span class="docs">The client for the `DataStoreProtocolSMM`.</span>
<code>**class** [DataStoreServerSMM](#datastoreserversmm)</code><br>
<span class="docs">The server for the `DataStoreProtocolSMM`.</span>
<code>**class** [DataStoreChangeMetaCompareParam](#datastorechangemetacompareparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreChangeMetaParam](#datastorechangemetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompletePostParam](#datastorecompletepostparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreCompleteUpdateParam](#datastorecompleteupdateparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreDeleteParam](#datastoredeleteparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetMetaParam](#datastoregetmetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetNotificationUrlParam](#datastoregetnotificationurlparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetSpecificMetaParam](#datastoregetspecificmetaparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreGetSpecificMetaParamV1](#datastoregetspecificmetaparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStoreKeyValue](#datastorekeyvalue)([Structure](common.md))</code><br>
<code>**class** [DataStoreMetaInfo](#datastoremetainfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreNotification](#datastorenotification)([Structure](common.md))</code><br>
<code>**class** [DataStoreNotificationV1](#datastorenotificationv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePasswordInfo](#datastorepasswordinfo)([Structure](common.md))</code><br>
<code>**class** [DataStorePermission](#datastorepermission)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceInfo](#datastorepersistenceinfo)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceInitParam](#datastorepersistenceinitparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePersistenceTarget](#datastorepersistencetarget)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareGetParam](#datastorepreparegetparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePreparePostParam](#datastorepreparepostparam)([Structure](common.md))</code><br>
<code>**class** [DataStorePreparePostParamV1](#datastorepreparepostparamv1)([Structure](common.md))</code><br>
<code>**class** [DataStorePrepareUpdateParam](#datastoreprepareupdateparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRateObjectParam](#datastorerateobjectparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInfo](#datastoreratinginfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInitParam](#datastoreratinginitparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingInitParamWithSlot](#datastoreratinginitparamwithslot)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingLog](#datastoreratinglog)([Structure](common.md))</code><br>
<code>**class** [DataStoreRatingTarget](#datastoreratingtarget)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetAdditionalMeta](#datastorereqgetadditionalmeta)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetInfo](#datastorereqgetinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetInfoV1](#datastorereqgetinfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqGetNotificationUrlInfo](#datastorereqgetnotificationurlinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqPostInfo](#datastorereqpostinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqPostInfoV1](#datastorereqpostinfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreReqUpdateInfo](#datastorerequpdateinfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreSearchParam](#datastoresearchparam)([Structure](common.md))</code><br>
<code>**class** [DataStoreSearchResult](#datastoresearchresult)([Structure](common.md))</code><br>
<code>**class** [DataStoreSpecificMetaInfo](#datastorespecificmetainfo)([Structure](common.md))</code><br>
<code>**class** [DataStoreSpecificMetaInfoV1](#datastorespecificmetainfov1)([Structure](common.md))</code><br>
<code>**class** [DataStoreTouchObjectParam](#datastoretouchobjectparam)([Structure](common.md))</code><br>
## DataStoreClientSMM
<code>**def _\_init__**(client: [RMCClient](rmc.md#rmcclient) / [HppClient](hpp.md#hppclient))</code><br>
<span class="docs">Creates a new [`DataStoreClientSMM`](#datastoreclientsmm).</span>
<code>**async def prepare_get_object_v1**(param: [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)) -> [DataStoreReqGetInfoV1](#datastorereqgetinfov1)</code><br>
<span class="docs">Calls method `1` on the server.</span>
<code>**async def prepare_post_object_v1**(param: [DataStorePreparePostParamV1](#datastorepreparepostparamv1)) -> [DataStoreReqPostInfoV1](#datastorereqpostinfov1)</code><br>
<span class="docs">Calls method `2` on the server.</span>
<code>**async def complete_post_object_v1**(param: [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)) -> None</code><br>
<span class="docs">Calls method `3` on the server.</span>
<code>**async def delete_object**(param: [DataStoreDeleteParam](#datastoredeleteparam)) -> None</code><br>
<span class="docs">Calls method `4` on the server.</span>
<code>**async def delete_objects**(param: list[[DataStoreDeleteParam](#datastoredeleteparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `5` on the server.</span>
<code>**async def change_meta_v1**(param: [DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)) -> None</code><br>
<span class="docs">Calls method `6` on the server.</span>
<code>**async def change_metas_v1**(data_ids: list[int], param: list[[DataStoreChangeMetaParamV1](#datastorechangemetaparamv1)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `7` on the server.</span>
<code>**async def get_meta**(param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [DataStoreMetaInfo](#datastoremetainfo)</code><br>
<span class="docs">Calls method `8` on the server.</span>
<code>**async def get_metas**(data_ids: list[int], param: [DataStoreGetMetaParam](#datastoregetmetaparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `9` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>info: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def prepare_update_object**(param: [DataStorePrepareUpdateParam](#datastoreprepareupdateparam)) -> [DataStoreReqUpdateInfo](#datastorerequpdateinfo)</code><br>
<span class="docs">Calls method `10` on the server.</span>
<code>**async def complete_update_object**(param: [DataStoreCompleteUpdateParam](#datastorecompleteupdateparam)) -> None</code><br>
<span class="docs">Calls method `11` on the server.</span>
<code>**async def search_object**(param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Calls method `12` on the server.</span>
<code>**async def get_notification_url**(param: [DataStoreGetNotificationUrlParam](#datastoregetnotificationurlparam)) -> [DataStoreReqGetNotificationUrlInfo](#datastorereqgetnotificationurlinfo)</code><br>
<span class="docs">Calls method `13` on the server.</span>
<code>**async def get_new_arrived_notifications_v1**(param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `14` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotificationV1](#datastorenotificationv1)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def rate_object**(target: [DataStoreRatingTarget](#datastoreratingtarget), param: [DataStoreRateObjectParam](#datastorerateobjectparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `15` on the server.</span>
<code>**async def get_rating**(target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `16` on the server.</span>
<code>**async def get_ratings**(data_ids: list[int], access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `17` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>ratings: list[list[[DataStoreRatingInfoWithSlot](#datastoreratinginfowithslot)]]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def reset_rating**(target: [DataStoreRatingTarget](#datastoreratingtarget), update_password: int) -> None</code><br>
<span class="docs">Calls method `18` on the server.</span>
<code>**async def reset_ratings**(data_ids: list[int], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `19` on the server.</span>
<code>**async def get_specific_meta_v1**(param: [DataStoreGetSpecificMetaParamV1](#datastoregetspecificmetaparamv1)) -> list[[DataStoreSpecificMetaInfoV1](#datastorespecificmetainfov1)]</code><br>
<span class="docs">Calls method `20` on the server.</span>
<code>**async def post_meta_binary**(param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> int</code><br>
<span class="docs">Calls method `21` on the server.</span>
<code>**async def touch_object**(param: [DataStoreTouchObjectParam](#datastoretouchobjectparam)) -> None</code><br>
<span class="docs">Calls method `22` on the server.</span>
<code>**async def get_rating_with_log**(target: [DataStoreRatingTarget](#datastoreratingtarget), access_password: int) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `23` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>rating: [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<code>log: [DataStoreRatingLog](#datastoreratinglog)</code><br>
</span>
</span>
<code>**async def prepare_post_object**(param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> [DataStoreReqPostInfo](#datastorereqpostinfo)</code><br>
<span class="docs">Calls method `24` on the server.</span>
<code>**async def prepare_get_object**(param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<span class="docs">Calls method `25` on the server.</span>
<code>**async def complete_post_object**(param: [DataStoreCompletePostParam](#datastorecompletepostparam)) -> None</code><br>
<span class="docs">Calls method `26` on the server.</span>
<code>**async def get_new_arrived_notifications**(param: [DataStoreGetNewArrivedNotificationsParam](#datastoregetnewarrivednotificationsparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `27` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>result: list[[DataStoreNotification](#datastorenotification)]</code><br>
<code>has_next: bool</code><br>
</span>
</span>
<code>**async def get_specific_meta**(param: [DataStoreGetSpecificMetaParam](#datastoregetspecificmetaparam)) -> list[[DataStoreSpecificMetaInfo](#datastorespecificmetainfo)]</code><br>
<span class="docs">Calls method `28` on the server.</span>
<code>**async def get_persistence_info**(owner_id: int, slot_id: int) -> [DataStorePersistenceInfo](#datastorepersistenceinfo)</code><br>
<span class="docs">Calls method `29` on the server.</span>
<code>**async def get_persistence_infos**(owner_id: int, slot_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `30` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePersistenceInfo](#datastorepersistenceinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def perpetuate_object**(persistence_slot_id: int, data_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Calls method `31` on the server.</span>
<code>**async def unperpetuate_object**(persistence_slot_id: int, delete_last_object: bool) -> None</code><br>
<span class="docs">Calls method `32` on the server.</span>
<code>**async def prepare_get_object_or_meta_binary**(param: [DataStorePrepareGetParam](#datastorepreparegetparam)) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `33` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>get_info: [DataStoreReqGetInfo](#datastorereqgetinfo)</code><br>
<code>additional_meta: [DataStoreReqGetAdditionalMeta](#datastorereqgetadditionalmeta)</code><br>
</span>
</span>
<code>**async def get_password_info**(data_id: int) -> [DataStorePasswordInfo](#datastorepasswordinfo)</code><br>
<span class="docs">Calls method `34` on the server.</span>
<code>**async def get_password_infos**(data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `35` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStorePasswordInfo](#datastorepasswordinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_metas_multiple_param**(params: list[[DataStoreGetMetaParam](#datastoregetmetaparam)]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `36` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreMetaInfo](#datastoremetainfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def complete_post_objects**(data_ids: list[int]) -> None</code><br>
<span class="docs">Calls method `37` on the server.</span>
<code>**async def change_meta**(param: [DataStoreChangeMetaParam](#datastorechangemetaparam)) -> None</code><br>
<span class="docs">Calls method `38` on the server.</span>
<code>**async def change_metas**(data_ids: list[int], param: list[[DataStoreChangeMetaParam](#datastorechangemetaparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `39` on the server.</span>
<code>**async def rate_objects**(targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `40` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def post_meta_binary_with_data_id**(data_id: int, param: [DataStorePreparePostParam](#datastorepreparepostparam)) -> None</code><br>
<span class="docs">Calls method `41` on the server.</span>
<code>**async def post_meta_binaries_with_data_id**(data_ids: list[int], param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Calls method `42` on the server.</span>
<code>**async def rate_object_with_posting**(target: [DataStoreRatingTarget](#datastoreratingtarget), rate_param: [DataStoreRateObjectParam](#datastorerateobjectparam), post_param: [DataStorePreparePostParam](#datastorepreparepostparam), fetch_ratings: bool) -> [DataStoreRatingInfo](#datastoreratinginfo)</code><br>
<span class="docs">Calls method `43` on the server.</span>
<code>**async def rate_objects_with_posting**(targets: list[[DataStoreRatingTarget](#datastoreratingtarget)], rate_param: list[[DataStoreRateObjectParam](#datastorerateobjectparam)], post_param: list[[DataStorePreparePostParam](#datastorepreparepostparam)], transactional: bool, fetch_ratings: bool) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `44` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>ratings: list[[DataStoreRatingInfo](#datastoreratinginfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def get_object_infos**(data_ids: list[int]) -> [RMCResponse](common.md)</code><br>
<span class="docs">Calls method `45` on the server. The RMC response has the following attributes:<br>
<span class="docs">
<code>infos: list[[DataStoreReqGetInfo](#datastorereqgetinfo)]</code><br>
<code>results: list[[Result](common.md#result)]</code><br>
</span>
</span>
<code>**async def search_object_light**(param: [DataStoreSearchParam](#datastoresearchparam)) -> [DataStoreSearchResult](#datastoresearchresult)</code><br>
<span class="docs">Calls method `46` on the server.</span>
<code>**async def get_application_config**(id: int) -> list[int]</code><br>
<span class="docs">Calls method `61` on the server.</span>
<code>**async def get_application_config_string**(id: int) -> list[str]</code><br>
<span class="docs">Calls method `74` on the server.</span>
## DataStoreServerSMM
<code>**def _\_init__**()</code><br>
<span class="docs">Creates a new [`DataStoreServerSMM`](#datastoreserversmm).</span>
<code>**async def logout**(client: [RMCClient](rmc.md#rmcclient)) -> None</code><br>
<span class="docs">Called whenever a client is disconnected. May be overridden by a subclass.</span>
<code>**async def prepare_get_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePrepareGetParamV1](#datastorepreparegetparamv1)) -> [DataStoreReqGetInfoV1](#datastorereqgetinfov1)</code><br>
<span class="docs">Handler for method `1`. This method should be overridden by a subclass.</span>
<code>**async def prepare_post_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStorePreparePostParamV1](#datastorepreparepostparamv1)) -> [DataStoreReqPostInfoV1](#datastorereqpostinfov1)</code><br>
<span class="docs">Handler for method `2`. This method should be overridden by a subclass.</span>
<code>**async def complete_post_object_v1**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreCompletePostParamV1](#datastorecompletepostparamv1)) -> None</code><br>
<span class="docs">Handler for method `3`. This method should be overridden by a subclass.</span>
<code>**async def delete_object**(client: [RMCClient](rmc.md#rmcclient), param: [DataStoreDeleteParam](#datastoredeleteparam)) -> None</code><br>
<span class="docs">Handler for method `4`. This method should be overridden by a subclass.</span>
<code>**async def delete_objects**(client: [RMCClient](rmc.md#rmcclient), param: list[[DataStoreDeleteParam](#datastoredeleteparam)], transactional: bool) -> list[[Result](common.md#result)]</code><br>
<span class="docs">Handler for method `5`. This method should be overr
gitextract_9qevxi15/
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ └── testing.yml
├── .gitignore
├── .readthedocs.yml
├── LICENSE
├── README.md
├── docs/
│ ├── changelog.md
│ ├── index.md
│ ├── reference/
│ │ ├── miis.md
│ │ ├── nasc.md
│ │ ├── nex/
│ │ │ ├── aauser.md
│ │ │ ├── account.md
│ │ │ ├── authentication.md
│ │ │ ├── backend.md
│ │ │ ├── common.md
│ │ │ ├── datastore.md
│ │ │ ├── datastore_miitopia_3ds.md
│ │ │ ├── datastore_smm.md
│ │ │ ├── datastore_smm2.md
│ │ │ ├── debug.md
│ │ │ ├── errors.md
│ │ │ ├── friends.md
│ │ │ ├── friends_3ds.md
│ │ │ ├── health.md
│ │ │ ├── hpp.md
│ │ │ ├── kerberos.md
│ │ │ ├── matchmaking.md
│ │ │ ├── matchmaking_eagle.md
│ │ │ ├── matchmaking_mhxx.md
│ │ │ ├── matchmaking_mk8.md
│ │ │ ├── matchmaking_mk8d.md
│ │ │ ├── messaging.md
│ │ │ ├── monitoring.md
│ │ │ ├── natcheck.md
│ │ │ ├── nattraversal.md
│ │ │ ├── nintendonotification.md
│ │ │ ├── notification.md
│ │ │ ├── prudp.md
│ │ │ ├── ranking.md
│ │ │ ├── ranking2.md
│ │ │ ├── ranking2_eagle.md
│ │ │ ├── ranking_mk8.md
│ │ │ ├── ranking_mk8d.md
│ │ │ ├── remotelog.md
│ │ │ ├── rmc.md
│ │ │ ├── screening.md
│ │ │ ├── secure.md
│ │ │ ├── settings.md
│ │ │ ├── streams.md
│ │ │ ├── subscriber.md
│ │ │ └── utility.md
│ │ ├── nnas.md
│ │ ├── switch/
│ │ │ ├── aauth.md
│ │ │ ├── atumn.md
│ │ │ ├── baas.md
│ │ │ ├── dauth.md
│ │ │ ├── dragons.md
│ │ │ ├── five.md
│ │ │ └── sun.md
│ │ └── switch.md
│ └── style.css
├── examples/
│ ├── 3ds/
│ │ └── friends.py
│ ├── custom/
│ │ ├── server.py
│ │ └── server_login.py
│ ├── switch/
│ │ ├── animalcrossing.py
│ │ ├── smm2_level.py
│ │ ├── smm2_ninji.py
│ │ └── system_update.py
│ └── wiiu/
│ ├── donkeykong.py
│ ├── friends.py
│ ├── mariokart.py
│ └── miis.py
├── generate_protocols.py
├── mkdocs.yml
├── nintendo/
│ ├── __init__.py
│ ├── files/
│ │ ├── cert/
│ │ │ ├── CTR_Common_Prod_1.der
│ │ │ ├── CTR_Common_Prod_1.key
│ │ │ ├── Nintendo_CA_G3.der
│ │ │ ├── Nintendo_Class_2_CA_G3.der
│ │ │ ├── Nintendo_Root_CA_G4.der
│ │ │ ├── Wii_U_Common_Prod_1.der
│ │ │ └── Wii_U_Common_Prod_1.key
│ │ ├── config/
│ │ │ ├── 3ds.cfg
│ │ │ ├── default.cfg
│ │ │ ├── friends.cfg
│ │ │ └── switch.cfg
│ │ └── proto/
│ │ ├── aauser.proto
│ │ ├── account.proto
│ │ ├── authentication.proto
│ │ ├── datastore.proto
│ │ ├── datastore_miitopia_3ds.proto
│ │ ├── datastore_smm.proto
│ │ ├── datastore_smm2.proto
│ │ ├── debug.proto
│ │ ├── friends.proto
│ │ ├── health.proto
│ │ ├── matchmaking.proto
│ │ ├── matchmaking_eagle.proto
│ │ ├── matchmaking_mhxx.proto
│ │ ├── matchmaking_mk8.proto
│ │ ├── matchmaking_mk8d.proto
│ │ ├── messaging.proto
│ │ ├── monitoring.proto
│ │ ├── nattraversal.proto
│ │ ├── nintendonotification.proto
│ │ ├── notification.proto
│ │ ├── ranking.proto
│ │ ├── ranking2.proto
│ │ ├── ranking2_eagle.proto
│ │ ├── ranking_mk8.proto
│ │ ├── ranking_mk8d.proto
│ │ ├── remotelog.proto
│ │ ├── screening.proto
│ │ ├── secure.proto
│ │ ├── subscriber.proto
│ │ └── utility.proto
│ ├── miis.py
│ ├── nasc.py
│ ├── nex/
│ │ ├── __init__.py
│ │ ├── aauser.py
│ │ ├── account.py
│ │ ├── authentication.py
│ │ ├── backend.py
│ │ ├── common.py
│ │ ├── datastore.py
│ │ ├── datastore_miitopia_3ds.py
│ │ ├── datastore_smm.py
│ │ ├── datastore_smm2.py
│ │ ├── debug.py
│ │ ├── errors.py
│ │ ├── friends.py
│ │ ├── health.py
│ │ ├── hpp.py
│ │ ├── kerberos.py
│ │ ├── matchmaking.py
│ │ ├── matchmaking_eagle.py
│ │ ├── matchmaking_mhxx.py
│ │ ├── matchmaking_mk8.py
│ │ ├── matchmaking_mk8d.py
│ │ ├── messaging.py
│ │ ├── monitoring.py
│ │ ├── natcheck.py
│ │ ├── nattraversal.py
│ │ ├── nintendonotification.py
│ │ ├── notification.py
│ │ ├── prudp.py
│ │ ├── ranking.py
│ │ ├── ranking2.py
│ │ ├── ranking2_eagle.py
│ │ ├── ranking_mk8.py
│ │ ├── ranking_mk8d.py
│ │ ├── remotelog.py
│ │ ├── rmc.py
│ │ ├── screening.py
│ │ ├── secure.py
│ │ ├── settings.py
│ │ ├── streams.py
│ │ ├── subscriber.py
│ │ └── utility.py
│ ├── nnas.py
│ ├── resources.py
│ └── switch/
│ ├── __init__.py
│ ├── aauth.py
│ ├── atumn.py
│ ├── baas.py
│ ├── common.py
│ ├── dauth.py
│ ├── dragons.py
│ ├── five.py
│ └── sun.py
├── setup.py
└── tests/
├── nex/
│ ├── test_backend.py
│ ├── test_common.py
│ ├── test_errors.py
│ ├── test_kerberos.py
│ ├── test_nex_streams.py
│ ├── test_prudp.py
│ ├── test_rmc.py
│ └── test_settings.py
└── switch/
├── test_aauth.py
├── test_atumn.py
├── test_baas.py
├── test_dauth.py
├── test_dragons.py
├── test_five.py
└── test_sun.py
Showing preview only (585K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (6753 symbols across 78 files)
FILE: examples/3ds/friends.py
function main (line 29) | async def main():
FILE: examples/custom/server.py
function get_user_by_name (line 22) | def get_user_by_name(name):
function get_user_by_pid (line 27) | def get_user_by_pid(pid):
function derive_key (line 32) | def derive_key(user):
class AuthenticationServer (line 39) | class AuthenticationServer(authentication.AuthenticationServer):
method __init__ (line 40) | def __init__(self, settings):
method login (line 44) | async def login(self, client, username):
method generate_ticket (line 72) | def generate_ticket(self, source, target):
class FriendsServer (line 92) | class FriendsServer(friends.FriendsServerV1):
function main (line 96) | async def main():
FILE: examples/custom/server_login.py
function main (line 9) | async def main():
FILE: examples/switch/animalcrossing.py
function main (line 59) | async def main():
FILE: examples/switch/smm2_level.py
function format_time (line 80) | def format_time(milliseconds):
function download_thumbnail (line 87) | async def download_thumbnail(store, info, filename):
function main (line 96) | async def main():
FILE: examples/switch/smm2_ninji.py
function main (line 60) | async def main():
FILE: examples/switch/system_update.py
function retry (line 25) | async def retry(worker, n=3):
function download_content_metadata (line 34) | async def download_content_metadata(atumn_client, title_id, title_versio...
function download_content (line 49) | async def download_content(atumn_client, title_id, metadata_path):
function main (line 93) | async def main():
FILE: examples/wiiu/donkeykong.py
function main (line 29) | async def main():
FILE: examples/wiiu/friends.py
function print_requests (line 30) | def print_requests(requests):
function main (line 44) | async def main():
FILE: examples/wiiu/mariokart.py
function format_time (line 33) | def format_time(score):
function main (line 40) | async def main():
FILE: examples/wiiu/miis.py
function main (line 5) | async def main():
FILE: generate_protocols.py
class Token (line 13) | class Token:
method __init__ (line 14) | def __init__(self, type, value, row, col):
class Tokenizer (line 35) | class Tokenizer:
method process (line 36) | def process(self, data):
method error (line 55) | def error(self, char):
method add (line 58) | def add(self, type, value):
method state_next (line 62) | def state_next(self, char):
method state_comment_start (line 88) | def state_comment_start(self, char):
method state_comment_line (line 96) | def state_comment_line(self, char):
method state_comment_block (line 100) | def state_comment_block(self, char):
method state_comment_end (line 106) | def state_comment_end(self, char):
method state_name (line 113) | def state_name(self, char):
method state_string (line 124) | def state_string(self, char):
method state_number (line 133) | def state_number(self, char):
method state_number_prefix (line 141) | def state_number_prefix(self, char):
class TokenStream (line 152) | class TokenStream:
method __init__ (line 153) | def __init__(self, tokens):
method read (line 157) | def read(self):
method peek (line 162) | def peek(self):
method rewind (line 165) | def rewind(self):
method error (line 168) | def error(self, token):
method read_token (line 175) | def read_token(self, type):
method parse_token (line 181) | def parse_token(self, type):
method skip_token (line 184) | def skip_token(self, type, value):
method check_token (line 189) | def check_token(self, type, value):
method read_reserved (line 196) | def read_reserved(self): return self.read_token(TYPE_RESERVED)
method read_name (line 197) | def read_name(self): return self.read_token(TYPE_NAME)
method read_symbol (line 198) | def read_symbol(self): return self.read_token(TYPE_SYMBOL)
method parse_name (line 200) | def parse_name(self): return self.parse_token(TYPE_NAME)
method parse_number (line 201) | def parse_number(self): return self.parse_token(TYPE_NUMBER)
method parse_string (line 202) | def parse_string(self): return self.parse_token(TYPE_STRING)
method check_reserved (line 204) | def check_reserved(self, value): return self.check_token(TYPE_RESERVED...
method check_symbol (line 205) | def check_symbol(self, value): return self.check_token(TYPE_SYMBOL, va...
method check_eof (line 206) | def check_eof(self): return self.check_token(TYPE_EOF, None)
method skip_name (line 208) | def skip_name(self, value): self.skip_token(TYPE_NAME, value)
method skip_reserved (line 209) | def skip_reserved(self, value): self.skip_token(TYPE_RESERVED, value)
method skip_symbol (line 210) | def skip_symbol(self, value): self.skip_token(TYPE_SYMBOL, value)
class Scope (line 213) | class Scope:
method __init__ (line 214) | def __init__(self):
method __contains__ (line 217) | def __contains__(self, name):
method add (line 220) | def add(self, name):
class File (line 227) | class File:
method __init__ (line 228) | def __init__(self):
method check_protocols (line 235) | def check_protocols(self):
method sort_protocols (line 239) | def sort_protocols(self):
method sort_types (line 243) | def sort_types(self):
method add_file (line 247) | def add_file(self, file):
method add_protocol (line 255) | def add_protocol(self, proto):
method add_struct (line 262) | def add_struct(self, struct):
method add_enum (line 269) | def add_enum(self, enum):
class Protocol (line 275) | class Protocol:
method __init__ (line 281) | def __init__(self):
method sort (line 286) | def sort(self):
method check (line 289) | def check(self):
method add_method (line 293) | def add_method(self, method):
method set_parent (line 300) | def set_parent(self, parent):
class Method (line 309) | class Method:
class VariableList (line 317) | class VariableList:
method __init__ (line 318) | def __init__(self):
method add (line 322) | def add(self, var):
class Variable (line 328) | class Variable:
class Type (line 334) | class Type:
class Struct (line 339) | class Struct:
class Condition (line 345) | class Condition:
class StructBody (line 355) | class StructBody:
method __init__ (line 356) | def __init__(self):
method has_revision (line 359) | def has_revision(self):
method add (line 368) | def add(self, field):
class Enum (line 372) | class Enum:
method __init__ (line 375) | def __init__(self):
method add (line 380) | def add(self, name, value):
class Parser (line 402) | class Parser:
method process (line 403) | def process(self, tokens):
method parse_file (line 407) | def parse_file(self, stream):
method parse_import (line 424) | def parse_import(self, stream):
method parse_protocol (line 439) | def parse_protocol(self, stream):
method parse_method (line 481) | def parse_method(self, stream):
method parse_parameter_list (line 511) | def parse_parameter_list(self, stream):
method parse_variable_list (line 528) | def parse_variable_list(self, stream):
method parse_variable (line 540) | def parse_variable(self, stream):
method parse_type (line 552) | def parse_type(self, stream):
method parse_template (line 566) | def parse_template(self, stream, num):
method parse_constant (line 577) | def parse_constant(self, stream, type):
method parse_struct (line 637) | def parse_struct(self, stream):
method parse_struct_body (line 652) | def parse_struct_body(self, stream):
method parse_struct_item (line 664) | def parse_struct_item(self, stream):
method parse_condition (line 673) | def parse_condition(self, stream):
method parse_enum (line 689) | def parse_enum(self, stream):
class CodeStream (line 714) | class CodeStream:
method __init__ (line 715) | def __init__(self):
method get (line 719) | def get(self): return self.code
method indent (line 721) | def indent(self): self.tabs += 1
method unindent (line 722) | def unindent(self): self.tabs -= 1
method write (line 724) | def write(self, text):
method begin_line (line 727) | def begin_line(self):
method write_line (line 730) | def write_line(self, line=""):
function make_class_name (line 758) | def make_class_name(name, type):
class CodeGenerator (line 764) | class CodeGenerator:
method process (line 765) | def process(self, file):
method generate_file (line 774) | def generate_file(self, stream):
method generate_header (line 790) | def generate_header(self, stream):
method generate_enum (line 800) | def generate_enum(self, stream, enum):
method generate_struct (line 812) | def generate_struct(self, stream, struct):
method generate_struct_init (line 834) | def generate_struct_init(self, stream, struct):
method generate_struct_init_body (line 842) | def generate_struct_init_body(self, stream, body, defaults):
method generate_if_statement (line 855) | def generate_if_statement(self, stream, cond, prefix=""):
method generate_struct_version (line 862) | def generate_struct_version(self, stream, struct):
method generate_struct_version_body (line 872) | def generate_struct_version_body(self, stream, body):
method generate_struct_check (line 884) | def generate_struct_check(self, stream, struct):
method generate_struct_check_body (line 891) | def generate_struct_check_body(self, stream, body):
method generate_struct_load (line 914) | def generate_struct_load(self, stream, struct):
method generate_struct_load_body (line 921) | def generate_struct_load_body(self, stream, body):
method generate_struct_save (line 934) | def generate_struct_save(self, stream, struct):
method generate_struct_save_body (line 941) | def generate_struct_save_body(self, stream, body):
method generate_protocol (line 951) | def generate_protocol(self, stream, proto):
method generate_client (line 970) | def generate_client(self, stream, proto):
method generate_client_method (line 995) | def generate_client_method(self, stream, proto, method):
method generate_server (line 1033) | def generate_server(self, stream, proto):
method generate_server_method (line 1071) | def generate_server_method(self, stream, proto, method):
method generate_server_stub (line 1114) | def generate_server_stub(self, stream, proto, method):
method make_python_type (line 1120) | def make_python_type(self, type):
method make_constant (line 1140) | def make_constant(self, type, value):
method make_extract (line 1168) | def make_extract(self, type, stream="stream"):
method make_extract_func (line 1183) | def make_extract_func(self, type, stream="stream"):
method make_encode (line 1193) | def make_encode(self, type, name, stream="stream"):
method make_encode_func (line 1203) | def make_encode_func(self, type, stream="stream"):
class DocsGenerator (line 1213) | class DocsGenerator:
method process (line 1214) | def process(self, file, name):
method generate_file (line 1222) | def generate_file(self, name):
method generate_header (line 1235) | def generate_header(self, name):
method generate_enum (line 1285) | def generate_enum(self, enum):
method generate_struct (line 1293) | def generate_struct(self, struct):
method generate_struct_body (line 1302) | def generate_struct_body(self, body):
method generate_client (line 1320) | def generate_client(self, proto):
method generate_client_method (line 1330) | def generate_client_method(self, method):
method generate_server (line 1343) | def generate_server(self, proto):
method generate_server_method (line 1355) | def generate_server_method(self, method):
method format_variable (line 1371) | def format_variable(self, var, defaults):
method format_type (line 1378) | def format_type(self, type):
method format_return_value (line 1401) | def format_return_value(self, method):
method format_constant (line 1408) | def format_constant(self, type, value):
function process (line 1439) | def process(filename):
FILE: nintendo/miis.py
function swap32 (line 6) | def swap32(data, offs):
function swap16 (line 9) | def swap16(data, offs):
function crc16 (line 12) | def crc16(data):
class MiiData (line 37) | class MiiData:
method decode (line 48) | def decode(self, stream):
method encode (line 140) | def encode(self, outstream):
method swap_endian (line 231) | def swap_endian(self, data):
method build (line 250) | def build(self):
method parse (line 256) | def parse(cls, data):
FILE: nintendo/nasc.py
function b64decode (line 17) | def b64decode(text):
function b64encode (line 21) | def b64encode(text):
function decode_form (line 29) | def decode_form(form):
function encode_form (line 32) | def encode_form(form):
function parse_date (line 35) | def parse_date(text):
class NASCError (line 48) | class NASCError(Exception):
method __init__ (line 49) | def __init__(self, status_code, form):
method __str__ (line 57) | def __str__(self):
class LoginResponse (line 63) | class LoginResponse:
method __init__ (line 64) | def __init__(self):
method parse (line 71) | def parse(cls, form):
class NASCClient (line 82) | class NASCClient:
method __init__ (line 83) | def __init__(self):
method set_context (line 123) | def set_context(self, context):
method set_url (line 126) | def set_url(self, url): self.url = url
method set_sdk_version (line 128) | def set_sdk_version(self, major_version, minor_version):
method set_title (line 132) | def set_title(
method set_device (line 146) | def set_device(self, serial_number, mac_address, fcd_cert, name="", un...
method set_network (line 153) | def set_network(self, bss_id, ap_info):
method set_locale (line 157) | def set_locale(self, region, language):
method set_user (line 161) | def set_user(self, pid, pid_hmac):
method set_password (line 166) | def set_password(self, password):
method set_fpd_version (line 171) | def set_fpd_version(self, version): self.fpd_version = version
method set_environment (line 172) | def set_environment(self, environment): self.environment = environment
method request (line 174) | async def request(self, req):
method login (line 188) | async def login(self, game_server_id, nickname=""):
FILE: nintendo/nex/aauser.py
class ApplicationInfo (line 10) | class ApplicationInfo(common.Structure):
method __init__ (line 11) | def __init__(self):
method check_required (line 16) | def check_required(self, settings, version):
method load (line 21) | def load(self, stream, version):
method save (line 25) | def save(self, stream, version):
class AAUserProtocol (line 31) | class AAUserProtocol:
class AAUserClient (line 40) | class AAUserClient(AAUserProtocol):
method __init__ (line 41) | def __init__(self, client):
method register_application (line 45) | async def register_application(self, title_id):
method unregister_application (line 58) | async def unregister_application(self, title_id):
method set_application_info (line 71) | async def set_application_info(self, application_info):
method get_application_info (line 84) | async def get_application_info(self):
class AAUserServer (line 99) | class AAUserServer(AAUserProtocol):
method __init__ (line 100) | def __init__(self):
method logout (line 108) | async def logout(self, client):
method handle (line 111) | async def handle(self, client, method_id, input, output):
method handle_register_application (line 118) | async def handle_register_application(self, client, input, output):
method handle_unregister_application (line 124) | async def handle_unregister_application(self, client, input, output):
method handle_set_application_info (line 130) | async def handle_set_application_info(self, client, input, output):
method handle_get_application_info (line 136) | async def handle_get_application_info(self, client, input, output):
method register_application (line 146) | async def register_application(self, *args):
method unregister_application (line 150) | async def unregister_application(self, *args):
method set_application_info (line 154) | async def set_application_info(self, *args):
method get_application_info (line 158) | async def get_application_info(self, *args):
FILE: nintendo/nex/account.py
class AccountData (line 10) | class AccountData(common.Structure):
method __init__ (line 11) | def __init__(self):
method check_required (line 23) | def check_required(self, settings, version):
method load (line 28) | def load(self, stream, version):
method save (line 39) | def save(self, stream, version):
class BasicAccountInfo (line 52) | class BasicAccountInfo(common.Structure):
method __init__ (line 53) | def __init__(self):
method check_required (line 58) | def check_required(self, settings, version):
method load (line 63) | def load(self, stream, version):
method save (line 67) | def save(self, stream, version):
class AccountProtocol (line 73) | class AccountProtocol:
class AccountClient (line 108) | class AccountClient(AccountProtocol):
method __init__ (line 109) | def __init__(self, client):
method create_account (line 113) | async def create_account(self, name, key, groups, email):
method delete_account (line 131) | async def delete_account(self, pid):
method disable_account (line 144) | async def disable_account(self, pid, until, message):
method change_password (line 161) | async def change_password(self, new_key):
method test_capability (line 176) | async def test_capability(self, capability):
method get_name (line 191) | async def get_name(self, pid):
method get_account_data (line 206) | async def get_account_data(self):
method get_private_data (line 222) | async def get_private_data(self):
method get_public_data (line 238) | async def get_public_data(self, pid):
method get_multiple_public_data (line 255) | async def get_multiple_public_data(self, pids):
method update_account_name (line 272) | async def update_account_name(self, name):
method update_account_email (line 287) | async def update_account_email(self, email):
method update_custom_data (line 302) | async def update_custom_data(self, public_data, private_data):
method find_by_name_regex (line 318) | async def find_by_name_regex(self, groups, regex, range):
method update_account_expiry_date (line 335) | async def update_account_expiry_date(self, pid, expiry, message):
method update_account_effective_date (line 350) | async def update_account_effective_date(self, pid, effective_from, mes...
method update_status (line 365) | async def update_status(self, status):
method get_status (line 378) | async def get_status(self, pid):
method get_last_connection_stats (line 393) | async def get_last_connection_stats(self, pid):
method reset_password (line 411) | async def reset_password(self):
method create_account_with_custom_data (line 425) | async def create_account_with_custom_data(self, name, key, groups, ema...
method retrieve_account (line 443) | async def retrieve_account(self):
method update_account (line 460) | async def update_account(self, key, email, public_data, private_data):
method change_password_by_guest (line 476) | async def change_password_by_guest(self, name, email, key):
method find_by_name_like (line 491) | async def find_by_name_like(self, groups, like, range):
method custom_create_account (line 508) | async def custom_create_account(self, name, key, groups, email, auth_d...
method nintendo_create_account (line 527) | async def nintendo_create_account(self, name, key, groups, email, auth...
method lookup_or_create_account (line 548) | async def lookup_or_create_account(self, name, key, groups, email, aut...
method disconnect_principal (line 567) | async def disconnect_principal(self, pid):
method disconnect_all_principals (line 582) | async def disconnect_all_principals(self):
class AccountServer (line 597) | class AccountServer(AccountProtocol):
method __init__ (line 598) | def __init__(self):
method logout (line 632) | async def logout(self, client):
method handle (line 635) | async def handle(self, client, method_id, input, output):
method handle_create_account (line 642) | async def handle_create_account(self, client, input, output):
method handle_delete_account (line 656) | async def handle_delete_account(self, client, input, output):
method handle_disable_account (line 662) | async def handle_disable_account(self, client, input, output):
method handle_change_password (line 675) | async def handle_change_password(self, client, input, output):
method handle_test_capability (line 686) | async def handle_test_capability(self, client, input, output):
method handle_get_name (line 697) | async def handle_get_name(self, client, input, output):
method handle_get_account_data (line 708) | async def handle_get_account_data(self, client, input, output):
method handle_get_private_data (line 722) | async def handle_get_private_data(self, client, input, output):
method handle_get_public_data (line 736) | async def handle_get_public_data(self, client, input, output):
method handle_get_multiple_public_data (line 751) | async def handle_get_multiple_public_data(self, client, input, output):
method handle_update_account_name (line 766) | async def handle_update_account_name(self, client, input, output):
method handle_update_account_email (line 777) | async def handle_update_account_email(self, client, input, output):
method handle_update_custom_data (line 788) | async def handle_update_custom_data(self, client, input, output):
method handle_find_by_name_regex (line 800) | async def handle_find_by_name_regex(self, client, input, output):
method handle_update_account_expiry_date (line 813) | async def handle_update_account_expiry_date(self, client, input, output):
method handle_update_account_effective_date (line 821) | async def handle_update_account_effective_date(self, client, input, ou...
method handle_update_status (line 829) | async def handle_update_status(self, client, input, output):
method handle_get_status (line 835) | async def handle_get_status(self, client, input, output):
method handle_get_last_connection_stats (line 846) | async def handle_get_last_connection_stats(self, client, input, output):
method handle_reset_password (line 862) | async def handle_reset_password(self, client, input, output):
method handle_create_account_with_custom_data (line 872) | async def handle_create_account_with_custom_data(self, client, input, ...
method handle_retrieve_account (line 883) | async def handle_retrieve_account(self, client, input, output):
method handle_update_account (line 898) | async def handle_update_account(self, client, input, output):
method handle_change_password_by_guest (line 907) | async def handle_change_password_by_guest(self, client, input, output):
method handle_find_by_name_like (line 915) | async def handle_find_by_name_like(self, client, input, output):
method handle_custom_create_account (line 928) | async def handle_custom_create_account(self, client, input, output):
method handle_nintendo_create_account (line 943) | async def handle_nintendo_create_account(self, client, input, output):
method handle_lookup_or_create_account (line 962) | async def handle_lookup_or_create_account(self, client, input, output):
method handle_disconnect_principal (line 977) | async def handle_disconnect_principal(self, client, input, output):
method handle_disconnect_all_principals (line 988) | async def handle_disconnect_all_principals(self, client, input, output):
method create_account (line 998) | async def create_account(self, *args):
method delete_account (line 1002) | async def delete_account(self, *args):
method disable_account (line 1006) | async def disable_account(self, *args):
method change_password (line 1010) | async def change_password(self, *args):
method test_capability (line 1014) | async def test_capability(self, *args):
method get_name (line 1018) | async def get_name(self, *args):
method get_account_data (line 1022) | async def get_account_data(self, *args):
method get_private_data (line 1026) | async def get_private_data(self, *args):
method get_public_data (line 1030) | async def get_public_data(self, *args):
method get_multiple_public_data (line 1034) | async def get_multiple_public_data(self, *args):
method update_account_name (line 1038) | async def update_account_name(self, *args):
method update_account_email (line 1042) | async def update_account_email(self, *args):
method update_custom_data (line 1046) | async def update_custom_data(self, *args):
method find_by_name_regex (line 1050) | async def find_by_name_regex(self, *args):
method update_account_expiry_date (line 1054) | async def update_account_expiry_date(self, *args):
method update_account_effective_date (line 1058) | async def update_account_effective_date(self, *args):
method update_status (line 1062) | async def update_status(self, *args):
method get_status (line 1066) | async def get_status(self, *args):
method get_last_connection_stats (line 1070) | async def get_last_connection_stats(self, *args):
method reset_password (line 1074) | async def reset_password(self, *args):
method create_account_with_custom_data (line 1078) | async def create_account_with_custom_data(self, *args):
method retrieve_account (line 1082) | async def retrieve_account(self, *args):
method update_account (line 1086) | async def update_account(self, *args):
method change_password_by_guest (line 1090) | async def change_password_by_guest(self, *args):
method find_by_name_like (line 1094) | async def find_by_name_like(self, *args):
method custom_create_account (line 1098) | async def custom_create_account(self, *args):
method nintendo_create_account (line 1102) | async def nintendo_create_account(self, *args):
method lookup_or_create_account (line 1106) | async def lookup_or_create_account(self, *args):
method disconnect_principal (line 1110) | async def disconnect_principal(self, *args):
method disconnect_all_principals (line 1114) | async def disconnect_all_principals(self, *args):
FILE: nintendo/nex/authentication.py
class AuthenticationInfo (line 10) | class AuthenticationInfo(common.Data):
method __init__ (line 11) | def __init__(self):
method check_required (line 18) | def check_required(self, settings, version):
method load (line 23) | def load(self, stream, version):
method save (line 29) | def save(self, stream, version):
class RVConnectionData (line 38) | class RVConnectionData(common.Structure):
method __init__ (line 39) | def __init__(self):
method max_version (line 46) | def max_version(self, settings):
method check_required (line 52) | def check_required(self, settings, version):
method load (line 57) | def load(self, stream, version):
method save (line 65) | def save(self, stream, version):
class ValidateAndRequestTicketParam (line 75) | class ValidateAndRequestTicketParam(common.Structure):
method __init__ (line 76) | def __init__(self):
method check_required (line 85) | def check_required(self, settings, version):
method load (line 90) | def load(self, stream, version):
method save (line 98) | def save(self, stream, version):
class ValidateAndRequestTicketResult (line 108) | class ValidateAndRequestTicketResult(common.Structure):
method __init__ (line 109) | def __init__(self):
method check_required (line 118) | def check_required(self, settings, version):
method load (line 123) | def load(self, stream, version):
method save (line 131) | def save(self, stream, version):
class AuthenticationProtocol (line 141) | class AuthenticationProtocol:
class AuthenticationProtocolNX (line 152) | class AuthenticationProtocolNX:
class AuthenticationClient (line 163) | class AuthenticationClient(AuthenticationProtocol):
method __init__ (line 164) | def __init__(self, client):
method login (line 168) | async def login(self, username):
method login_ex (line 188) | async def login_ex(self, username, extra_data):
method request_ticket (line 209) | async def request_ticket(self, source, target):
method get_pid (line 227) | async def get_pid(self, username):
method get_name (line 242) | async def get_name(self, pid):
method login_with_context (line 257) | async def login_with_context(self, login_data):
class AuthenticationClientNX (line 277) | class AuthenticationClientNX(AuthenticationProtocolNX):
method __init__ (line 278) | def __init__(self, client):
method validate_and_request_ticket (line 282) | async def validate_and_request_ticket(self, username):
method validate_and_request_ticket_with_custom_data (line 302) | async def validate_and_request_ticket_with_custom_data(self, username,...
method request_ticket (line 324) | async def request_ticket(self, source, target):
method get_pid (line 343) | async def get_pid(self, username):
method get_name (line 358) | async def get_name(self, pid):
method validate_and_request_ticket_with_param (line 373) | async def validate_and_request_ticket_with_param(self, param):
class AuthenticationServer (line 389) | class AuthenticationServer(AuthenticationProtocol):
method __init__ (line 390) | def __init__(self):
method logout (line 400) | async def logout(self, client):
method handle (line 403) | async def handle(self, client, method_id, input, output):
method handle_login (line 410) | async def handle_login(self, client, input, output):
method handle_login_ex (line 428) | async def handle_login_ex(self, client, input, output):
method handle_request_ticket (line 447) | async def handle_request_ticket(self, client, input, output):
method handle_get_pid (line 463) | async def handle_get_pid(self, client, input, output):
method handle_get_name (line 474) | async def handle_get_name(self, client, input, output):
method handle_login_with_context (line 485) | async def handle_login_with_context(self, client, input, output):
method login (line 502) | async def login(self, *args):
method login_ex (line 506) | async def login_ex(self, *args):
method request_ticket (line 510) | async def request_ticket(self, *args):
method get_pid (line 514) | async def get_pid(self, *args):
method get_name (line 518) | async def get_name(self, *args):
method login_with_context (line 522) | async def login_with_context(self, *args):
class AuthenticationServerNX (line 527) | class AuthenticationServerNX(AuthenticationProtocolNX):
method __init__ (line 528) | def __init__(self):
method logout (line 538) | async def logout(self, client):
method handle (line 541) | async def handle(self, client, method_id, input, output):
method handle_validate_and_request_ticket (line 548) | async def handle_validate_and_request_ticket(self, client, input, outp...
method handle_validate_and_request_ticket_with_custom_data (line 566) | async def handle_validate_and_request_ticket_with_custom_data(self, cl...
method handle_request_ticket (line 586) | async def handle_request_ticket(self, client, input, output):
method handle_get_pid (line 603) | async def handle_get_pid(self, client, input, output):
method handle_get_name (line 614) | async def handle_get_name(self, client, input, output):
method handle_validate_and_request_ticket_with_param (line 625) | async def handle_validate_and_request_ticket_with_param(self, client, ...
method validate_and_request_ticket (line 636) | async def validate_and_request_ticket(self, *args):
method validate_and_request_ticket_with_custom_data (line 640) | async def validate_and_request_ticket_with_custom_data(self, *args):
method request_ticket (line 644) | async def request_ticket(self, *args):
method get_pid (line 648) | async def get_pid(self, *args):
method get_name (line 652) | async def get_name(self, *args):
method validate_and_request_ticket_with_param (line 656) | async def validate_and_request_ticket_with_param(self, *args):
FILE: nintendo/nex/backend.py
class LoginResult (line 10) | class LoginResult:
method __init__ (line 11) | def __init__(self, pid, ticket, source_key, secure_station):
class BackEndClient (line 18) | class BackEndClient:
method __init__ (line 19) | def __init__(self, settings, client, host, port):
method login (line 36) | async def login(self, username, password=None, auth_info=None, servers...
method login_old (line 84) | async def login_old(self, username, auth_info):
method login_switch (line 95) | async def login_switch(self, username, auth_info):
method login_with_param (line 113) | async def login_with_param(self, username, auth_info):
method login_guest (line 130) | def login_guest(self):
function connect (line 135) | async def connect(settings, host, port):
FILE: nintendo/nex/common.py
class RMCError (line 12) | class RMCError(Exception):
method __init__ (line 13) | def __init__(self, code="Core::Unknown"):
method __str__ (line 16) | def __str__(self):
method result (line 19) | def result(self):
method name (line 22) | def name(self):
method code (line 25) | def code(self):
class Result (line 29) | class Result:
method __init__ (line 30) | def __init__(self, code=0x10001):
method __str__ (line 33) | def __str__(self):
method success (line 37) | def success(code="Core::Unknown"):
method error (line 43) | def error(code="Core::Unknown"):
method is_success (line 48) | def is_success(self):
method is_error (line 51) | def is_error(self):
method code (line 54) | def code(self):
method name (line 57) | def name(self):
method raise_if_error (line 62) | def raise_if_error(self):
class Structure (line 68) | class Structure:
method max_version (line 69) | def max_version(self, settings): return 0
method get_hierarchy (line 71) | def get_hierarchy(self):
method encode (line 79) | def encode(self, stream):
method decode (line 93) | def decode(self, stream):
method load (line 117) | def load(self, stream, version): raise NotImplementedError("%s.load()"...
method save (line 118) | def save(self, stream, version): raise NotImplementedError("%s.save()"...
class Data (line 121) | class Data(Structure):
method save (line 122) | def save(self, stream, version): pass
method load (line 123) | def load(self, stream, version): pass
class DataHolder (line 126) | class DataHolder:
method __init__ (line 130) | def __init__(self):
method encode (line 133) | def encode(self, stream):
method decode (line 142) | def decode(self, stream):
method register (line 148) | def register(cls, object, name):
class NullData (line 152) | class NullData(Data):
method save (line 153) | def save(self, stream, version): pass
method load (line 154) | def load(self, stream, version): pass
class StationURL (line 158) | class StationURL:
method __init__ (line 168) | def __init__(self, scheme="prudp", **kwargs):
method __repr__ (line 172) | def __repr__(self):
method __getitem__ (line 180) | def __getitem__(self, field):
method __setitem__ (line 187) | def __setitem__(self, field, value):
method scheme (line 190) | def scheme(self):
method address (line 193) | def address(self):
method is_public (line 196) | def is_public(self): return bool(self["type"] & 2)
method is_behind_nat (line 197) | def is_behind_nat(self): return bool(self["type"] & 1)
method is_global (line 198) | def is_global(self): return self.is_public() and not self.is_behind_nat()
method copy (line 200) | def copy(self):
method parse (line 204) | def parse(cls, string):
class DateTime (line 215) | class DateTime:
method __init__ (line 216) | def __init__(self, value):
method second (line 219) | def second(self): return self.val & 63
method minute (line 220) | def minute(self): return (self.val >> 6) & 63
method hour (line 221) | def hour(self): return (self.val >> 12) & 31
method day (line 222) | def day(self): return (self.val >> 17) & 31
method month (line 223) | def month(self): return (self.val >> 22) & 15
method year (line 224) | def year(self): return self.val >> 26
method value (line 226) | def value(self): return self.val
method standard_datetime (line 228) | def standard_datetime(self):
method timestamp (line 235) | def timestamp(self):
method __repr__ (line 238) | def __repr__(self):
method never (line 242) | def never(cls):
method future (line 246) | def future(cls):
method make (line 250) | def make(cls, year, month=1, day=1, hour=0, minute=0, second=0):
method fromtimestamp (line 254) | def fromtimestamp(cls, timestamp):
method now (line 259) | def now(cls):
class ResultRange (line 263) | class ResultRange(Structure):
method __init__ (line 264) | def __init__(self, offset=0, size=10):
method load (line 268) | def load(self, stream, version):
method save (line 272) | def save(self, stream, version):
FILE: nintendo/nex/datastore.py
class DataStoreChangeMetaCompareParam (line 10) | class DataStoreChangeMetaCompareParam(common.Structure):
method __init__ (line 11) | def __init__(self):
method check_required (line 24) | def check_required(self, settings, version):
method load (line 29) | def load(self, stream, version):
method save (line 41) | def save(self, stream, version):
class DataStoreChangeMetaParam (line 55) | class DataStoreChangeMetaParam(common.Structure):
method __init__ (line 56) | def __init__(self):
method check_required (line 73) | def check_required(self, settings, version):
method load (line 78) | def load(self, stream, version):
method save (line 94) | def save(self, stream, version):
class DataStoreChangeMetaParamV1 (line 112) | class DataStoreChangeMetaParamV1(common.Structure):
method __init__ (line 113) | def __init__(self):
method check_required (line 125) | def check_required(self, settings, version):
method load (line 130) | def load(self, stream, version):
method save (line 141) | def save(self, stream, version):
class DataStoreCompletePostParam (line 154) | class DataStoreCompletePostParam(common.Structure):
method __init__ (line 155) | def __init__(self):
method check_required (line 160) | def check_required(self, settings, version):
method load (line 165) | def load(self, stream, version):
method save (line 169) | def save(self, stream, version):
class DataStoreCompletePostParamV1 (line 175) | class DataStoreCompletePostParamV1(common.Structure):
method __init__ (line 176) | def __init__(self):
method check_required (line 181) | def check_required(self, settings, version):
method load (line 186) | def load(self, stream, version):
method save (line 190) | def save(self, stream, version):
class DataStoreCompleteUpdateParam (line 196) | class DataStoreCompleteUpdateParam(common.Structure):
method __init__ (line 197) | def __init__(self):
method check_required (line 203) | def check_required(self, settings, version):
method load (line 208) | def load(self, stream, version):
method save (line 213) | def save(self, stream, version):
class DataStoreDeleteParam (line 220) | class DataStoreDeleteParam(common.Structure):
method __init__ (line 221) | def __init__(self):
method check_required (line 226) | def check_required(self, settings, version):
method load (line 231) | def load(self, stream, version):
method save (line 235) | def save(self, stream, version):
class DataStoreGetMetaParam (line 241) | class DataStoreGetMetaParam(common.Structure):
method __init__ (line 242) | def __init__(self):
method check_required (line 249) | def check_required(self, settings, version):
method load (line 252) | def load(self, stream, version):
method save (line 258) | def save(self, stream, version):
class DataStoreGetNewArrivedNotificationsParam (line 266) | class DataStoreGetNewArrivedNotificationsParam(common.Structure):
method __init__ (line 267) | def __init__(self):
method check_required (line 272) | def check_required(self, settings, version):
method load (line 277) | def load(self, stream, version):
method save (line 281) | def save(self, stream, version):
class DataStoreGetNotificationUrlParam (line 287) | class DataStoreGetNotificationUrlParam(common.Structure):
method __init__ (line 288) | def __init__(self):
method check_required (line 292) | def check_required(self, settings, version):
method load (line 297) | def load(self, stream, version):
method save (line 300) | def save(self, stream, version):
class DataStoreGetSpecificMetaParam (line 305) | class DataStoreGetSpecificMetaParam(common.Structure):
method __init__ (line 306) | def __init__(self):
method check_required (line 310) | def check_required(self, settings, version):
method load (line 315) | def load(self, stream, version):
method save (line 318) | def save(self, stream, version):
class DataStoreGetSpecificMetaParamV1 (line 323) | class DataStoreGetSpecificMetaParamV1(common.Structure):
method __init__ (line 324) | def __init__(self):
method check_required (line 328) | def check_required(self, settings, version):
method load (line 333) | def load(self, stream, version):
method save (line 336) | def save(self, stream, version):
class DataStoreKeyValue (line 341) | class DataStoreKeyValue(common.Structure):
method __init__ (line 342) | def __init__(self):
method check_required (line 347) | def check_required(self, settings, version):
method load (line 352) | def load(self, stream, version):
method save (line 356) | def save(self, stream, version):
class DataStoreMetaInfo (line 362) | class DataStoreMetaInfo(common.Structure):
method __init__ (line 363) | def __init__(self):
method check_required (line 385) | def check_required(self, settings, version):
method load (line 390) | def load(self, stream, version):
method save (line 411) | def save(self, stream, version):
class DataStoreNotification (line 434) | class DataStoreNotification(common.Structure):
method __init__ (line 435) | def __init__(self):
method check_required (line 440) | def check_required(self, settings, version):
method load (line 445) | def load(self, stream, version):
method save (line 449) | def save(self, stream, version):
class DataStoreNotificationV1 (line 455) | class DataStoreNotificationV1(common.Structure):
method __init__ (line 456) | def __init__(self):
method check_required (line 461) | def check_required(self, settings, version):
method load (line 466) | def load(self, stream, version):
method save (line 470) | def save(self, stream, version):
class DataStorePasswordInfo (line 476) | class DataStorePasswordInfo(common.Structure):
method __init__ (line 477) | def __init__(self):
method check_required (line 483) | def check_required(self, settings, version):
method load (line 488) | def load(self, stream, version):
method save (line 493) | def save(self, stream, version):
class DataStorePermission (line 500) | class DataStorePermission(common.Structure):
method __init__ (line 501) | def __init__(self):
method check_required (line 506) | def check_required(self, settings, version):
method load (line 509) | def load(self, stream, version):
method save (line 513) | def save(self, stream, version):
class DataStorePersistenceInfo (line 519) | class DataStorePersistenceInfo(common.Structure):
method __init__ (line 520) | def __init__(self):
method check_required (line 526) | def check_required(self, settings, version):
method load (line 531) | def load(self, stream, version):
method save (line 536) | def save(self, stream, version):
class DataStorePersistenceInitParam (line 543) | class DataStorePersistenceInitParam(common.Structure):
method __init__ (line 544) | def __init__(self):
method check_required (line 549) | def check_required(self, settings, version):
method load (line 552) | def load(self, stream, version):
method save (line 556) | def save(self, stream, version):
class DataStorePersistenceTarget (line 562) | class DataStorePersistenceTarget(common.Structure):
method __init__ (line 563) | def __init__(self):
method check_required (line 568) | def check_required(self, settings, version):
method load (line 571) | def load(self, stream, version):
method save (line 575) | def save(self, stream, version):
class DataStorePrepareGetParam (line 581) | class DataStorePrepareGetParam(common.Structure):
method __init__ (line 582) | def __init__(self):
method check_required (line 590) | def check_required(self, settings, version):
method load (line 594) | def load(self, stream, version):
method save (line 602) | def save(self, stream, version):
class DataStorePrepareGetParamV1 (line 612) | class DataStorePrepareGetParamV1(common.Structure):
method __init__ (line 613) | def __init__(self):
method check_required (line 618) | def check_required(self, settings, version):
method load (line 623) | def load(self, stream, version):
method save (line 627) | def save(self, stream, version):
class DataStorePreparePostParam (line 633) | class DataStorePreparePostParam(common.Structure):
method __init__ (line 634) | def __init__(self):
method check_required (line 650) | def check_required(self, settings, version):
method load (line 659) | def load(self, stream, version):
method save (line 675) | def save(self, stream, version):
class DataStorePreparePostParamV1 (line 693) | class DataStorePreparePostParamV1(common.Structure):
method __init__ (line 694) | def __init__(self):
method check_required (line 708) | def check_required(self, settings, version):
method load (line 713) | def load(self, stream, version):
method save (line 726) | def save(self, stream, version):
class DataStorePrepareUpdateParam (line 741) | class DataStorePrepareUpdateParam(common.Structure):
method __init__ (line 742) | def __init__(self):
method check_required (line 749) | def check_required(self, settings, version):
method load (line 754) | def load(self, stream, version):
method save (line 760) | def save(self, stream, version):
class DataStoreRateObjectParam (line 768) | class DataStoreRateObjectParam(common.Structure):
method __init__ (line 769) | def __init__(self):
method check_required (line 774) | def check_required(self, settings, version):
method load (line 779) | def load(self, stream, version):
method save (line 783) | def save(self, stream, version):
class DataStoreRatingInfo (line 789) | class DataStoreRatingInfo(common.Structure):
method __init__ (line 790) | def __init__(self):
method check_required (line 796) | def check_required(self, settings, version):
method load (line 801) | def load(self, stream, version):
method save (line 806) | def save(self, stream, version):
class DataStoreRatingInfoWithSlot (line 813) | class DataStoreRatingInfoWithSlot(common.Structure):
method __init__ (line 814) | def __init__(self):
method check_required (line 819) | def check_required(self, settings, version):
method load (line 824) | def load(self, stream, version):
method save (line 828) | def save(self, stream, version):
class DataStoreRatingInitParam (line 834) | class DataStoreRatingInitParam(common.Structure):
method __init__ (line 835) | def __init__(self):
method check_required (line 846) | def check_required(self, settings, version):
method load (line 851) | def load(self, stream, version):
method save (line 861) | def save(self, stream, version):
class DataStoreRatingInitParamWithSlot (line 873) | class DataStoreRatingInitParamWithSlot(common.Structure):
method __init__ (line 874) | def __init__(self):
method check_required (line 879) | def check_required(self, settings, version):
method load (line 884) | def load(self, stream, version):
method save (line 888) | def save(self, stream, version):
class DataStoreRatingLog (line 894) | class DataStoreRatingLog(common.Structure):
method __init__ (line 895) | def __init__(self):
method check_required (line 902) | def check_required(self, settings, version):
method load (line 907) | def load(self, stream, version):
method save (line 913) | def save(self, stream, version):
class DataStoreRatingTarget (line 921) | class DataStoreRatingTarget(common.Structure):
method __init__ (line 922) | def __init__(self):
method check_required (line 927) | def check_required(self, settings, version):
method load (line 932) | def load(self, stream, version):
method save (line 936) | def save(self, stream, version):
class DataStoreReqGetAdditionalMeta (line 942) | class DataStoreReqGetAdditionalMeta(common.Structure):
method __init__ (line 943) | def __init__(self):
method check_required (line 950) | def check_required(self, settings, version):
method load (line 955) | def load(self, stream, version):
method save (line 961) | def save(self, stream, version):
class DataStoreReqGetInfo (line 969) | class DataStoreReqGetInfo(common.Structure):
method __init__ (line 970) | def __init__(self):
method check_required (line 978) | def check_required(self, settings, version):
method load (line 987) | def load(self, stream, version):
method save (line 995) | def save(self, stream, version):
class DataStoreReqGetInfoV1 (line 1005) | class DataStoreReqGetInfoV1(common.Structure):
method __init__ (line 1006) | def __init__(self):
method check_required (line 1013) | def check_required(self, settings, version):
method load (line 1018) | def load(self, stream, version):
method save (line 1024) | def save(self, stream, version):
class DataStoreReqGetNotificationUrlInfo (line 1032) | class DataStoreReqGetNotificationUrlInfo(common.Structure):
method __init__ (line 1033) | def __init__(self):
method check_required (line 1040) | def check_required(self, settings, version):
method load (line 1045) | def load(self, stream, version):
method save (line 1051) | def save(self, stream, version):
class DataStoreReqPostInfo (line 1059) | class DataStoreReqPostInfo(common.Structure):
method __init__ (line 1060) | def __init__(self):
method check_required (line 1068) | def check_required(self, settings, version):
method load (line 1073) | def load(self, stream, version):
method save (line 1080) | def save(self, stream, version):
class DataStoreReqPostInfoV1 (line 1089) | class DataStoreReqPostInfoV1(common.Structure):
method __init__ (line 1090) | def __init__(self):
method check_required (line 1098) | def check_required(self, settings, version):
method load (line 1103) | def load(self, stream, version):
method save (line 1110) | def save(self, stream, version):
class DataStoreReqUpdateInfo (line 1119) | class DataStoreReqUpdateInfo(common.Structure):
method __init__ (line 1120) | def __init__(self):
method check_required (line 1128) | def check_required(self, settings, version):
method load (line 1133) | def load(self, stream, version):
method save (line 1140) | def save(self, stream, version):
class DataStoreSearchParam (line 1149) | class DataStoreSearchParam(common.Structure):
method __init__ (line 1150) | def __init__(self):
method check_required (line 1172) | def check_required(self, settings, version):
method load (line 1175) | def load(self, stream, version):
method save (line 1196) | def save(self, stream, version):
class DataStoreSearchResult (line 1219) | class DataStoreSearchResult(common.Structure):
method __init__ (line 1220) | def __init__(self):
method check_required (line 1226) | def check_required(self, settings, version):
method load (line 1231) | def load(self, stream, version):
method save (line 1236) | def save(self, stream, version):
class DataStoreSpecificMetaInfo (line 1243) | class DataStoreSpecificMetaInfo(common.Structure):
method __init__ (line 1244) | def __init__(self):
method check_required (line 1252) | def check_required(self, settings, version):
method load (line 1257) | def load(self, stream, version):
method save (line 1264) | def save(self, stream, version):
class DataStoreSpecificMetaInfoV1 (line 1273) | class DataStoreSpecificMetaInfoV1(common.Structure):
method __init__ (line 1274) | def __init__(self):
method check_required (line 1282) | def check_required(self, settings, version):
method load (line 1287) | def load(self, stream, version):
method save (line 1294) | def save(self, stream, version):
class DataStoreTouchObjectParam (line 1303) | class DataStoreTouchObjectParam(common.Structure):
method __init__ (line 1304) | def __init__(self):
method check_required (line 1310) | def check_required(self, settings, version):
method load (line 1315) | def load(self, stream, version):
method save (line 1320) | def save(self, stream, version):
class DataStoreProtocol (line 1327) | class DataStoreProtocol:
class DataStoreClient (line 1378) | class DataStoreClient(DataStoreProtocol):
method __init__ (line 1379) | def __init__(self, client):
method prepare_get_object_v1 (line 1383) | async def prepare_get_object_v1(self, param):
method prepare_post_object_v1 (line 1398) | async def prepare_post_object_v1(self, param):
method complete_post_object_v1 (line 1413) | async def complete_post_object_v1(self, param):
method delete_object (line 1426) | async def delete_object(self, param):
method delete_objects (line 1439) | async def delete_objects(self, param, transactional):
method change_meta_v1 (line 1455) | async def change_meta_v1(self, param):
method change_metas_v1 (line 1468) | async def change_metas_v1(self, data_ids, param, transactional):
method get_meta (line 1485) | async def get_meta(self, param):
method get_metas (line 1500) | async def get_metas(self, data_ids, param):
method prepare_update_object (line 1518) | async def prepare_update_object(self, param):
method complete_update_object (line 1533) | async def complete_update_object(self, param):
method search_object (line 1546) | async def search_object(self, param):
method get_notification_url (line 1561) | async def get_notification_url(self, param):
method get_new_arrived_notifications_v1 (line 1576) | async def get_new_arrived_notifications_v1(self, param):
method rate_object (line 1593) | async def rate_object(self, target, param, fetch_ratings):
method get_rating (line 1610) | async def get_rating(self, target, access_password):
method get_ratings (line 1626) | async def get_ratings(self, data_ids, access_password):
method reset_rating (line 1644) | async def reset_rating(self, target, update_password):
method reset_ratings (line 1658) | async def reset_ratings(self, data_ids, transactional):
method get_specific_meta_v1 (line 1674) | async def get_specific_meta_v1(self, param):
method post_meta_binary (line 1689) | async def post_meta_binary(self, param):
method touch_object (line 1704) | async def touch_object(self, param):
method get_rating_with_log (line 1717) | async def get_rating_with_log(self, target, access_password):
method prepare_post_object (line 1735) | async def prepare_post_object(self, param):
method prepare_get_object (line 1750) | async def prepare_get_object(self, param):
method complete_post_object (line 1765) | async def complete_post_object(self, param):
method get_new_arrived_notifications (line 1778) | async def get_new_arrived_notifications(self, param):
method get_specific_meta (line 1795) | async def get_specific_meta(self, param):
method get_persistence_info (line 1810) | async def get_persistence_info(self, owner_id, slot_id):
method get_persistence_infos (line 1826) | async def get_persistence_infos(self, owner_id, slot_ids):
method perpetuate_object (line 1844) | async def perpetuate_object(self, persistence_slot_id, data_id, delete...
method unperpetuate_object (line 1859) | async def unperpetuate_object(self, persistence_slot_id, delete_last_o...
method prepare_get_object_or_meta_binary (line 1873) | async def prepare_get_object_or_meta_binary(self, param):
method get_password_info (line 1890) | async def get_password_info(self, data_id):
method get_password_infos (line 1905) | async def get_password_infos(self, data_ids):
method get_metas_multiple_param (line 1922) | async def get_metas_multiple_param(self, params):
method complete_post_objects (line 1939) | async def complete_post_objects(self, data_ids):
method change_meta (line 1952) | async def change_meta(self, param):
method change_metas (line 1965) | async def change_metas(self, data_ids, param, transactional):
method rate_objects (line 1982) | async def rate_objects(self, targets, param, transactional, fetch_rati...
method post_meta_binary_with_data_id (line 2002) | async def post_meta_binary_with_data_id(self, data_id, param):
method post_meta_binaries_with_data_id (line 2016) | async def post_meta_binaries_with_data_id(self, data_ids, param, trans...
method rate_object_with_posting (line 2033) | async def rate_object_with_posting(self, target, rate_param, post_para...
method rate_objects_with_posting (line 2051) | async def rate_objects_with_posting(self, targets, rate_param, post_pa...
method get_object_infos (line 2072) | async def get_object_infos(self, data_ids):
method search_object_light (line 2089) | async def search_object_light(self, param):
class DataStoreServer (line 2105) | class DataStoreServer(DataStoreProtocol):
method __init__ (line 2106) | def __init__(self):
method logout (line 2156) | async def logout(self, client):
method handle (line 2159) | async def handle(self, client, method_id, input, output):
method handle_prepare_get_object_v1 (line 2166) | async def handle_prepare_get_object_v1(self, client, input, output):
method handle_prepare_post_object_v1 (line 2177) | async def handle_prepare_post_object_v1(self, client, input, output):
method handle_complete_post_object_v1 (line 2188) | async def handle_complete_post_object_v1(self, client, input, output):
method handle_delete_object (line 2194) | async def handle_delete_object(self, client, input, output):
method handle_delete_objects (line 2200) | async def handle_delete_objects(self, client, input, output):
method handle_change_meta_v1 (line 2212) | async def handle_change_meta_v1(self, client, input, output):
method handle_change_metas_v1 (line 2218) | async def handle_change_metas_v1(self, client, input, output):
method handle_get_meta (line 2231) | async def handle_get_meta(self, client, input, output):
method handle_get_metas (line 2242) | async def handle_get_metas(self, client, input, output):
method handle_prepare_update_object (line 2258) | async def handle_prepare_update_object(self, client, input, output):
method handle_complete_update_object (line 2269) | async def handle_complete_update_object(self, client, input, output):
method handle_search_object (line 2275) | async def handle_search_object(self, client, input, output):
method handle_get_notification_url (line 2286) | async def handle_get_notification_url(self, client, input, output):
method handle_get_new_arrived_notifications_v1 (line 2297) | async def handle_get_new_arrived_notifications_v1(self, client, input,...
method handle_rate_object (line 2312) | async def handle_rate_object(self, client, input, output):
method handle_get_rating (line 2325) | async def handle_get_rating(self, client, input, output):
method handle_get_ratings (line 2337) | async def handle_get_ratings(self, client, input, output):
method handle_reset_rating (line 2353) | async def handle_reset_rating(self, client, input, output):
method handle_reset_ratings (line 2360) | async def handle_reset_ratings(self, client, input, output):
method handle_get_specific_meta_v1 (line 2372) | async def handle_get_specific_meta_v1(self, client, input, output):
method handle_post_meta_binary (line 2383) | async def handle_post_meta_binary(self, client, input, output):
method handle_touch_object (line 2394) | async def handle_touch_object(self, client, input, output):
method handle_get_rating_with_log (line 2400) | async def handle_get_rating_with_log(self, client, input, output):
method handle_prepare_post_object (line 2416) | async def handle_prepare_post_object(self, client, input, output):
method handle_prepare_get_object (line 2427) | async def handle_prepare_get_object(self, client, input, output):
method handle_complete_post_object (line 2438) | async def handle_complete_post_object(self, client, input, output):
method handle_get_new_arrived_notifications (line 2444) | async def handle_get_new_arrived_notifications(self, client, input, ou...
method handle_get_specific_meta (line 2459) | async def handle_get_specific_meta(self, client, input, output):
method handle_get_persistence_info (line 2470) | async def handle_get_persistence_info(self, client, input, output):
method handle_get_persistence_infos (line 2482) | async def handle_get_persistence_infos(self, client, input, output):
method handle_perpetuate_object (line 2498) | async def handle_perpetuate_object(self, client, input, output):
method handle_unperpetuate_object (line 2506) | async def handle_unperpetuate_object(self, client, input, output):
method handle_prepare_get_object_or_meta_binary (line 2513) | async def handle_prepare_get_object_or_meta_binary(self, client, input...
method handle_get_password_info (line 2528) | async def handle_get_password_info(self, client, input, output):
method handle_get_password_infos (line 2539) | async def handle_get_password_infos(self, client, input, output):
method handle_get_metas_multiple_param (line 2554) | async def handle_get_metas_multiple_param(self, client, input, output):
method handle_complete_post_objects (line 2569) | async def handle_complete_post_objects(self, client, input, output):
method handle_change_meta (line 2575) | async def handle_change_meta(self, client, input, output):
method handle_change_metas (line 2581) | async def handle_change_metas(self, client, input, output):
method handle_rate_objects (line 2594) | async def handle_rate_objects(self, client, input, output):
method handle_post_meta_binary_with_data_id (line 2612) | async def handle_post_meta_binary_with_data_id(self, client, input, ou...
method handle_post_meta_binaries_with_data_id (line 2619) | async def handle_post_meta_binaries_with_data_id(self, client, input, ...
method handle_rate_object_with_posting (line 2632) | async def handle_rate_object_with_posting(self, client, input, output):
method handle_rate_objects_with_posting (line 2646) | async def handle_rate_objects_with_posting(self, client, input, output):
method handle_get_object_infos (line 2665) | async def handle_get_object_infos(self, client, input, output):
method handle_search_object_light (line 2680) | async def handle_search_object_light(self, client, input, output):
method prepare_get_object_v1 (line 2691) | async def prepare_get_object_v1(self, *args):
method prepare_post_object_v1 (line 2695) | async def prepare_post_object_v1(self, *args):
method complete_post_object_v1 (line 2699) | async def complete_post_object_v1(self, *args):
method delete_object (line 2703) | async def delete_object(self, *args):
method delete_objects (line 2707) | async def delete_objects(self, *args):
method change_meta_v1 (line 2711) | async def change_meta_v1(self, *args):
method change_metas_v1 (line 2715) | async def change_metas_v1(self, *args):
method get_meta (line 2719) | async def get_meta(self, *args):
method get_metas (line 2723) | async def get_metas(self, *args):
method prepare_update_object (line 2727) | async def prepare_update_object(self, *args):
method complete_update_object (line 2731) | async def complete_update_object(self, *args):
method search_object (line 2735) | async def search_object(self, *args):
method get_notification_url (line 2739) | async def get_notification_url(self, *args):
method get_new_arrived_notifications_v1 (line 2743) | async def get_new_arrived_notifications_v1(self, *args):
method rate_object (line 2747) | async def rate_object(self, *args):
method get_rating (line 2751) | async def get_rating(self, *args):
method get_ratings (line 2755) | async def get_ratings(self, *args):
method reset_rating (line 2759) | async def reset_rating(self, *args):
method reset_ratings (line 2763) | async def reset_ratings(self, *args):
method get_specific_meta_v1 (line 2767) | async def get_specific_meta_v1(self, *args):
method post_meta_binary (line 2771) | async def post_meta_binary(self, *args):
method touch_object (line 2775) | async def touch_object(self, *args):
method get_rating_with_log (line 2779) | async def get_rating_with_log(self, *args):
method prepare_post_object (line 2783) | async def prepare_post_object(self, *args):
method prepare_get_object (line 2787) | async def prepare_get_object(self, *args):
method complete_post_object (line 2791) | async def complete_post_object(self, *args):
method get_new_arrived_notifications (line 2795) | async def get_new_arrived_notifications(self, *args):
method get_specific_meta (line 2799) | async def get_specific_meta(self, *args):
method get_persistence_info (line 2803) | async def get_persistence_info(self, *args):
method get_persistence_infos (line 2807) | async def get_persistence_infos(self, *args):
method perpetuate_object (line 2811) | async def perpetuate_object(self, *args):
method unperpetuate_object (line 2815) | async def unperpetuate_object(self, *args):
method prepare_get_object_or_meta_binary (line 2819) | async def prepare_get_object_or_meta_binary(self, *args):
method get_password_info (line 2823) | async def get_password_info(self, *args):
method get_password_infos (line 2827) | async def get_password_infos(self, *args):
method get_metas_multiple_param (line 2831) | async def get_metas_multiple_param(self, *args):
method complete_post_objects (line 2835) | async def complete_post_objects(self, *args):
method change_meta (line 2839) | async def change_meta(self, *args):
method change_metas (line 2843) | async def change_metas(self, *args):
method rate_objects (line 2847) | async def rate_objects(self, *args):
method post_meta_binary_with_data_id (line 2851) | async def post_meta_binary_with_data_id(self, *args):
method post_meta_binaries_with_data_id (line 2855) | async def post_meta_binaries_with_data_id(self, *args):
method rate_object_with_posting (line 2859) | async def rate_object_with_posting(self, *args):
method rate_objects_with_posting (line 2863) | async def rate_objects_with_posting(self, *args):
method get_object_infos (line 2867) | async def get_object_infos(self, *args):
method search_object_light (line 2871) | async def search_object_light(self, *args):
FILE: nintendo/nex/datastore_miitopia_3ds.py
class Gender (line 10) | class Gender:
class Category (line 16) | class Category:
class DataStoreChangeMetaCompareParam (line 39) | class DataStoreChangeMetaCompareParam(common.Structure):
method __init__ (line 40) | def __init__(self):
method check_required (line 53) | def check_required(self, settings, version):
method load (line 58) | def load(self, stream, version):
method save (line 70) | def save(self, stream, version):
class DataStoreChangeMetaParam (line 84) | class DataStoreChangeMetaParam(common.Structure):
method __init__ (line 85) | def __init__(self):
method check_required (line 102) | def check_required(self, settings, version):
method load (line 107) | def load(self, stream, version):
method save (line 123) | def save(self, stream, version):
class DataStoreChangeMetaParamV1 (line 141) | class DataStoreChangeMetaParamV1(common.Structure):
method __init__ (line 142) | def __init__(self):
method check_required (line 154) | def check_required(self, settings, version):
method load (line 159) | def load(self, stream, version):
method save (line 170) | def save(self, stream, version):
class DataStoreCompletePostParam (line 183) | class DataStoreCompletePostParam(common.Structure):
method __init__ (line 184) | def __init__(self):
method check_required (line 189) | def check_required(self, settings, version):
method load (line 194) | def load(self, stream, version):
method save (line 198) | def save(self, stream, version):
class DataStoreCompletePostParamV1 (line 204) | class DataStoreCompletePostParamV1(common.Structure):
method __init__ (line 205) | def __init__(self):
method check_required (line 210) | def check_required(self, settings, version):
method load (line 215) | def load(self, stream, version):
method save (line 219) | def save(self, stream, version):
class DataStoreCompleteUpdateParam (line 225) | class DataStoreCompleteUpdateParam(common.Structure):
method __init__ (line 226) | def __init__(self):
method check_required (line 232) | def check_required(self, settings, version):
method load (line 237) | def load(self, stream, version):
method save (line 242) | def save(self, stream, version):
class DataStoreDeleteParam (line 249) | class DataStoreDeleteParam(common.Structure):
method __init__ (line 250) | def __init__(self):
method check_required (line 255) | def check_required(self, settings, version):
method load (line 260) | def load(self, stream, version):
method save (line 264) | def save(self, stream, version):
class DataStoreGetMetaParam (line 270) | class DataStoreGetMetaParam(common.Structure):
method __init__ (line 271) | def __init__(self):
method check_required (line 278) | def check_required(self, settings, version):
method load (line 281) | def load(self, stream, version):
method save (line 287) | def save(self, stream, version):
class DataStoreGetNewArrivedNotificationsParam (line 295) | class DataStoreGetNewArrivedNotificationsParam(common.Structure):
method __init__ (line 296) | def __init__(self):
method check_required (line 301) | def check_required(self, settings, version):
method load (line 306) | def load(self, stream, version):
method save (line 310) | def save(self, stream, version):
class DataStoreGetNotificationUrlParam (line 316) | class DataStoreGetNotificationUrlParam(common.Structure):
method __init__ (line 317) | def __init__(self):
method check_required (line 321) | def check_required(self, settings, version):
method load (line 326) | def load(self, stream, version):
method save (line 329) | def save(self, stream, version):
class DataStoreGetSpecificMetaParam (line 334) | class DataStoreGetSpecificMetaParam(common.Structure):
method __init__ (line 335) | def __init__(self):
method check_required (line 339) | def check_required(self, settings, version):
method load (line 344) | def load(self, stream, version):
method save (line 347) | def save(self, stream, version):
class DataStoreGetSpecificMetaParamV1 (line 352) | class DataStoreGetSpecificMetaParamV1(common.Structure):
method __init__ (line 353) | def __init__(self):
method check_required (line 357) | def check_required(self, settings, version):
method load (line 362) | def load(self, stream, version):
method save (line 365) | def save(self, stream, version):
class DataStoreKeyValue (line 370) | class DataStoreKeyValue(common.Structure):
method __init__ (line 371) | def __init__(self):
method check_required (line 376) | def check_required(self, settings, version):
method load (line 381) | def load(self, stream, version):
method save (line 385) | def save(self, stream, version):
class DataStoreMetaInfo (line 391) | class DataStoreMetaInfo(common.Structure):
method __init__ (line 392) | def __init__(self):
method check_required (line 414) | def check_required(self, settings, version):
method load (line 419) | def load(self, stream, version):
method save (line 440) | def save(self, stream, version):
class DataStoreNotification (line 463) | class DataStoreNotification(common.Structure):
method __init__ (line 464) | def __init__(self):
method check_required (line 469) | def check_required(self, settings, version):
method load (line 474) | def load(self, stream, version):
method save (line 478) | def save(self, stream, version):
class DataStoreNotificationV1 (line 484) | class DataStoreNotificationV1(common.Structure):
method __init__ (line 485) | def __init__(self):
method check_required (line 490) | def check_required(self, settings, version):
method load (line 495) | def load(self, stream, version):
method save (line 499) | def save(self, stream, version):
class DataStorePasswordInfo (line 505) | class DataStorePasswordInfo(common.Structure):
method __init__ (line 506) | def __init__(self):
method check_required (line 512) | def check_required(self, settings, version):
method load (line 517) | def load(self, stream, version):
method save (line 522) | def save(self, stream, version):
class DataStorePermission (line 529) | class DataStorePermission(common.Structure):
method __init__ (line 530) | def __init__(self):
method check_required (line 535) | def check_required(self, settings, version):
method load (line 538) | def load(self, stream, version):
method save (line 542) | def save(self, stream, version):
class DataStorePersistenceInfo (line 548) | class DataStorePersistenceInfo(common.Structure):
method __init__ (line 549) | def __init__(self):
method check_required (line 555) | def check_required(self, settings, version):
method load (line 560) | def load(self, stream, version):
method save (line 565) | def save(self, stream, version):
class DataStorePersistenceInitParam (line 572) | class DataStorePersistenceInitParam(common.Structure):
method __init__ (line 573) | def __init__(self):
method check_required (line 578) | def check_required(self, settings, version):
method load (line 581) | def load(self, stream, version):
method save (line 585) | def save(self, stream, version):
class DataStorePersistenceTarget (line 591) | class DataStorePersistenceTarget(common.Structure):
method __init__ (line 592) | def __init__(self):
method check_required (line 597) | def check_required(self, settings, version):
method load (line 600) | def load(self, stream, version):
method save (line 604) | def save(self, stream, version):
class DataStorePrepareGetParam (line 610) | class DataStorePrepareGetParam(common.Structure):
method __init__ (line 611) | def __init__(self):
method check_required (line 619) | def check_required(self, settings, version):
method load (line 623) | def load(self, stream, version):
method save (line 631) | def save(self, stream, version):
class DataStorePrepareGetParamV1 (line 641) | class DataStorePrepareGetParamV1(common.Structure):
method __init__ (line 642) | def __init__(self):
method check_required (line 647) | def check_required(self, settings, version):
method load (line 652) | def load(self, stream, version):
method save (line 656) | def save(self, stream, version):
class DataStorePreparePostParam (line 662) | class DataStorePreparePostParam(common.Structure):
method __init__ (line 663) | def __init__(self):
method check_required (line 679) | def check_required(self, settings, version):
method load (line 688) | def load(self, stream, version):
method save (line 704) | def save(self, stream, version):
class DataStorePreparePostParamV1 (line 722) | class DataStorePreparePostParamV1(common.Structure):
method __init__ (line 723) | def __init__(self):
method check_required (line 737) | def check_required(self, settings, version):
method load (line 742) | def load(self, stream, version):
method save (line 755) | def save(self, stream, version):
class DataStorePrepareUpdateParam (line 770) | class DataStorePrepareUpdateParam(common.Structure):
method __init__ (line 771) | def __init__(self):
method check_required (line 778) | def check_required(self, settings, version):
method load (line 783) | def load(self, stream, version):
method save (line 789) | def save(self, stream, version):
class DataStoreRateObjectParam (line 797) | class DataStoreRateObjectParam(common.Structure):
method __init__ (line 798) | def __init__(self):
method check_required (line 803) | def check_required(self, settings, version):
method load (line 808) | def load(self, stream, version):
method save (line 812) | def save(self, stream, version):
class DataStoreRatingInfo (line 818) | class DataStoreRatingInfo(common.Structure):
method __init__ (line 819) | def __init__(self):
method check_required (line 825) | def check_required(self, settings, version):
method load (line 830) | def load(self, stream, version):
method save (line 835) | def save(self, stream, version):
class DataStoreRatingInfoWithSlot (line 842) | class DataStoreRatingInfoWithSlot(common.Structure):
method __init__ (line 843) | def __init__(self):
method check_required (line 848) | def check_required(self, settings, version):
method load (line 853) | def load(self, stream, version):
method save (line 857) | def save(self, stream, version):
class DataStoreRatingInitParam (line 863) | class DataStoreRatingInitParam(common.Structure):
method __init__ (line 864) | def __init__(self):
method check_required (line 875) | def check_required(self, settings, version):
method load (line 880) | def load(self, stream, version):
method save (line 890) | def save(self, stream, version):
class DataStoreRatingInitParamWithSlot (line 902) | class DataStoreRatingInitParamWithSlot(common.Structure):
method __init__ (line 903) | def __init__(self):
method check_required (line 908) | def check_required(self, settings, version):
method load (line 913) | def load(self, stream, version):
method save (line 917) | def save(self, stream, version):
class DataStoreRatingLog (line 923) | class DataStoreRatingLog(common.Structure):
method __init__ (line 924) | def __init__(self):
method check_required (line 931) | def check_required(self, settings, version):
method load (line 936) | def load(self, stream, version):
method save (line 942) | def save(self, stream, version):
class DataStoreRatingTarget (line 950) | class DataStoreRatingTarget(common.Structure):
method __init__ (line 951) | def __init__(self):
method check_required (line 956) | def check_required(self, settings, version):
method load (line 961) | def load(self, stream, version):
method save (line 965) | def save(self, stream, version):
class DataStoreReqGetAdditionalMeta (line 971) | class DataStoreReqGetAdditionalMeta(common.Structure):
method __init__ (line 972) | def __init__(self):
method check_required (line 979) | def check_required(self, settings, version):
method load (line 984) | def load(self, stream, version):
method save (line 990) | def save(self, stream, version):
class DataStoreReqGetInfo (line 998) | class DataStoreReqGetInfo(common.Structure):
method __init__ (line 999) | def __init__(self):
method check_required (line 1007) | def check_required(self, settings, version):
method load (line 1016) | def load(self, stream, version):
method save (line 1024) | def save(self, stream, version):
class DataStoreReqGetInfoV1 (line 1034) | class DataStoreReqGetInfoV1(common.Structure):
method __init__ (line 1035) | def __init__(self):
method check_required (line 1042) | def check_required(self, settings, version):
method load (line 1047) | def load(self, stream, version):
method save (line 1053) | def save(self, stream, version):
class DataStoreReqGetNotificationUrlInfo (line 1061) | class DataStoreReqGetNotificationUrlInfo(common.Structure):
method __init__ (line 1062) | def __init__(self):
method check_required (line 1069) | def check_required(self, settings, version):
method load (line 1074) | def load(self, stream, version):
method save (line 1080) | def save(self, stream, version):
class DataStoreReqPostInfo (line 1088) | class DataStoreReqPostInfo(common.Structure):
method __init__ (line 1089) | def __init__(self):
method check_required (line 1097) | def check_required(self, settings, version):
method load (line 1102) | def load(self, stream, version):
method save (line 1109) | def save(self, stream, version):
class DataStoreReqPostInfoV1 (line 1118) | class DataStoreReqPostInfoV1(common.Structure):
method __init__ (line 1119) | def __init__(self):
method check_required (line 1127) | def check_required(self, settings, version):
method load (line 1132) | def load(self, stream, version):
method save (line 1139) | def save(self, stream, version):
class DataStoreReqUpdateInfo (line 1148) | class DataStoreReqUpdateInfo(common.Structure):
method __init__ (line 1149) | def __init__(self):
method check_required (line 1157) | def check_required(self, settings, version):
method load (line 1162) | def load(self, stream, version):
method save (line 1169) | def save(self, stream, version):
class DataStoreSearchParam (line 1178) | class DataStoreSearchParam(common.Structure):
method __init__ (line 1179) | def __init__(self):
method check_required (line 1201) | def check_required(self, settings, version):
method load (line 1204) | def load(self, stream, version):
method save (line 1225) | def save(self, stream, version):
class DataStoreSearchResult (line 1248) | class DataStoreSearchResult(common.Structure):
method __init__ (line 1249) | def __init__(self):
method check_required (line 1255) | def check_required(self, settings, version):
method load (line 1260) | def load(self, stream, version):
method save (line 1265) | def save(self, stream, version):
class DataStoreSpecificMetaInfo (line 1272) | class DataStoreSpecificMetaInfo(common.Structure):
method __init__ (line 1273) | def __init__(self):
method check_required (line 1281) | def check_required(self, settings, version):
method load (line 1286) | def load(self, stream, version):
method save (line 1293) | def save(self, stream, version):
class DataStoreSpecificMetaInfoV1 (line 1302) | class DataStoreSpecificMetaInfoV1(common.Structure):
method __init__ (line 1303) | def __init__(self):
method check_required (line 1311) | def check_required(self, settings, version):
method load (line 1316) | def load(self, stream, version):
method save (line 1323) | def save(self, stream, version):
class DataStoreTouchObjectParam (line 1332) | class DataStoreTouchObjectParam(common.Structure):
method __init__ (line 1333) | def __init__(self):
method check_required (line 1339) | def check_required(self, settings, version):
method load (line 1344) | def load(self, stream, version):
method save (line 1349) | def save(self, stream, version):
class MiiTubeSearchParam (line 1356) | class MiiTubeSearchParam(common.Structure):
method __init__ (line 1357) | def __init__(self):
method check_required (line 1367) | def check_required(self, settings, version):
method load (line 1372) | def load(self, stream, version):
method save (line 1381) | def save(self, stream, version):
class MiiTubeMiiInfo (line 1392) | class MiiTubeMiiInfo(common.Structure):
method __init__ (line 1393) | def __init__(self):
method check_required (line 1399) | def check_required(self, settings, version):
method load (line 1404) | def load(self, stream, version):
method save (line 1409) | def save(self, stream, version):
class MiiTubeSearchResult (line 1416) | class MiiTubeSearchResult(common.Structure):
method __init__ (line 1417) | def __init__(self):
method check_required (line 1424) | def check_required(self, settings, version):
method load (line 1429) | def load(self, stream, version):
method save (line 1435) | def save(self, stream, version):
class DataStoreProtocolMiitopia3DS (line 1443) | class DataStoreProtocolMiitopia3DS:
class DataStoreClientMiitopia3DS (line 1495) | class DataStoreClientMiitopia3DS(DataStoreProtocolMiitopia3DS):
method __init__ (line 1496) | def __init__(self, client):
method prepare_get_object_v1 (line 1500) | async def prepare_get_object_v1(self, param):
method prepare_post_object_v1 (line 1515) | async def prepare_post_object_v1(self, param):
method complete_post_object_v1 (line 1530) | async def complete_post_object_v1(self, param):
method delete_object (line 1543) | async def delete_object(self, param):
method delete_objects (line 1556) | async def delete_objects(self, param, transactional):
method change_meta_v1 (line 1572) | async def change_meta_v1(self, param):
method change_metas_v1 (line 1585) | async def change_metas_v1(self, data_ids, param, transactional):
method get_meta (line 1602) | async def get_meta(self, param):
method get_metas (line 1617) | async def get_metas(self, data_ids, param):
method prepare_update_object (line 1635) | async def prepare_update_object(self, param):
method complete_update_object (line 1650) | async def complete_update_object(self, param):
method search_object (line 1663) | async def search_object(self, param):
method get_notification_url (line 1678) | async def get_notification_url(self, param):
method get_new_arrived_notifications_v1 (line 1693) | async def get_new_arrived_notifications_v1(self, param):
method rate_object (line 1710) | async def rate_object(self, target, param, fetch_ratings):
method get_rating (line 1727) | async def get_rating(self, target, access_password):
method get_ratings (line 1743) | async def get_ratings(self, data_ids, access_password):
method reset_rating (line 1761) | async def reset_rating(self, target, update_password):
method reset_ratings (line 1775) | async def reset_ratings(self, data_ids, transactional):
method get_specific_meta_v1 (line 1791) | async def get_specific_meta_v1(self, param):
method post_meta_binary (line 1806) | async def post_meta_binary(self, param):
method touch_object (line 1821) | async def touch_object(self, param):
method get_rating_with_log (line 1834) | async def get_rating_with_log(self, target, access_password):
method prepare_post_object (line 1852) | async def prepare_post_object(self, param):
method prepare_get_object (line 1867) | async def prepare_get_object(self, param):
method complete_post_object (line 1882) | async def complete_post_object(self, param):
method get_new_arrived_notifications (line 1895) | async def get_new_arrived_notifications(self, param):
method get_specific_meta (line 1912) | async def get_specific_meta(self, param):
method get_persistence_info (line 1927) | async def get_persistence_info(self, owner_id, slot_id):
method get_persistence_infos (line 1943) | async def get_persistence_infos(self, owner_id, slot_ids):
method perpetuate_object (line 1961) | async def perpetuate_object(self, persistence_slot_id, data_id, delete...
method unperpetuate_object (line 1976) | async def unperpetuate_object(self, persistence_slot_id, delete_last_o...
method prepare_get_object_or_meta_binary (line 1990) | async def prepare_get_object_or_meta_binary(self, param):
method get_password_info (line 2007) | async def get_password_info(self, data_id):
method get_password_infos (line 2022) | async def get_password_infos(self, data_ids):
method get_metas_multiple_param (line 2039) | async def get_metas_multiple_param(self, params):
method complete_post_objects (line 2056) | async def complete_post_objects(self, data_ids):
method change_meta (line 2069) | async def change_meta(self, param):
method change_metas (line 2082) | async def change_metas(self, data_ids, param, transactional):
method rate_objects (line 2099) | async def rate_objects(self, targets, param, transactional, fetch_rati...
method post_meta_binary_with_data_id (line 2119) | async def post_meta_binary_with_data_id(self, data_id, param):
method post_meta_binaries_with_data_id (line 2133) | async def post_meta_binaries_with_data_id(self, data_ids, param, trans...
method rate_object_with_posting (line 2150) | async def rate_object_with_posting(self, target, rate_param, post_para...
method rate_objects_with_posting (line 2168) | async def rate_objects_with_posting(self, targets, rate_param, post_pa...
method get_object_infos (line 2189) | async def get_object_infos(self, data_ids):
method search_object_light (line 2206) | async def search_object_light(self, param):
method search_mii (line 2221) | async def search_mii(self, param):
class DataStoreServerMiitopia3DS (line 2237) | class DataStoreServerMiitopia3DS(DataStoreProtocolMiitopia3DS):
method __init__ (line 2238) | def __init__(self):
method logout (line 2289) | async def logout(self, client):
method handle (line 2292) | async def handle(self, client, method_id, input, output):
method handle_prepare_get_object_v1 (line 2299) | async def handle_prepare_get_object_v1(self, client, input, output):
method handle_prepare_post_object_v1 (line 2310) | async def handle_prepare_post_object_v1(self, client, input, output):
method handle_complete_post_object_v1 (line 2321) | async def handle_complete_post_object_v1(self, client, input, output):
method handle_delete_object (line 2327) | async def handle_delete_object(self, client, input, output):
method handle_delete_objects (line 2333) | async def handle_delete_objects(self, client, input, output):
method handle_change_meta_v1 (line 2345) | async def handle_change_meta_v1(self, client, input, output):
method handle_change_metas_v1 (line 2351) | async def handle_change_metas_v1(self, client, input, output):
method handle_get_meta (line 2364) | async def handle_get_meta(self, client, input, output):
method handle_get_metas (line 2375) | async def handle_get_metas(self, client, input, output):
method handle_prepare_update_object (line 2391) | async def handle_prepare_update_object(self, client, input, output):
method handle_complete_update_object (line 2402) | async def handle_complete_update_object(self, client, input, output):
method handle_search_object (line 2408) | async def handle_search_object(self, client, input, output):
method handle_get_notification_url (line 2419) | async def handle_get_notification_url(self, client, input, output):
method handle_get_new_arrived_notifications_v1 (line 2430) | async def handle_get_new_arrived_notifications_v1(self, client, input,...
method handle_rate_object (line 2445) | async def handle_rate_object(self, client, input, output):
method handle_get_rating (line 2458) | async def handle_get_rating(self, client, input, output):
method handle_get_ratings (line 2470) | async def handle_get_ratings(self, client, input, output):
method handle_reset_rating (line 2486) | async def handle_reset_rating(self, client, input, output):
method handle_reset_ratings (line 2493) | async def handle_reset_ratings(self, client, input, output):
method handle_get_specific_meta_v1 (line 2505) | async def handle_get_specific_meta_v1(self, client, input, output):
method handle_post_meta_binary (line 2516) | async def handle_post_meta_binary(self, client, input, output):
method handle_touch_object (line 2527) | async def handle_touch_object(self, client, input, output):
method handle_get_rating_with_log (line 2533) | async def handle_get_rating_with_log(self, client, input, output):
method handle_prepare_post_object (line 2549) | async def handle_prepare_post_object(self, client, input, output):
method handle_prepare_get_object (line 2560) | async def handle_prepare_get_object(self, client, input, output):
method handle_complete_post_object (line 2571) | async def handle_complete_post_object(self, client, input, output):
method handle_get_new_arrived_notifications (line 2577) | async def handle_get_new_arrived_notifications(self, client, input, ou...
method handle_get_specific_meta (line 2592) | async def handle_get_specific_meta(self, client, input, output):
method handle_get_persistence_info (line 2603) | async def handle_get_persistence_info(self, client, input, output):
method handle_get_persistence_infos (line 2615) | async def handle_get_persistence_infos(self, client, input, output):
method handle_perpetuate_object (line 2631) | async def handle_perpetuate_object(self, client, input, output):
method handle_unperpetuate_object (line 2639) | async def handle_unperpetuate_object(self, client, input, output):
method handle_prepare_get_object_or_meta_binary (line 2646) | async def handle_prepare_get_object_or_meta_binary(self, client, input...
method handle_get_password_info (line 2661) | async def handle_get_password_info(self, client, input, output):
method handle_get_password_infos (line 2672) | async def handle_get_password_infos(self, client, input, output):
method handle_get_metas_multiple_param (line 2687) | async def handle_get_metas_multiple_param(self, client, input, output):
method handle_complete_post_objects (line 2702) | async def handle_complete_post_objects(self, client, input, output):
method handle_change_meta (line 2708) | async def handle_change_meta(self, client, input, output):
method handle_change_metas (line 2714) | async def handle_change_metas(self, client, input, output):
method handle_rate_objects (line 2727) | async def handle_rate_objects(self, client, input, output):
method handle_post_meta_binary_with_data_id (line 2745) | async def handle_post_meta_binary_with_data_id(self, client, input, ou...
method handle_post_meta_binaries_with_data_id (line 2752) | async def handle_post_meta_binaries_with_data_id(self, client, input, ...
method handle_rate_object_with_posting (line 2765) | async def handle_rate_object_with_posting(self, client, input, output):
method handle_rate_objects_with_posting (line 2779) | async def handle_rate_objects_with_posting(self, client, input, output):
method handle_get_object_infos (line 2798) | async def handle_get_object_infos(self, client, input, output):
method handle_search_object_light (line 2813) | async def handle_search_object_light(self, client, input, output):
method handle_search_mii (line 2824) | async def handle_search_mii(self, client, input, output):
method prepare_get_object_v1 (line 2835) | async def prepare_get_object_v1(self, *args):
method prepare_post_object_v1 (line 2839) | async def prepare_post_object_v1(self, *args):
method complete_post_object_v1 (line 2843) | async def complete_post_object_v1(self, *args):
method delete_object (line 2847) | async def delete_object(self, *args):
method delete_objects (line 2851) | async def delete_objects(self, *args):
method change_meta_v1 (line 2855) | async def change_meta_v1(self, *args):
method change_metas_v1 (line 2859) | async def change_metas_v1(self, *args):
method get_meta (line 2863) | async def get_meta(self, *args):
method get_metas (line 2867) | async def get_metas(self, *args):
method prepare_update_object (line 2871) | async def prepare_update_object(self, *args):
method complete_update_object (line 2875) | async def complete_update_object(self, *args):
method search_object (line 2879) | async def search_object(self, *args):
method get_notification_url (line 2883) | async def get_notification_url(self, *args):
method get_new_arrived_notifications_v1 (line 2887) | async def get_new_arrived_notifications_v1(self, *args):
method rate_object (line 2891) | async def rate_object(self, *args):
method get_rating (line 2895) | async def get_rating(self, *args):
method get_ratings (line 2899) | async def get_ratings(self, *args):
method reset_rating (line 2903) | async def reset_rating(self, *args):
method reset_ratings (line 2907) | async def reset_ratings(self, *args):
method get_specific_meta_v1 (line 2911) | async def get_specific_meta_v1(self, *args):
method post_meta_binary (line 2915) | async def post_meta_binary(self, *args):
method touch_object (line 2919) | async def touch_object(self, *args):
method get_rating_with_log (line 2923) | async def get_rating_with_log(self, *args):
method prepare_post_object (line 2927) | async def prepare_post_object(self, *args):
method prepare_get_object (line 2931) | async def prepare_get_object(self, *args):
method complete_post_object (line 2935) | async def complete_post_object(self, *args):
method get_new_arrived_notifications (line 2939) | async def get_new_arrived_notifications(self, *args):
method get_specific_meta (line 2943) | async def get_specific_meta(self, *args):
method get_persistence_info (line 2947) | async def get_persistence_info(self, *args):
method get_persistence_infos (line 2951) | async def get_persistence_infos(self, *args):
method perpetuate_object (line 2955) | async def perpetuate_object(self, *args):
method unperpetuate_object (line 2959) | async def unperpetuate_object(self, *args):
method prepare_get_object_or_meta_binary (line 2963) | async def prepare_get_object_or_meta_binary(self, *args):
method get_password_info (line 2967) | async def get_password_info(self, *args):
method get_password_infos (line 2971) | async def get_password_infos(self, *args):
method get_metas_multiple_param (line 2975) | async def get_metas_multiple_param(self, *args):
method complete_post_objects (line 2979) | async def complete_post_objects(self, *args):
method change_meta (line 2983) | async def change_meta(self, *args):
method change_metas (line 2987) | async def change_metas(self, *args):
method rate_objects (line 2991) | async def rate_objects(self, *args):
method post_meta_binary_with_data_id (line 2995) | async def post_meta_binary_with_data_id(self, *args):
method post_meta_binaries_with_data_id (line 2999) | async def post_meta_binaries_with_data_id(self, *args):
method rate_object_with_posting (line 3003) | async def rate_object_with_posting(self, *args):
method rate_objects_with_posting (line 3007) | async def rate_objects_with_posting(self, *args):
method get_object_infos (line 3011) | async def get_object_infos(self, *args):
method search_object_light (line 3015) | async def search_object_light(self, *args):
method search_mii (line 3019) | async def search_mii(self, *args):
FILE: nintendo/nex/datastore_smm.py
class DataStoreChangeMetaCompareParam (line 10) | class DataStoreChangeMetaCompareParam(common.Structure):
method __init__ (line 11) | def __init__(self):
method check_required (line 24) | def check_required(self, settings, version):
method load (line 29) | def load(self, stream, version):
method save (line 41) | def save(self, stream, version):
class DataStoreChangeMetaParam (line 55) | class DataStoreChangeMetaParam(common.Structure):
method __init__ (line 56) | def __init__(self):
method check_required (line 73) | def check_required(self, settings, version):
method load (line 78) | def load(self, stream, version):
method save (line 94) | def save(self, stream, version):
class DataStoreChangeMetaParamV1 (line 112) | class DataStoreChangeMetaParamV1(common.Structure):
method __init__ (line 113) | def __init__(self):
method check_required (line 125) | def check_required(self, settings, version):
method load (line 130) | def load(self, stream, version):
method save (line 141) | def save(self, stream, version):
class DataStoreCompletePostParam (line 154) | class DataStoreCompletePostParam(common.Structure):
method __init__ (line 155) | def __init__(self):
method check_required (line 160) | def check_required(self, settings, version):
method load (line 165) | def load(self, stream, version):
method save (line 169) | def save(self, stream, version):
class DataStoreCompletePostParamV1 (line 175) | class DataStoreCompletePostParamV1(common.Structure):
method __init__ (line 176) | def __init__(self):
method check_required (line 181) | def check_required(self, settings, version):
method load (line 186) | def load(self, stream, version):
method save (line 190) | def save(self, stream, version):
class DataStoreCompleteUpdateParam (line 196) | class DataStoreCompleteUpdateParam(common.Structure):
method __init__ (line 197) | def __init__(self):
method check_required (line 203) | def check_required(self, settings, version):
method load (line 208) | def load(self, stream, version):
method save (line 213) | def save(self, stream, version):
class DataStoreDeleteParam (line 220) | class DataStoreDeleteParam(common.Structure):
method __init__ (line 221) | def __init__(self):
method check_required (line 226) | def check_required(self, settings, version):
method load (line 231) | def load(self, stream, version):
method save (line 235) | def save(self, stream, version):
class DataStoreGetMetaParam (line 241) | class DataStoreGetMetaParam(common.Structure):
method __init__ (line 242) | def __init__(self):
method check_required (line 249) | def check_required(self, settings, version):
method load (line 252) | def load(self, stream, version):
method save (line 258) | def save(self, stream, version):
class DataStoreGetNewArrivedNotificationsParam (line 266) | class DataStoreGetNewArrivedNotificationsParam(common.Structure):
method __init__ (line 267) | def __init__(self):
method check_required (line 272) | def check_required(self, settings, version):
method load (line 277) | def load(self, stream, version):
method save (line 281) | def save(self, stream, version):
class DataStoreGetNotificationUrlParam (line 287) | class DataStoreGetNotificationUrlParam(common.Structure):
method __init__ (line 288) | def __init__(self):
method check_required (line 292) | def check_required(self, settings, version):
method load (line 297) | def load(self, stream, version):
method save (line 300) | def save(self, stream, version):
class DataStoreGetSpecificMetaParam (line 305) | class DataStoreGetSpecificMetaParam(common.Structure):
method __init__ (line 306) | def __init__(self):
method check_required (line 310) | def check_required(self, settings, version):
method load (line 315) | def load(self, stream, version):
method save (line 318) | def save(self, stream, version):
class DataStoreGetSpecificMetaParamV1 (line 323) | class DataStoreGetSpecificMetaParamV1(common.Structure):
method __init__ (line 324) | def __init__(self):
method check_required (line 328) | def check_required(self, settings, version):
method load (line 333) | def load(self, stream, version):
method save (line 336) | def save(self, stream, version):
class DataStoreKeyValue (line 341) | class DataStoreKeyValue(common.Structure):
method __init__ (line 342) | def __init__(self):
method check_required (line 347) | def check_required(self, settings, version):
method load (line 352) | def load(self, stream, version):
method save (line 356) | def save(self, stream, version):
class DataStoreMetaInfo (line 362) | class DataStoreMetaInfo(common.Structure):
method __init__ (line 363) | def __init__(self):
method check_required (line 385) | def check_required(self, settings, version):
method load (line 390) | def load(self, stream, version):
method save (line 411) | def save(self, stream, version):
class DataStoreNotification (line 434) | class DataStoreNotification(common.Structure):
method __init__ (line 435) | def __init__(self):
method check_required (line 440) | def check_required(self, settings, version):
method load (line 445) | def load(self, stream, version):
method save (line 449) | def save(self, stream, version):
class DataStoreNotificationV1 (line 455) | class DataStoreNotificationV1(common.Structure):
method __init__ (line 456) | def __init__(self):
method check_required (line 461) | def check_required(self, settings, version):
method load (line 466) | def load(self, stream, version):
method save (line 470) | def save(self, stream, version):
class DataStorePasswordInfo (line 476) | class DataStorePasswordInfo(common.Structure):
method __init__ (line 477) | def __init__(self):
method check_required (line 483) | def check_required(self, settings, version):
method load (line 488) | def load(self, stream, version):
method save (line 493) | def save(self, stream, version):
class DataStorePermission (line 500) | class DataStorePermission(common.Structure):
method __init__ (line 501) | def __init__(self):
method check_required (line 506) | def check_required(self, settings, version):
method load (line 509) | def load(self, stream, version):
method save (line 513) | def save(self, stream, version):
class DataStorePersistenceInfo (line 519) | class DataStorePersistenceInfo(common.Structure):
method __init__ (line 520) | def __init__(self):
method check_required (line 526) | def check_required(self, settings, version):
method load (line 531) | def load(self, stream, version):
method save (line 536) | def save(self, stream, version):
class DataStorePersistenceInitParam (line 543) | class DataStorePersistenceInitParam(common.Structure):
method __init__ (line 544) | def __init__(self):
method check_required (line 549) | def check_required(self, settings, version):
method load (line 552) | def load(self, stream, version):
method save (line 556) | def save(self, stream, version):
class DataStorePersistenceTarget (line 562) | class DataStorePersistenceTarget(common.Structure):
method __init__ (line 563) | def __init__(self):
method check_required (line 568) | def check_required(self, settings, version):
method load (line 571) | def load(self, stream, version):
method save (line 575) | def save(self, stream, version):
class DataStorePrepareGetParam (line 581) | class DataStorePrepareGetParam(common.Structure):
method __init__ (line 582) | def __init__(self):
method check_required (line 590) | def check_required(self, settings, version):
method load (line 594) | def load(self, stream, version):
method save (line 602) | def save(self, stream, version):
class DataStorePrepareGetParamV1 (line 612) | class DataStorePrepareGetParamV1(common.Structure):
method __init__ (line 613) | def __init__(self):
method check_required (line 618) | def check_required(self, settings, version):
method load (line 623) | def load(self, stream, version):
method save (line 627) | def save(self, stream, version):
class DataStorePreparePostParam (line 633) | class DataStorePreparePostParam(common.Structure):
method __init__ (line 634) | def __init__(self):
method check_required (line 650) | def check_required(self, settings, version):
method load (line 659) | def load(self, stream, version):
method save (line 675) | def save(self, stream, version):
class DataStorePreparePostParamV1 (line 693) | class DataStorePreparePostParamV1(common.Structure):
method __init__ (line 694) | def __init__(self):
method check_required (line 708) | def check_required(self, settings, version):
method load (line 713) | def load(self, stream, version):
method save (line 726) | def save(self, stream, version):
class DataStorePrepareUpdateParam (line 741) | class DataStorePrepareUpdateParam(common.Structure):
method __init__ (line 742) | def __init__(self):
method check_required (line 749) | def check_required(self, settings, version):
method load (line 754) | def load(self, stream, version):
method save (line 760) | def save(self, stream, version):
class DataStoreRateObjectParam (line 768) | class DataStoreRateObjectParam(common.Structure):
method __init__ (line 769) | def __init__(self):
method check_required (line 774) | def check_required(self, settings, version):
method load (line 779) | def load(self, stream, version):
method save (line 783) | def save(self, stream, version):
class DataStoreRatingInfo (line 789) | class DataStoreRatingInfo(common.Structure):
method __init__ (line 790) | def __init__(self):
method check_required (line 796) | def check_required(self, settings, version):
method load (line 801) | def load(self, stream, version):
method save (line 806) | def save(self, stream, version):
class DataStoreRatingInfoWithSlot (line 813) | class DataStoreRatingInfoWithSlot(common.Structure):
method __init__ (line 814) | def __init__(self):
method check_required (line 819) | def check_required(self, settings, version):
method load (line 824) | def load(self, stream, version):
method save (line 828) | def save(self, stream, version):
class DataStoreRatingInitParam (line 834) | class DataStoreRatingInitParam(common.Structure):
method __init__ (line 835) | def __init__(self):
method check_required (line 846) | def check_required(self, settings, version):
method load (line 851) | def load(self, stream, version):
method save (line 861) | def save(self, stream, version):
class DataStoreRatingInitParamWithSlot (line 873) | class DataStoreRatingInitParamWithSlot(common.Structure):
method __init__ (line 874) | def __init__(self):
method check_required (line 879) | def check_required(self, settings, version):
method load (line 884) | def load(self, stream, version):
method save (line 888) | def save(self, stream, version):
class DataStoreRatingLog (line 894) | class DataStoreRatingLog(common.Structure):
method __init__ (line 895) | def __init__(self):
method check_required (line 902) | def check_required(self, settings, version):
method load (line 907) | def load(self, stream, version):
method save (line 913) | def save(self, stream, version):
class DataStoreRatingTarget (line 921) | class DataStoreRatingTarget(common.Structure):
method __init__ (line 922) | def __init__(self):
method check_required (line 927) | def check_required(self, settings, version):
method load (line 932) | def load(self, stream, version):
method save (line 936) | def save(self, stream, version):
class DataStoreReqGetAdditionalMeta (line 942) | class DataStoreReqGetAdditionalMeta(common.Structure):
method __init__ (line 943) | def __init__(self):
method check_required (line 950) | def check_required(self, settings, version):
method load (line 955) | def load(self, stream, version):
method save (line 961) | def save(self, stream, version):
class DataStoreReqGetInfo (line 969) | class DataStoreReqGetInfo(common.Structure):
method __init__ (line 970) | def __init__(self):
method check_required (line 978) | def check_required(self, settings, version):
method load (line 987) | def load(self, stream, version):
method save (line 995) | def save(self, stream, version):
class DataStoreReqGetInfoV1 (line 1005) | class DataStoreReqGetInfoV1(common.Structure):
method __init__ (line 1006) | def __init__(self):
method check_required (line 1013) | def check_required(self, settings, version):
method load (line 1018) | def load(self, stream, version):
method save (line 1024) | def save(self, stream, version):
class DataStoreReqGetNotificationUrlInfo (line 1032) | class DataStoreReqGetNotificationUrlInfo(common.Structure):
method __init__ (line 1033) | def __init__(self):
method check_required (line 1040) | def check_required(self, settings, version):
method load (line 1045) | def load(self, stream, version):
method save (line 1051) | def save(self, stream, version):
class DataStoreReqPostInfo (line 1059) | class DataStoreReqPostInfo(common.Structure):
method __init__ (line 1060) | def __init__(self):
method check_required (line 1068) | def check_required(self, settings, version):
method load (line 1073) | def load(self, stream, version):
method save (line 1080) | def save(self, stream, version):
class DataStoreReqPostInfoV1 (line 1089) | class DataStoreReqPostInfoV1(common.Structure):
method __init__ (line 1090) | def __init__(self):
method check_required (line 1098) | def check_required(self, settings, version):
method load (line 1103) | def load(self, stream, version):
method save (line 1110) | def save(self, stream, version):
class DataStoreReqUpdateInfo (line 1119) | class DataStoreReqUpdateInfo(common.Structure):
method __init__ (line 1120) | def __init__(self):
method check_required (line 1128) | def check_required(self, settings, version):
method load (line 1133) | def load(self, stream, version):
method save (line 1140) | def save(self, stream, version):
class DataStoreSearchParam (line 1149) | class DataStoreSearchParam(common.Structure):
method __init__ (line 1150) | def __init__(self):
method check_required (line 1172) | def check_required(self, settings, version):
method load (line 1175) | def load(self, stream, version):
method save (line 1196) | def save(self, stream, version):
class DataStoreSearchResult (line 1219) | class DataStoreSearchResult(common.Structure):
method __init__ (line 1220) | def __init__(self):
method check_required (line 1226) | def check_required(self, settings, version):
method load (line 1231) | def load(self, stream, version):
method save (line 1236) | def save(self, stream, version):
class DataStoreSpecificMetaInfo (line 1243) | class DataStoreSpecificMetaInfo(common.Structure):
method __init__ (line 1244) | def __init__(self):
method check_required (line 1252) | def check_required(self, settings, version):
method load (line 1257) | def load(self, stream, version):
method save (line 1264) | def save(self, stream, version):
class DataStoreSpecificMetaInfoV1 (line 1273) | class DataStoreSpecificMetaInfoV1(common.Structure):
method __init__ (line 1274) | def __init__(self):
method check_required (line 1282) | def check_required(self, settings, version):
method load (line 1287) | def load(self, stream, version):
method save (line 1294) | def save(self, stream, version):
class DataStoreTouchObjectParam (line 1303) | class DataStoreTouchObjectParam(common.Structure):
method __init__ (line 1304) | def __init__(self):
method check_required (line 1310) | def check_required(self, settings, version):
method load (line 1315) | def load(self, stream, version):
method save (line 1320) | def save(self, stream, version):
class DataStoreProtocolSMM (line 1327) | class DataStoreProtocolSMM:
class DataStoreClientSMM (line 1380) | class DataStoreClientSMM(DataStoreProtocolSMM):
method __init__ (line 1381) | def __init__(self, client):
method prepare_get_object_v1 (line 1385) | async def prepare_get_object_v1(self, param):
method prepare_post_object_v1 (line 1400) | async def prepare_post_object_v1(self, param):
method complete_post_object_v1 (line 1415) | async def complete_post_object_v1(self, param):
method delete_object (line 1428) | async def delete_object(self, param):
method delete_objects (line 1441) | async def delete_objects(self, param, transactional):
method change_meta_v1 (line 1457) | async def change_meta_v1(self, param):
method change_metas_v1 (line 1470) | async def change_metas_v1(self, data_ids, param, transactional):
method get_meta (line 1487) | async def get_meta(self, param):
method get_metas (line 1502) | async def get_metas(self, data_ids, param):
method prepare_update_object (line 1520) | async def prepare_update_object(self, param):
method complete_update_object (line 1535) | async def complete_update_object(self, param):
method search_object (line 1548) | async def search_object(self, param):
method get_notification_url (line 1563) | async def get_notification_url(self, param):
method get_new_arrived_notifications_v1 (line 1578) | async def get_new_arrived_notifications_v1(self, param):
method rate_object (line 1595) | async def rate_object(self, target, param, fetch_ratings):
method get_rating (line 1612) | async def get_rating(self, target, access_password):
method get_ratings (line 1628) | async def get_ratings(self, data_ids, access_password):
method reset_rating (line 1646) | async def reset_rating(self, target, update_password):
method reset_ratings (line 1660) | async def reset_ratings(self, data_ids, transactional):
method get_specific_meta_v1 (line 1676) | async def get_specific_meta_v1(self, param):
method post_meta_binary (line 1691) | async def post_meta_binary(self, param):
method touch_object (line 1706) | async def touch_object(self, param):
method get_rating_with_log (line 1719) | async def get_rating_with_log(self, target, access_password):
method prepare_post_object (line 1737) | async def prepare_post_object(self, param):
method prepare_get_object (line 1752) | async def prepare_get_object(self, param):
method complete_post_object (line 1767) | async def complete_post_object(self, param):
method get_new_arrived_notifications (line 1780) | async def get_new_arrived_notifications(self, param):
method get_specific_meta (line 1797) | async def get_specific_meta(self, param):
method get_persistence_info (line 1812) | async def get_persistence_info(self, owner_id, slot_id):
method get_persistence_infos (line 1828) | async def get_persistence_infos(self, owner_id, slot_ids):
method perpetuate_object (line 1846) | async def perpetuate_object(self, persistence_slot_id, data_id, delete...
method unperpetuate_object (line 1861) | async def unperpetuate_object(self, persistence_slot_id, delete_last_o...
method prepare_get_object_or_meta_binary (line 1875) | async def prepare_get_object_or_meta_binary(self, param):
method get_password_info (line 1892) | async def get_password_info(self, data_id):
method get_password_infos (line 1907) | async def get_password_infos(self, data_ids):
method get_metas_multiple_param (line 1924) | async def get_metas_multiple_param(self, params):
method complete_post_objects (line 1941) | async def complete_post_objects(self, data_ids):
method change_meta (line 1954) | async def change_meta(self, param):
method change_metas (line 1967) | async def change_metas(self, data_ids, param, transactional):
method rate_objects (line 1984) | async def rate_objects(self, targets, param, transactional, fetch_rati...
method post_meta_binary_with_data_id (line 2004) | async def post_meta_binary_with_data_id(self, data_id, param):
method post_meta_binaries_with_data_id (line 2018) | async def post_meta_binaries_with_data_id(self, data_ids, param, trans...
method rate_object_with_posting (line 2035) | async def rate_object_with_posting(self, target, rate_param, post_para...
method rate_objects_with_posting (line 2053) | async def rate_objects_with_posting(self, targets, rate_param, post_pa...
method get_object_infos (line 2074) | async def get_object_infos(self, data_ids):
method search_object_light (line 2091) | async def search_object_light(self, param):
method get_application_config (line 2106) | async def get_application_config(self, id):
method get_application_config_string (line 2121) | async def get_application_config_string(self, id):
class DataStoreServerSMM (line 2137) | class DataStoreServerSMM(DataStoreProtocolSMM):
method __init__ (line 2138) | def __init__(self):
method logout (line 2190) | async def logout(self, client):
method handle (line 2193) | async def handle(self, client, method_id, input, output):
method handle_prepare_get_object_v1 (line 2200) | async def handle_prepare_get_object_v1(self, client, input, output):
method handle_prepare_post_object_v1 (line 2211) | async def handle_prepare_post_object_v1(self, client, input, output):
method handle_complete_post_object_v1 (line 2222) | async def handle_complete_post_object_v1(self, client, input, output):
method handle_delete_object (line 2228) | async def handle_delete_object(self, client, input, output):
method handle_delete_objects (line 2234) | async def handle_delete_objects(self, client, input, output):
method handle_change_meta_v1 (line 2246) | async def handle_change_meta_v1(self, client, input, output):
method handle_change_metas_v1 (line 2252) | async def handle_change_metas_v1(self, client, input, output):
method handle_get_meta (line 2265) | async def handle_get_meta(self, client, input, output):
method handle_get_metas (line 2276) | async def handle_get_metas(self, client, input, output):
method handle_prepare_update_object (line 2292) | async def handle_prepare_update_object(self, client, input, output):
method handle_complete_update_object (line 2303) | async def handle_complete_update_object(self, client, input, output):
method handle_search_object (line 2309) | async def handle_search_object(self, client, input, output):
method handle_get_notification_url (line 2320) | async def handle_get_notification_url(self, client, input, output):
method handle_get_new_arrived_notifications_v1 (line 2331) | async def handle_get_new_arrived_notifications_v1(self, client, input,...
method handle_rate_object (line 2346) | async def handle_rate_object(self, client, input, output):
method handle_get_rating (line 2359) | async def handle_get_rating(self, client, input, output):
method handle_get_ratings (line 2371) | async def handle_get_ratings(self, client, input, output):
method handle_reset_rating (line 2387) | async def handle_reset_rating(self, client, input, output):
method handle_reset_ratings (line 2394) | async def handle_reset_ratings(self, client, input, output):
method handle_get_specific_meta_v1 (line 2406) | async def handle_get_specific_meta_v1(self, client, input, output):
method handle_post_meta_binary (line 2417) | async def handle_post_meta_binary(self, client, input, output):
method handle_touch_object (line 2428) | async def handle_touch_object(self, client, input, output):
method handle_get_rating_with_log (line 2434) | async def handle_get_rating_with_log(self, client, input, output):
method handle_prepare_post_object (line 2450) | async def handle_prepare_post_object(self, client, input, output):
method handle_prepare_get_object (line 2461) | async def handle_prepare_get_object(self, client, input, output):
method handle_complete_post_object (line 2472) | async def handle_complete_post_object(self, client, input, output):
method handle_get_new_arrived_notifications (line 2478) | async def handle_get_new_arrived_notifications(self, client, input, ou...
method handle_get_specific_meta (line 2493) | async def handle_get_specific_meta(self, client, input, output):
method handle_get_persistence_info (line 2504) | async def handle_get_persistence_info(self, client, input, output):
method handle_get_persistence_infos (line 2516) | async def handle_get_persistence_infos(self, client, input, output):
method handle_perpetuate_object (line 2532) | async def handle_perpetuate_object(self, client, input, output):
method handle_unperpetuate_object (line 2540) | async def handle_unperpetuate_object(self, client, input, output):
method handle_prepare_get_object_or_meta_binary (line 2547) | async def handle_prepare_get_object_or_meta_binary(self, client, input...
method handle_get_password_info (line 2562) | async def handle_get_password_info(self, client, input, output):
method handle_get_password_infos (line 2573) | async def handle_get_password_infos(self, client, input, output):
method handle_get_metas_multiple_param (line 2588) | async def handle_get_metas_multiple_param(self, client, input, output):
method handle_complete_post_objects (line 2603) | async def handle_complete_post_objects(self, client, input, output):
method handle_change_meta (line 2609) | async def handle_change_meta(self, client, input, output):
method handle_change_metas (line 2615) | async def handle_change_metas(self, client, input, output):
method handle_rate_objects (line 2628) | async def handle_rate_objects(self, client, input, output):
method handle_post_meta_binary_with_data_id (line 2646) | async def handle_post_meta_binary_with_data_id(self, client, input, ou...
method handle_post_meta_binaries_with_data_id (line 2653) | async def handle_post_meta_binaries_with_data_id(self, client, input, ...
method handle_rate_object_with_posting (line 2666) | async def handle_rate_object_with_posting(self, client, input, output):
method handle_rate_objects_with_posting (line 2680) | async def handle_rate_objects_with_posting(self, client, input, output):
method handle_get_object_infos (line 2699) | async def handle_get_object_infos(self, client, input, output):
method handle_search_object_light (line 2714) | async def handle_search_object_light(self, client, input, output):
method handle_get_application_config (line 2725) | async def handle_get_application_config(self, client, input, output):
method handle_get_application_config_string (line 2736) | async def handle_get_application_config_string(self, client, input, ou...
method prepare_get_object_v1 (line 2747) | async def prepare_get_object_v1(self, *args):
method prepare_post_object_v1 (line 2751) | async def prepare_post_object_v1(self, *args):
method complete_post_object_v1 (line 2755) | async def complete_post_object_v1(self, *args):
method delete_object (line 2759) | async def delete_object(self, *args):
method delete_objects (line 2763) | async def delete_objects(self, *args):
method change_meta_v1 (line 2767) | async def change_meta_v1(self, *args):
method change_metas_v1 (line 2771) | async def change_metas_v1(self, *args):
method get_meta (line 2775) | async def get_meta(self, *args):
method get_metas (line 2779) | async def get_metas(self, *args):
method prepare_update_object (line 2783) | async def prepare_update_object(self, *args):
method complete_update_object (line 2787) | async def complete_update_object(self, *args):
method search_object (line 2791) | async def search_object(self, *args):
method get_notification_url (line 2795) | async def get_notification_url(self, *args):
method get_new_arrived_notifications_v1 (line 2799) | async def get_new_arrived_notifications_v1(self, *args):
method rate_object (line 2803) | async def rate_object(self, *args):
method get_rating (line 2807) | async def get_rating(self, *args):
method get_ratings (line 2811) | async def get_ratings(self, *args):
method reset_rating (line 2815) | async def reset_rating(self, *args):
method reset_ratings (line 2819) | async def reset_ratings(self, *args):
method get_specific_meta_v1 (line 2823) | async def get_specific_meta_v1(self, *args):
method post_meta_binary (line 2827) | async def post_meta_binary(self, *args):
method touch_object (line 2831) | async def touch_object(self, *args):
method get_rating_with_log (line 2835) | async def get_rating_with_log(self, *args):
method prepare_post_object (line 2839) | async def prepare_post_object(self, *args):
method prepare_get_object (line 2843) | async def prepare_get_object(self, *args):
method complete_post_object (line 2847) | async def complete_post_object(self, *args):
method get_new_arrived_notifications (line 2851) | async def get_new_arrived_notifications(self, *args):
method get_specific_meta (line 2855) | async def get_specific_meta(self, *args):
method get_persistence_info (line 2859) | async def get_persistence_info(self, *args):
method get_persistence_infos (line 2863) | async def get_persistence_infos(self, *args):
method perpetuate_object (line 2867) | async def perpetuate_object(self, *args):
method unperpetuate_object (line 2871) | async def unperpetuate_object(self, *args):
method prepare_get_object_or_meta_binary (line 2875) | async def prepare_get_object_or_meta_binary(self, *args):
method get_password_info (line 2879) | async def get_password_info(self, *args):
method get_password_infos (line 2883) | async def get_password_infos(self, *args):
method get_metas_multiple_param (line 2887) | async def get_metas_multiple_param(self, *args):
method complete_post_objects (line 2891) | async def complete_post_objects(self, *args):
method change_meta (line 2895) | async def change_meta(self, *args):
method change_metas (line 2899) | async def change_metas(self, *args):
method rate_objects (line 2903) | async def rate_objects(self, *args):
method post_meta_binary_with_data_id (line 2907) | async def post_meta_binary_with_data_id(self, *args):
method post_meta_binaries_with_data_id (line 2911) | async def post_meta_binaries_with_data_id(self, *args):
method rate_object_with_posting (line 2915) | async def rate_object_with_posting(self, *args):
method rate_objects_with_posting (line 2919) | async def rate_objects_with_posting(self, *args):
method get_object_infos (line 2923) | async def get_object_infos(self, *args):
method search_object_light (line 2927) | async def search_object_light(self, *args):
method get_application_config (line 2931) | async def get_application_config(self, *args):
method get_application_config_string (line 2935) | async def get_application_config_string(self, *args):
FILE: nintendo/nex/datastore_smm2.py
class ClearCondition (line 10) | class ClearCondition:
class CourseDifficulty (line 16) | class CourseDifficulty:
class CourseTag (line 23) | class CourseTag:
class CourseTheme (line 36) | class CourseTheme:
class GameStyle (line 49) | class GameStyle:
class MultiplayerStatsKeys (line 57) | class MultiplayerStatsKeys:
class PlayStatsKeys (line 65) | class PlayStatsKeys:
class CourseOption (line 72) | class CourseOption:
class EventCourseOption (line 85) | class EventCourseOption:
class UserOption (line 97) | class UserOption:
class DataStoreChangeMetaCompareParam (line 114) | class DataStoreChangeMetaCompareParam(common.Structure):
method __init__ (line 115) | def __init__(self):
method check_required (line 128) | def check_required(self, settings, version):
method load (line 133) | def load(self, stream, version):
method save (line 145) | def save(self, stream, version):
class DataStoreChangeMetaParam (line 159) | class DataStoreChangeMetaParam(common.Structure):
method __init__ (line 160) | def __init__(self):
method check_required (line 177) | def check_required(self, settings, version):
method load (line 182) | def load(self, stream, version):
method save (line 198) | def save(self, stream, version):
class DataStoreChangeMetaParamV1 (line 216) | class DataStoreChangeMetaParamV1(common.Structure):
method __init__ (line 217) | def __init__(self):
method check_required (line 229) | def check_required(self, settings, version):
method load (line 234) | def load(self, stream, version):
method save (line 245) | def save(self, stream, version):
class DataStoreCompletePostParam (line 258) | class DataStoreCompletePostParam(common.Structure):
method __init__ (line 259) | def __init__(self):
method check_required (line 264) | def check_required(self, settings, version):
method load (line 269) | def load(self, stream, version):
method save (line 273) | def save(self, stream, version):
class DataStoreCompletePostParamV1 (line 279) | class DataStoreCompletePostParamV1(common.Structure):
method __init__ (line 280) | def __init__(self):
method check_required (line 285) | def check_required(self, settings, version):
method load (line 290) | def load(self, stream, version):
method save (line 294) | def save(self, stream, version):
class DataStoreCompleteUpdateParam (line 300) | class DataStoreCompleteUpdateParam(common.Structure):
method __init__ (line 301) | def __init__(self):
method check_required (line 307) | def check_required(self, settings, version):
method load (line 312) | def load(self, stream, version):
method save (line 317) | def save(self, stream, version):
class DataStoreDeleteParam (line 324) | class DataStoreDeleteParam(common.Structure):
method __init__ (line 325) | def __init__(self):
method check_required (line 330) | def check_required(self, settings, version):
method load (line 335) | def load(self, stream, version):
method save (line 339) | def save(self, stream, version):
class DataStoreGetMetaParam (line 345) | class DataStoreGetMetaParam(common.Structure):
method __init__ (line 346) | def __init__(self):
method check_required (line 353) | def check_required(self, settings, version):
method load (line 356) | def load(self, stream, version):
method save (line 362) | def save(self, stream, version):
class DataStoreGetNewArrivedNotificationsParam (line 370) | class DataStoreGetNewArrivedNotificationsParam(common.Structure):
method __init__ (line 371) | def __init__(self):
method check_required (line 376) | def check_required(self, settings, version):
method load (line 381) | def load(self, stream, version):
method save (line 385) | def save(self, stream, version):
class DataStoreGetNotificationUrlParam (line 391) | class DataStoreGetNotificationUrlParam(common.Structure):
method __init__ (line 392) | def __init__(self):
method check_required (line 396) | def check_required(self, settings, version):
method load (line 401) | def load(self, stream, version):
method save (line 404) | def save(self, stream, version):
class DataStoreGetSpecificMetaParam (line 409) | class DataStoreGetSpecificMetaParam(common.Structure):
method __init__ (line 410) | def __init__(self):
method check_required (line 414) | def check_required(self, settings, version):
method load (line 419) | def load(self, stream, version):
method save (line 422) | def save(self, stream, version):
class DataStoreGetSpecificMetaParamV1 (line 427) | class DataStoreGetSpecificMetaParamV1(common.Structure):
method __init__ (line 428) | def __init__(self):
method check_required (line 432) | def check_required(self, settings, version):
method load (line 437) | def load(self, stream, version):
method save (line 440) | def save(self, stream, version):
class DataStoreKeyValue (line 445) | class DataStoreKeyValue(common.Structure):
method __init__ (line 446) | def __init__(self):
method check_required (line 451) | def check_required(self, settings, version):
method load (line 456) | def load(self, stream, version):
method save (line 460) | def save(self, stream, version):
class DataStoreMetaInfo (line 466) | class DataStoreMetaInfo(common.Structure):
method __init__ (line 467) | def __init__(self):
method check_required (line 489) | def check_required(self, settings, version):
method load (line 494) | def load(self, stream, version):
method save (line 515) | def save(self, stream, version):
class DataStoreNotification (line 538) | class DataStoreNotification(common.Structure):
method __init__ (line 539) | def __init__(self):
method check_required (line 544) | def check_required(self, settings, version):
method load (line 549) | def load(self, stream, version):
method save (line 553) | def save(self, stream, version):
class DataStoreNotificationV1 (line 559) | class DataStoreNotificationV1(common.Structure):
method __init__ (line 560) | def __init__(self):
method check_required (line 565) | def check_required(self, settings, version):
method load (line 570) | def load(self, stream, version):
method save (line 574) | def save(self, stream, version):
class DataStorePasswordInfo (line 580) | class DataStorePasswordInfo(common.Structure):
method __init__ (line 581) | def __init__(self):
method check_required (line 587) | def check_required(self, settings, version):
method load (line 592) | def load(self, stream, version):
method save (line 597) | def save(self, stream, version):
class DataStorePermission (line 604) | class DataStorePermission(common.Structure):
method __init__ (line 605) | def __init__(self):
method check_required (line 610) | def check_required(self, settings, version):
method load (line 613) | def load(self, stream, version):
method save (line 617) | def save(self, stream, version):
class DataStorePersistenceInfo (line 623) | class DataStorePersistenceInfo(common.Structure):
method __init__ (line 624) | def __init__(self):
method check_required (line 630) | def check_required(self, settings, version):
method load (line 635) | def load(self, stream, version):
method save (line 640) | def save(self, stream, version):
class DataStorePersistenceInitParam (line 647) | class DataStorePersistenceInitParam(common.Structure):
method __init__ (line 648) | def __init__(self):
method check_required (line 653) | def check_required(self, settings, version):
method load (line 656) | def load(self, stream, version):
method save (line 660) | def save(self, stream, version):
class DataStorePersistenceTarget (line 666) | class DataStorePersistenceTarget(common.Structure):
method __init__ (line 667) | def __init__(self):
method check_required (line 672) | def check_required(self, settings, version):
method load (line 675) | def load(self, stream, version):
method save (line 679) | def save(self, stream, version):
class DataStorePrepareGetParam (line 685) | class DataStorePrepareGetParam(common.Structure):
method __init__ (line 686) | def __init__(self):
method check_required (line 694) | def check_required(self, settings, version):
method load (line 698) | def load(self, stream, version):
method save (line 706) | def save(self, stream, version):
class DataStorePrepareGetParamV1 (line 716) | class DataStorePrepareGetParamV1(common.Structure):
method __init__ (line 717) | def __init__(self):
method check_required (line 722) | def check_required(self, settings, version):
method load (line 727) | def load(self, stream, version):
method save (line 731) | def save(self, stream, version):
class DataStorePreparePostParam (line 737) | class DataStorePreparePostParam(common.Structure):
method __init__ (line 738) | def __init__(self):
method check_required (line 754) | def check_required(self, settings, version):
method load (line 763) | def load(self, stream, version):
method save (line 779) | def save(self, stream, version):
class DataStorePreparePostParamV1 (line 797) | class DataStorePreparePostParamV1(common.Structure):
method __init__ (line 798) | def __init__(self):
method check_required (line 812) | def check_required(self, settings, version):
method load (line 817) | def load(self, stream, version):
method save (line 830) | def save(self, stream, version):
class DataStorePrepareUpdateParam (line 845) | class DataStorePrepareUpdateParam(common.Structure):
method __init__ (line 846) | def __init__(self):
method check_required (line 853) | def check_required(self, settings, version):
method load (line 858) | def load(self, stream, version):
method save (line 864) | def save(self, stream, version):
class DataStoreRateObjectParam (line 872) | class DataStoreRateObjectParam(common.Structure):
method __init__ (line 873) | def __init__(self):
method check_required (line 878) | def check_required(self, settings, version):
method load (line 883) | def load(self, stream, version):
method save (line 887) | def save(self, stream, version):
class DataStoreRatingInfo (line 893) | class DataStoreRatingInfo(common.Structure):
method __init__ (line 894) | def __init__(self):
method check_required (line 900) | def check_required(self, settings, version):
method load (line 905) | def load(self, stream, version):
method save (line 910) | def save(self, stream, version):
class DataStoreRatingInfoWithSlot (line 917) | class DataStoreRatingInfoWithSlot(common.Structure):
method __init__ (line 918) | def __init__(self):
method check_required (line 923) | def check_required(self, settings, version):
method load (line 928) | def load(self, stream, version):
method save (line 932) | def save(self, stream, version):
class DataStoreRatingInitParam (line 938) | class DataStoreRatingInitParam(common.Structure):
method __init__ (line 939) | def __init__(self):
method check_required (line 950) | def check_required(self, settings, version):
method load (line 955) | def load(self, stream, version):
method save (line 965) | def save(self, stream, version):
class DataStoreRatingInitParamWithSlot (line 977) | class DataStoreRatingInitParamWithSlot(common.Structure):
method __init__ (line 978) | def __init__(self):
method check_required (line 983) | def check_required(self, settings, version):
method load (line 988) | def load(self, stream, version):
method save (line 992) | def save(self, stream, version):
class DataStoreRatingLog (line 998) | class DataStoreRatingLog(common.Structure):
method __init__ (line 999) | def __init__(self):
method check_required (line 1006) | def check_required(self, settings, version):
method load (line 1011) | def load(self, stream, version):
method save (line 1017) | def save(self, stream, version):
class DataStoreRatingTarget (line 1025) | class DataStoreRatingTarget(common.Structure):
method __init__ (line 1026) | def __init__(self):
method check_required (line 1031) | def check_required(self, settings, version):
method load (line 1036) | def load(self, stream, version):
method save (line 1040) | def save(self, stream, version):
class DataStoreReqGetAdditionalMeta (line 1046) | class DataStoreReqGetAdditionalMeta(common.Structure):
method __init__ (line 1047) | def __init__(self):
method check_required (line 1054) | def check_required(self, settings, version):
method load (line 1059) | def load(self, stream, version):
method save (line 1065) | def save(self, stream, version):
class DataStoreReqGetInfo (line 1073) | class DataStoreReqGetInfo(common.Structure):
method __init__ (line 1074) | def __init__(self):
method check_required (line 1082) | def check_required(self, settings, version):
method load (line 1091) | def load(self, stream, version):
method save (line 1099) | def save(self, stream, version):
class DataStoreReqGetInfoV1 (line 1109) | class DataStoreReqGetInfoV1(common.Structure):
method __init__ (line 1110) | def __init__(self):
method check_required (line 1117) | def check_required(self, settings, version):
method load (line 1122) | def load(self, stream, version):
method save (line 1128) | def save(self, stream, version):
class DataStoreReqGetNotificationUrlInfo (line 1136) | class DataStoreReqGetNotificationUrlInfo(common.Structure):
method __init__ (line 1137) | def __init__(self):
method check_required (line 1144) | def check_required(self, settings, version):
method load (line 1149) | def load(self, stream, version):
method save (line 1155) | def save(self, stream, version):
class DataStoreReqPostInfo (line 1163) | class DataStoreReqPostInfo(common.Structure):
method __init__ (line 1164) | def __init__(self):
method check_required (line 1172) | def check_required(self, settings, version):
method load (line 1177) | def load(self, stream, version):
method save (line 1184) | def save(self, stream, version):
class DataStoreReqPostInfoV1 (line 1193) | class DataStoreReqPostInfoV1(common.Structure):
method __init__ (line 1194) | def __init__(self):
method check_required (line 1202) | def check_required(self, settings, version):
method load (line 1207) | def load(self, stream, version):
method save (line 1214) | def save(self, stream, version):
class DataStoreReqUpdateInfo (line 1223) | class DataStoreReqUpdateInfo(common.Structure):
method __init__ (line 1224) | def __init__(self):
method check_required (line 1232) | def check_required(self, settings, version):
method load (line 1237) | def load(self, stream, version):
method save (line 1244) | def save(self, stream, version):
class DataStoreSearchParam (line 1253) | class DataStoreSearchParam(common.Structure):
method __init__ (line 1254) | def __init__(self):
method check_required (line 1276) | def check_required(self, settings, version):
method load (line 1279) | def load(self, stream, version):
method save (line 1300) | def save(self, stream, version):
class DataStoreSearchResult (line 1323) | class DataStoreSearchResult(common.Structure):
method __init__ (line 1324) | def __init__(self):
method check_required (line 1330) | def check_required(self, settings, version):
method load (line 1335) | def load(self, stream, version):
method save (line 1340) | def save(self, stream, version):
class DataStoreSpecificMetaInfo (line 1347) | class DataStoreSpecificMetaInfo(common.Structure):
method __init__ (line 1348) | def __init__(self):
method check_required (line 1356) | def check_required(self, settings, version):
method load (line 1361) | def load(self, stream, version):
method save (line 1368) | def save(self, stream, version):
class DataStoreSpecificMetaInfoV1 (line 1377) | class DataStoreSpecificMetaInfoV1(common.Structure):
method __init__ (line 1378) | def __init__(self):
method check_required (line 1386) | def check_required(self, settings, version):
method load (line 1391) | def load(self, stream, version):
method save (line 1398) | def save(self, stream, version):
class DataStoreTouchObjectParam (line 1407) | class DataStoreTouchObjectParam(common.Structure):
method __init__ (line 1408) | def __init__(self):
method check_required (line 1414) | def check_required(self, settings, version):
method load (line 1419) | def load(self, stream, version):
method save (line 1424) | def save(self, stream, version):
class GetCoursesParam (line 1431) | class GetCoursesParam(common.Structure):
method __init__ (line 1432) | def __init__(self):
method check_required (line 1437) | def check_required(self, settings, version):
method load (line 1442) | def load(self, stream, version):
method save (line 1446) | def save(self, stream, version):
class GetCoursesEventParam (line 1452) | class GetCoursesEventParam(common.Structure):
method __init__ (line 1453) | def __init__(self):
method check_required (line 1456) | def check_required(self, settings, version):
method load (line 1459) | def load(self, stream, version):
method save (line 1462) | def save(self, stream, version):
class SearchCommentsInOrderParam (line 1466) | class SearchCommentsInOrderParam(common.Structure):
method __init__ (line 1467) | def __init__(self):
method check_required (line 1472) | def check_required(self, settings, version):
method load (line 1477) | def load(self, stream, version):
method save (line 1481) | def save(self, stream, version):
class GetEventCourseGhostParam (line 1487) | class GetEventCourseGhostParam(common.Structure):
method __init__ (line 1488) | def __init__(self):
method check_required (line 1494) | def check_required(self, settings, version):
method load (line 1499) | def load(self, stream, version):
method save (line 1504) | def save(self, stream, version):
class GetEventCourseHistogramParam (line 1511) | class GetEventCourseHistogramParam(common.Structure):
method __init__ (line 1512) | def __init__(self):
method check_required (line 1516) | def check_required(self, settings, version):
method load (line 1521) | def load(self, stream, version):
method save (line 1524) | def save(self, stream, version):
class GetUserOrCourseParam (line 1529) | class GetUserOrCourseParam(common.Structure):
method __init__ (line 1530) | def __init__(self):
method check_required (line 1536) | def check_required(self, settings, version):
method load (line 1541) | def load(self, stream, version):
method save (line 1546) | def save(self, stream, version):
class GetUsersParam (line 1553) | class GetUsersParam(common.Structure):
method __init__ (line 1554) | def __init__(self):
method check_required (line 1559) | def check_required(self, settings, version):
method load (line 1564) | def load(self, stream, version):
method save (line 1568) | def save(self, stream, version):
class RegisterUserParam (line 1574) | class RegisterUserParam(common.Structure):
method __init__ (line 1575) | def __init__(self):
method check_required (line 1584) | def check_required(self, settings, version):
method load (line 1589) | def load(self, stream, version):
method save (line 1597) | def save(self, stream, version):
class SearchCoursesPostedByParam (line 1607) | class SearchCoursesPostedByParam(common.Structure):
method __init__ (line 1608) | def __init__(self):
method check_required (line 1614) | def check_required(self, settings, version):
method load (line 1619) | def load(self, stream, version):
method save (line 1624) | def save(self, stream, version):
class SearchCoursesPositiveRatedByParam (line 1631) | class SearchCoursesPositiveRatedByParam(common.Structure):
method __init__ (line 1632) | def __init__(self):
method check_required (line 1638) | def check_required(self, settings, version):
method load (line 1643) | def load(self, stream, version):
method save (line 1648) | def save(self, stream, version):
class SearchCoursesPlayedByParam (line 1655) | class SearchCoursesPlayedByParam(common.Structure):
method __init__ (line 1656) | def __init__(self):
method check_required (line 1662) | def check_required(self, settings, version):
method load (line 1667) | def load(self, stream, version):
method save (line 1672) | def save(self, stream, version):
class SearchCoursesEndlessModeParam (line 1679) | class SearchCoursesEndlessModeParam(common.Structure):
method __init__ (line 1680) | def __init__(self):
method check_required (line 1686) | def check_required(self, settings, version):
method load (line 1691) | def load(self, stream, version):
method save (line 1696) | def save(self, stream, version):
class SearchCoursesFirstClearParam (line 1703) | class SearchCoursesFirstClearParam(common.Structure):
method __init__ (line 1704) | def __init__(self):
method check_required (line 1710) | def check_required(self, settings, version):
method load (line 1715) | def load(self, stream, version):
method save (line 1720) | def save(self, stream, version):
class SearchCoursesBestTimeParam (line 1727) | class SearchCoursesBestTimeParam(common.Structure):
method __init__ (line 1728) | def __init__(self):
method check_required (line 1734) | def check_required(self, settings, version):
method load (line 1739) | def load(self, stream, version):
method save (line 1744) | def save(self, stream, version):
class SearchCoursesEventParam (line 1751) | class SearchCoursesEventParam(common.Structure):
method __init__ (line 1752) | def __init__(self):
method check_required (line 1756) | def check_required(self, settings, version):
method load (line 1759) | def load(self, stream, version):
method save (line 1762) | def save(self, stream, version):
class SearchCoursesLatestParam (line 1767) | class SearchCoursesLatestParam(common.Structure):
method __init__ (line 1768) | def __init__(self):
method check_required (line 1773) | def check_required(self, settings, version):
method load (line 1776) | def load(self, stream, version):
method save (line 1780) | def save(self, stream, version):
class SearchUsersPlayedCourseParam (line 1786) | class SearchUsersPlayedCourseParam(common.Structure):
method __init__ (line 1787) | def __init__(self):
method check_required (line 1793) | def check_required(self, settings, version):
method load (line 1798) | def load(self, stream, version):
method save (line 1803) | def save(self, stream, version):
class SearchUsersClearedCourseParam (line 1810) | class SearchUsersClearedCourseParam(common.Structure):
method __init__ (line 1811) | def __init__(self):
method check_required (line 1817) | def check_required(self, settings, version):
method load (line 1822) | def load(self, stream, version):
method save (line 1827) | def save(self, stream, version):
class SearchUsersPositiveRatedCourseParam (line 1834) | class SearchUsersPositiveRatedCourseParam(common.Structure):
method __init__ (line 1835) | def __init__(self):
method check_required (line 1841) | def check_required(self, settings, version):
method load (line 1846) | def load(self, stream, version):
method save (line 1851) | def save(self, stream, version):
class SearchCoursesPointRankingParam (line 1858) | class SearchCoursesPointRankingParam(common.Structure):
method __init__ (line 1859) | def __init__(self):
method check_required (line 1866) | def check_required(self, settings, version):
method load (line 1871) | def load(self, stream, version):
method save (line 1877) | def save(self, stream, version):
class SearchUsersUserPointParam (line 1885) | class SearchUsersUserPointParam(common.Structure):
method __init__ (line 1886) | def __init__(self):
method check_required (line 1892) | def check_required(self, settings, version):
method load (line 1897) | def load(self, stream, version):
method save (line 1902) | def save(self, stream, version):
class SyncUserProfileParam (line 1909) | class SyncUserProfileParam(common.Structure):
method __init__ (line 1910) | def __init__(self):
method check_required (line 1922) | def check_required(self, settings, version):
method load (line 1927) | def load(self, stream, version):
method save (line 1938) | def save(self, stream, version):
class GetWorldMapParam (line 1951) | class GetWorldMapParam(common.Structure):
method __init__ (line 1952) | def __init__(self):
method check_required (line 1957) | def check_required(self, settings, version):
method load (line 1962) | def load(self, stream, version):
method save (line 1966) | def save(self, stream, version):
class SearchWorldMapPickUpParam (line 1972) | class SearchWorldMapPickUpParam(common.Structure):
method __init__ (line 1973) | def __init__(self):
method check_required (line 1977) | def check_required(self, settings, version):
method load (line 1982) | def load(self, stream, version):
method save (line 1985) | def save(self, stream, version):
class SearchWorldMapPlayedByParam (line 1990) | class SearchWorldMapPlayedByParam(common.Structure):
method __init__ (line 1991) | def __init__(self):
method check_required (line 1996) | def check_required(self, settings, version):
method load (line 2001) | def load(self, stream, version):
method save (line 2005) | def save(self, stream, version):
class BadgeInfo (line 2011) | class BadgeInfo(common.Structure):
method __init__ (line 2012) | def __init__(self):
method check_required (line 2017) | def check_required(self, settings, version):
method load (line 2022) | def load(self, stream, version):
method save (line 2026) | def save(self, stream, version):
class CommentInfo (line 2032) | class CommentInfo(common.Structure):
method __init__ (line 2033) | def __init__(self):
method check_required (line 2054) | def check_required(self, settings, version):
method load (line 2059) | def load(self, stream, version):
method save (line 2079) | def save(self, stream, version):
class DeathPositionInfo (line 2101) | class DeathPositionInfo(common.Structure):
method __init__ (line 2102) | def __init__(self):
method check_required (line 2109) | def check_required(self, settings, version):
method load (line 2114) | def load(self, stream, version):
method save (line 2120) | def save(self, stream, version):
class CommentPictureReqGetInfoWithoutHeaders (line 2128) | class CommentPictureReqGetInfoWithoutHeaders(common.Structure):
method __init__ (line 2129) | def __init__(self):
method check_required (line 2137) | def check_required(self, settings, version):
method load (line 2142) | def load(self, stream, version):
method save (line 2149) | def save(self, stream, version):
class CourseInfo (line 2158) | class CourseInfo(common.Structure):
method __init__ (line 2159) | def __init__(self):
method check_required (line 2189) | def check_required(self, settings, version):
method load (line 2194) | def load(self, stream, version):
method save (line 2223) | def save(self, stream, version):
class WorldMapInfo (line 2254) | class WorldMapInfo(common.Structure):
method __init__ (line 2255) | def __init__(self):
method check_required (line 2271) | def check_required(self, settings, version):
method load (line 2276) | def load(self, stream, version):
method save (line 2291) | def save(self, stream, version):
class CourseTimeStats (line 2308) | class CourseTimeStats(common.Structure):
method __init__ (line 2309) | def __init__(self):
method check_required (line 2316) | def check_required(self, settings, version):
method load (line 2321) | def load(self, stream, version):
method save (line 2327) | def save(self, stream, version):
class EventCourseGhostInfo (line 2335) | class EventCourseGhostInfo(common.Structure):
method __init__ (line 2336) | def __init__(self):
method check_required (line 2342) | def check_required(self, settings, version):
method load (line 2347) | def load(self, stream, version):
method save (line 2352) | def save(self, stream, version):
class EventCourseHistogram (line 2359) | class EventCourseHistogram(common.Structure):
method __init__ (line 2360) | def __init__(self):
method check_required (line 2370) | def check_required(self, settings, version):
method load (line 2375) | def load(self, stream, version):
method save (line 2384) | def save(self, stream, version):
class EventCourseInfo (line 2395) | class EventCourseInfo(common.Structure):
method __init__ (line 2396) | def __init__(self):
method max_version (line 2422) | def max_version(self, settings):
method check_required (line 2427) | def check_required(self, settings, version):
method load (line 2436) | def load(self, stream, version):
method save (line 2462) | def save(self, stream, version):
class EventCourseStatusInfo (line 2490) | class EventCourseStatusInfo(common.Structure):
method __init__ (line 2491) | def __init__(self):
method check_required (line 2497) | def check_required(self, settings, version):
method load (line 2502) | def load(self, stream, version):
method save (line 2507) | def save(self, stream, version):
class EventCourseThumbnail (line 2514) | class EventCourseThumbnail(common.Structure):
method __init__ (line 2515) | def __init__(self):
method check_required (line 2523) | def check_required(self, settings, version):
method load (line 2528) | def load(self, stream, version):
method save (line 2535) | def save(self, stream, version):
class RelationObjectReqGetInfo (line 2544) | class RelationObjectReqGetInfo(common.Structure):
method __init__ (line 2545) | def __init__(self):
method check_required (line 2553) | def check_required(self, settings, version):
method load (line 2558) | def load(self, stream, version):
method save (line 2565) | def save(self, stream, version):
class ReqGetInfoHeadersInfo (line 2574) | class ReqGetInfoHeadersInfo(common.Structure):
method __init__ (line 2575) | def __init__(self):
method check_required (line 2580) | def check_required(self, settings, version):
method load (line 2585) | def load(self, stream, version):
method save (line 2589) | def save(self, stream, version):
class SyncUserProfileResult (line 2595) | class SyncUserProfileResult(common.Structure):
method __init__ (line 2596) | def __init__(self):
method check_required (line 2608) | def check_required(self, settings, version):
method load (line 2613) | def load(self, stream, version):
method save (line 2624) | def save(self, stream, version):
class UserInfo (line 2637) | class UserInfo(common.Structure):
method __init__ (line 2638) | def __init__(self):
method max_version (line 2667) | def max_version(self, settings):
method check_required (line 2674) | def check_required(self, settings, version):
method load (line 2689) | def load(self, stream, version):
method save (line 2720) | def save(self, stream, version):
class UnknownStruct1 (line 2753) | class UnknownStruct1(common.Structure):
method __init__ (line 2754) | def __init__(self):
method check_required (line 2761) | def check_required(self, settings, version):
method load (line 2766) | def load(self, stream, version):
method save (line 2772) | def save(self, stream, version):
class UnknownStruct3 (line 2780) | class UnknownStruct3(common.Structure):
method __init__ (line 2781) | def __init__(self):
method check_required (line 2786) | def check_required(self, settings, version):
method load (line 2791) | def load(self, stream, version):
method save (line 2795) | def save(self, stream, version):
class UnknownStruct6 (line 2801) | class UnknownStruct6(common.Structure):
method __init__ (line 2802) | def __init__(self):
method check_required (line 2807) | def check_required(self, settings, version):
method load (line 2812) | def load(self, stream, version):
method save (line 2816) | def save(self, stream, version):
class DataStoreProtocolSMM2 (line 2822) | class DataStoreProtocolSMM2:
class DataStoreClientSMM2 (line 2904) | class DataStoreClientSMM2(DataStoreProtocolSMM2):
method __init__ (line 2905) | def __init__(self, client):
method prepare_get_object_v1 (line 2909) | async def prepare_get_object_v1(self, param):
method prepare_post_object_v1 (line 2924) | async def prepare_post_object_v1(self, param):
method complete_post_object_v1 (line 2939) | async def complete_post_object_v1(self, param):
method delete_object (line 2952) | async def delete_object(self, param):
method delete_objects (line 2965) | async def delete_objects(self, param, transactional):
method change_meta_v1 (line 2981) | async def change_meta_v1(self, param):
method change_metas_v1 (line 2994) | async def change_metas_v1(self, data_ids, param, transactional):
method get_meta (line 3011) | async def get_meta(self, param):
method get_metas (line 3026) | async def get_metas(self, data_ids, param):
method prepare_update_object (line 3044) | async def prepare_update_object(self, param):
method complete_update_object (line 3059) | async def complete_update_object(self, param):
method search_object (line 3072) | async def search_object(self, param):
method get_notification_url (line 3087) | async def get_notification_url(self, param):
method get_new_arrived_notifications_v1 (line 3102) | async def get_new_arrived_notifications_v1(self, param):
method rate_object (line 3119) | async def rate_object(self, target, param, fetch_ratings):
method get_rating (line 3136) | async def get_rating(self, target, access_password):
method get_ratings (line 3152) | async def get_ratings(self, data_ids, access_password):
method reset_rating (line 3170) | async def reset_rating(self, target, update_password):
method reset_ratings (line 3184) | async def reset_ratings(self, data_ids, transactional):
method get_specific_meta_v1 (line 3200) | async def get_specific_meta_v1(self, param):
method post_meta_binary (line 3215) | async def post_meta_binary(self, param):
method touch_object (line 3230) | async def touch_object(self, param):
method get_rating_with_log (line 3243) | async def get_rating_with_log(self, target, access_password):
method prepare_post_object (line 3261) | async def prepare_post_object(self, param):
method prepare_get_object (line 3276) | async def prepare_get_object(self, param):
method complete_post_object (line 3291) | async def complete_post_object(self, param):
method get_new_arrived_notifications (line 3304) | async def get_new_arrived_notifications(self, param):
method get_specific_meta (line 3321) | async def get_specific_meta(self, param):
method get_persistence_info (line 3336) | async def get_persistence_info(self, owner_id, slot_id):
method get_persistence_infos (line 3352) | async def get_persistence_infos(self, owner_id, slot_ids):
method perpetuate_object (line 3370) | async def perpetuate_object(self, persistence_slot_id, data_id, delete...
method unperpetuate_object (line 3385) | async def unperpetuate_object(self, persistence_slot_id, delete_last_o...
method prepare_get_object_or_meta_binary (line 3399) | async def prepare_get_object_or_meta_binary(self, param):
method get_password_info (line 3416) | async def get_password_info(self, data_id):
method get_password_infos (line 3431) | async def get_password_infos(self, data_ids):
method get_metas_multiple_param (line 3448) | async def get_metas_multiple_param(self, params):
method complete_post_objects (line 3465) | async def complete_post_objects(self, data_ids):
method change_meta (line 3478) | async def change_meta(self, param):
method change_metas (line 3491) | async def change_metas(self, data_ids, param, transactional):
method rate_objects (line 3508) | async def rate_objects(self, targets, param, transactional, fetch_rati...
method post_meta_binary_with_data_id (line 3528) | async def post_meta_binary_with_data_id(self, data_id, param):
method post_meta_binaries_with_data_id (line 3542) | async def post_meta_binaries_with_data_id(self, data_ids, param, trans...
method rate_object_with_posting (line 3559) | async def rate_object_with_posting(self, target, rate_param, post_para...
method rate_objects_with_posting (line 3577) | async def rate_objects_with_posting(self, targets, rate_param, post_pa...
method get_object_infos (line 3598) | async def get_object_infos(self, data_ids):
method search_object_light (line 3615) | async def search_object_light(self, param):
method register_user (line 3630) | async def register_user(self, param):
method get_users (line 3643) | async def get_users(self, param):
method sync_user_profile (line 3660) | async def sync_user_profile(self, param):
method search_users_user_point (line 3675) | async def search_users_user_point(self, param):
method search_users_played_course (line 3693) | async def search_users_played_course(self, param):
method search_users_cleared_course (line 3708) | async def search_users_cleared_course(self, param):
method search_users_positive_rated_course (line 3723) | async def search_users_positive_rated_course(self, param):
method update_last_login_time (line 3738) | async def update_last_login_time(self):
method get_username_ng_type (line 3750) | async def get_username_ng_type(self):
method get_courses (line 3764) | async def get_courses(self, param):
method search_courses_point_ranking (line 3781) | async def search_courses_point_ranking(self, param):
method search_courses_latest (line 3799) | async def search_courses_latest(self, param):
method search_courses_posted_by (line 3816) | async def search_courses_posted_by(self, param):
method search_courses_positive_rated_by (line 3833) | async def search_courses_positive_rated_by(self, param):
method search_courses_played_by (line 3848) | async def search_courses_played_by(self, param):
method search_courses_endless_mode (line 3863) | async def search_courses_endless_mode(self, param):
method search_courses_first_clear (line 3878) | async def search_courses_first_clear(self, param):
method search_courses_best_time (line 3895) | async def search_courses_best_time(self, param):
method get_courses_event (line 3912) | async def get_courses_event(self, param, dummy):
method search_courses_event (line 3930) | async def search_courses_event(self, param):
method search_comments_in_order (line 3945) | async def search_comments_in_order(self, param):
method search_comments (line 3962) | async def search_comments(self, data_id):
method get_death_positions (line 3977) | async def get_death_positions(self, data_id):
method get_user_or_course (line 3992) | async def get_user_or_course(self, param):
method get_req_get_info_headers_info (line 4009) | async def get_req_get_info_headers_info(self, type):
method get_event_course_stamp (line 4024) | async def get_event_course_stamp(self):
method get_event_course_status (line 4038) | async def get_event_course_status(self):
method get_event_course_histogram (line 4052) | async def get_event_course_histogram(self, param):
method get_event_course_ghost (line 4067) | async def get_event_course_ghost(self, param):
method get_world_map (line 4082) | async def get_world_map(self, param):
method search_world_map_pick_up (line 4099) | async def search_world_map_pick_up(self, param):
class DataStoreServerSMM2 (line 4115) | class DataStoreServerSMM2(DataStoreProtocolSMM2):
method __init__ (line 4116) | def __init__(self):
method logout (line 4197) | async def logout(self, client):
method handle (line 4200) | async def handle(self, client, method_id, input, output):
method handle_prepare_get_object_v1 (line 4207) | async def handle_prepare_get_object_v1(self, client, input, output):
method handle_prepare_post_object_v1 (line 4218) | async def handle_prepare_post_object_v1(self, client, input, output):
method handle_complete_post_object_v1 (line 4229) | async def handle_complete_post_object_v1(self, client, input, output):
method handle_delete_object (line 4235) | async def handle_delete_object(self, client, input, output):
method handle_delete_objects (line 4241) | async def handle_delete_objects(self, client, input, output):
method handle_change_meta_v1 (line 4253) | async def handle_change_meta_v1(self, client, input, output):
method handle_change_metas_v1 (line 4259) | async def handle_change_metas_v1(self, client, input, output):
method handle_get_meta (line 4272) | async def handle_get_meta(self, client, input, output):
method handle_get_metas (line 4283) | async def handle_get_metas(self, client, input, output):
method handle_prepare_update_object (line 4299) | async def handle_prepare_update_object(self, client, input, output):
method handle_complete_update_object (line 4310) | async def handle_complete_update_object(self, client, input, output):
method handle_search_object (line 4316) | async def handle_search_object(self, client, input, output):
method handle_get_notification_url (line 4327) | async def handle_get_notification_url(self, client, input, output):
method handle_get_new_arrived_notifications_v1 (line 4338) | async def handle_get_new_arrived_notifications_v1(self, client, input,...
method handle_rate_object (line 4353) | async def handle_rate_object(self, client, input, output):
method handle_get_rating (line 4366) | async def handle_get_rating(self, client, input, output):
method handle_get_ratings (line 4378) | async def handle_get_ratings(self, client, input, output):
method handle_reset_rating (line 4394) | async def handle_reset_rating(self, client, input, output):
method handle_reset_ratings (line 4401) | async def handle_reset_ratings(self, client, input, output):
method handle_get_specific_meta_v1 (line 4413) | async def handle_get_specific_meta_v1(self, client, input, output):
method handle_post_meta_binary (line 4424) | async def handle_post_meta_binary(self, client, input, output):
method handle_touch_object (line 4435) | async def handle_touch_object(self, client, input, output):
method handle_get_rating_with_log (line 4441) | async def handle_get_rating_with_log(self, client, input, output):
method handle_prepare_post_object (line 4457) | async def handle_prepare_post_object(self, client, input, output):
method handle_prepare_get_object (line 4468) | async def handle_prepare_get_object(self, client, input, output):
method handle_complete_post_object (line 4479) | async def handle_complete_post_object(self, client, input, output):
method handle_get_new_arrived_notifications (line 4485) | async def handle_get_new_arrived_notifications(self, client, input, ou...
method handle_get_specific_meta (line 4500) | async def handle_get_specific_meta(self, client, input, output):
method handle_get_persistence_info (line 4511) | async def handle_get_persistence_info(self, client, input, output):
method handle_get_persistence_infos (line 4523) | async def handle_get_persistence_infos(self, client, input, output):
method handle_perpetuate_object (line 4539) | async def handle_perpetuate_object(self, client, input, output):
method handle_unperpetuate_object (line 4547) | async def handle_unperpetuate_object(self, client, input, output):
method handle_prepare_get_object_or_meta_binary (line 4554) | async def handle_prepare_get_object_or_meta_binary(self, client, input...
method handle_get_password_info (line 4569) | async def handle_get_password_info(self, client, input, output):
method handle_get_password_infos (line 4580) | async def handle_get_password_infos(self, client, input, output):
method handle_get_metas_multiple_param (line 4595) | async def handle_get_metas_multiple_param(self, client, input, output):
method handle_complete_post_objects (line 4610) | async def handle_complete_post_objects(self, client, input, output):
method handle_change_meta (line 4616) | async def handle_change_meta(self, client, input, output):
method handle_change_metas (line 4622) | async def handle_change_metas(self, client, input, output):
method handle_rate_objects (line 4635) | async def handle_rate_objects(self, client, input, output):
method handle_post_meta_binary_with_data_id (line 4653) | async def handle_post_meta_binary_with_data_id(self, client, input, ou...
method handle_post_meta_binaries_with_data_id (line 4660) | async def handle_post_meta_binaries_with_data_id(self, client, input, ...
method handle_rate_object_with_posting (line 4673) | async def handle_rate_object_with_posting(self, client, input, output):
method handle_rate_objects_with_posting (line 4687) | async def handle_rate_objects_with_posting(self, client, input, output):
method handle_get_object_infos (line 4706) | async def handle_get_object_infos(self, client, input, output):
method handle_search_object_light (line 4721) | async def handle_search_object_light(self, client, input, output):
method handle_register_user (line 4732) | async def handle_register_user(self, client, input, output):
method handle_get_users (line 4738) | async def handle_get_users(self, client, input, output):
method handle_sync_user_profile (line 4753) | async def handle_sync_user_profile(self, client, input, output):
method handle_search_users_user_point (line 4764) | async def handle_search_users_user_point(self, client, input, output):
method handle_search_users_played_course (line 4780) | async def handle_search_users_played_course(self, client, input, output):
method handle_search_users_cleared_course (line 4791) | async def handle_search_users_cleared_course(self, client, input, outp...
method handle_search_users_positive_rated_course (line 4802) | async def handle_search_users_positive_rated_course(self, client, inpu...
method handle_update_last_login_time (line 4813) | async def handle_update_last_login_time(self, client, input, output):
method handle_get_username_ng_type (line 4818) | async def handle_get_username_ng_type(self, client, input, output):
method handle_get_courses (line 4828) | async def handle_get_courses(self, client, input, output):
method handle_search_courses_point_ranking (line 4843) | async def handle_search_courses_point_ranking(self, client, input, out...
method handle_search_courses_latest (line 4859) | async def handle_search_courses_latest(self, client, input, output):
method handle_search_courses_posted_by (line 4874) | async def handle_search_courses_posted_by(self, client, input, output):
method handle_search_courses_positive_rated_by (line 4889) | async def handle_search_courses_positive_rated_by(self, client, input,...
method handle_search_courses_played_by (line 4900) | async def handle_search_courses_played_by(self, client, input, output):
method handle_search_courses_endless_mode (line 4911) | async def handle_search_courses_endless_mode(self, client, input, outp...
method handle_search_courses_first_clear (line 4922) | async def handle_search_courses_first_clear(self, client, input, output):
method handle_search_courses_best_time (line 4937) | async def handle_search_courses_best_time(self, client, input, output):
method handle_get_courses_event (line 4952) | async def handle_get_courses_event(self, client, input, output):
method handle_search_courses_event (line 4968) | async def handle_search_courses_event(self, client, input, output):
method handle_search_comments_in_order (line 4979) | async def handle_search_comments_in_order(self, client, input, output):
method handle_search_comments (line 4994) | async def handle_search_comments(self, client, input, output):
method handle_get_death_positions (line 5005) | async def handle_get_death_positions(self, client, input, output):
method handle_get_user_or_course (line 5016) | async def handle_get_user_or_course(self, client, input, output):
method handle_get_req_get_info_headers_info (line 5031) | async def handle_get_req_get_info_headers_info(self, client, input, ou...
method handle_get_event_course_stamp (line 5042) | async def handle_get_event_course_stamp(self, client, input, output):
method handle_get_event_course_status (line 5052) | async def handle_get_event_course_status(self, client, input, output):
method handle_get_event_course_histogram (line 5062) | async def handle_get_event_course_histogram(self, client, input, output):
method handle_get_event_course_ghost (line 5073) | async def handle_get_event_course_ghost(self, client, input, output):
method handle_get_world_map (line 5084) | async def handle_get_world_map(self, client, input, output):
method handle_search_world_map_pick_up (line 5099) | async def handle_search_world_map_pick_up(self, client, input, output):
method prepare_get_object_v1 (line 5110) | async def prepare_get_object_v1(self, *args):
method prepare_post_object_v1 (line 5114) | async def prepare_post_object_v1(self, *args):
method complete_post_object_v1 (line 5118) | async def complete_post_object_v1(self, *args):
method delete_object (line 5122) | async def delete_object(self, *args):
method delete_objects (line 5126) | async def delete_objects(self, *args):
method change_meta_v1 (line 5130) | async def change_meta_v1(self, *args):
method change_metas_v1 (line 5134) | async def change_metas_v1(self, *args):
method get_meta (line 5138) | async def get_meta(self, *args):
method get_metas (line 5142) | async def get_metas(self, *args):
method prepare_update_object (line 5146) | async def prepare_update_object(self, *args):
method complete_update_object (line 5150) | async def complete_update_object(self, *args):
method search_object (line 5154) | async def search_object(self, *args):
method get_notification_url (line 5158) | async def get_notification_url(self, *args):
method get_new_arrived_notifications_v1 (line 5162) | async def get_new_arrived_notifications_v1(self, *args):
method rate_object (line 5166) | async def rate_object(self, *args):
method get_rating (line 5170) | async def get_rating(self, *args):
method get_ratings (line 5174) | async def get_ratings(self, *args):
method reset_rating (line 5178) | async def reset_rating(self, *args):
method reset_ratings (line 5182) | async def reset_ratings(self, *args):
method get_specific_meta_v1 (line 5186) | async def get_specific_meta_v1(self, *args):
method post_meta_binary (line 5190) | async def post_meta_binary(self, *args):
method touch_object (line 5194) | async def touch_object(self, *args):
method get_rating_with_log (line 5198) | async def get_rating_with_log(self, *args):
method prepare_post_object (line 5202) | async def prepare_post_object(self, *args):
method prepare_get_object (line 5206) | async def prepare_get_object(self, *args):
method complete_post_object (line 5210) | async def complete_post_object(self, *args):
method get_new_arrived_notifications (line 5214) | async def get_new_arrived_notifications(self, *args):
method get_specific_meta (line 5218) | async def get_specific_meta(self, *args):
method get_persistence_info (line 5222) | async def get_persistence_info(self, *args):
method get_persistence_infos (line 5226) | async def get_persistence_infos(self, *args):
method perpetuate_object (line 5230) | async def perpetuate_object(self, *args):
method unperpetuate_object (line 5234) | async def unperpetuate_object(self, *args):
method prepare_get_object_or_meta_binary (line 5238) | async def prepare_get_object_or_meta_binary(self, *args):
method get_password_info (line 5242) | async def get_password_info(self, *args):
method get_password_infos (line 5246) | async def get_password_infos(self, *args):
method get_metas_multiple_param (line 5250) | async def get_metas_multiple_param(self, *args):
method complete_post_objects (line 5254) | async def complete_post_objects(self, *args):
method change_meta (line 5258) | async def change_meta(self, *args):
method change_metas (line 5262) | async def change_metas(self, *args):
method rate_objects (line 5266) | async def rate_objects(self, *args):
method post_meta_binary_with_data_id (line 5270) | async def post_meta_binary_with_data_id(self, *args):
method post_meta_binaries_with_data_id (line 5274) | async def post_meta_binaries_with_data_id(self, *args):
method rate_object_with_posting (line 5278) | async def rate_object_with_posting(self, *args):
method rate_objects_with_posting (line 5282) | async def rate_objects_with_posting(self, *args):
method get_object_infos (line 5286) | async def get_object_infos(self, *args):
method search_object_light (line 5290) | async def search_object_light(self, *args):
method register_user (line 5294) | async def register_user(self, *args):
method get_users (line 5298) | async def get_users(self, *args):
method sync_user_profile (line 5302) | async def sync_user_profile(self, *args):
method search_users_user_point (line 5306) | async def search_users_user_point(self, *args):
method search_users_played_course (line 5310) | async def search_users_played_course(self, *args):
method search_users_cleared_course (line 5314) | async def search_users_cleared_course(self, *args):
method search_users_positive_rated_course (line 5318) | async def search_users_positive_rated_course(self, *args):
method update_last_login_time (line 5322) | async def update_last_login_time(self, *args):
method get_username_ng_type (line 5326) | async def get_username_ng_type(self, *args):
method get_courses (line 5330) | async def get_courses(self, *args):
method search_courses_point_ranking (line 5334) | async def search_courses_point_ranking(self, *args):
method search_courses_latest (line 5338) | async def search_courses_latest(self, *args):
method search_courses_posted_by (line 5342) | async def search_courses_posted_by(self, *args):
method search_courses_positive_rated_by (line 5346) | async def search_courses_positive_rated_by(self, *args):
method search_courses_played_by (line 5350) | async def search_courses_played_by(self, *args):
method search_courses_endless_mode (line 5354) | async def search_courses_endless_mode(self, *args):
method search_courses_first_clear (line 5358) | async def search_courses_first_clear(self, *args):
method search_courses_best_time (line 5362) | async def search_courses_best_time(self, *args):
method get_courses_event (line 5366) | async def get_courses_event(self, *args):
method search_courses_event (line 5370) | async def search_courses_event(self, *args):
method search_comments_in_order (line 5374) | async def search_comments_in_order(self, *args):
method search_comments (line 5378) | async def search_comments(self, *args):
method get_death_positions (line 5382) | async def get_death_positions(self, *args):
method get_user_or_course (line 5386) | async def get_user_or_course(self, *args):
method get_req_get_info_headers_info (line 5390) | async def get_req_get_info_headers_info(self, *args):
method get_event_course_stamp (line 5394) | async def get_event_course_stamp(self, *args):
method get_event_course_status (line 5398) | async def get_event_course_status(self, *args):
method get_event_course_histogram (line 5402) | async def get_event_course_histogram(self, *args):
method get_event_course_ghost (line 5406) | async def get_event_course_ghost(self, *args):
method get_world_map (line 5410) | async def get_world_map(self, *args):
method search_world_map_pick_up (line 5414) | async def search_world_map_pick_up(self, *args):
FILE: nintendo/nex/debug.py
class ApiCall (line 10) | class ApiCall(common.Structure):
method __init__ (line 11) | def __init__(self):
method check_required (line 17) | def check_required(self, settings, version):
method load (line 22) | def load(self, stream, version):
method save (line 27) | def save(self, stream, version):
class ApiCallSummary (line 34) | class ApiCallSummary(common.Structure):
method __init__ (line 35) | def __init__(self):
method check_required (line 45) | def check_required(self, settings, version):
method load (line 50) | def load(self, stream, version):
method save (line 59) | def save(self, stream, version):
class DebugProtocol (line 70) | class DebugProtocol:
class DebugClient (line 82) | class DebugClient(DebugProtocol):
method __init__ (line 83) | def __init__(self, client):
method enable_api_recorder (line 87) | async def enable_api_recorder(self):
method disable_api_recorder (line 99) | async def disable_api_recorder(self):
method is_api_recorder_enabled (line 111) | async def is_api_recorder_enabled(self):
method get_api_calls (line 125) | async def get_api_calls(self, pids, start, end):
method get_api_call_summary (line 142) | async def get_api_call_summary(self, pid, start, end, only_limit_excee...
class DebugServer (line 161) | class DebugServer(DebugProtocol):
method __init__ (line 162) | def __init__(self):
method logout (line 173) | async def logout(self, client):
method handle (line 176) | async def handle(self, client, method_id, input, output):
method handle_enable_api_recorder (line 183) | async def handle_enable_api_recorder(self, client, input, output):
method handle_disable_api_recorder (line 188) | async def handle_disable_api_recorder(self, client, input, output):
method handle_is_api_recorder_enabled (line 193) | async def handle_is_api_recorder_enabled(self, client, input, output):
method handle_get_api_calls (line 203) | async def handle_get_api_calls(self, client, input, output):
method handle_set_exclude_joined_matchmake_session (line 216) | async def handle_set_exclude_joined_matchmake_session(self, client, in...
method handle_get_exclude_joined_matchmake_session (line 220) | async def handle_get_exclude_joined_matchmake_session(self, client, in...
method handle_get_api_call_summary (line 224) | async def handle_get_api_call_summary(self, client, input, output):
method enable_api_recorder (line 238) | async def enable_api_recorder(self, *args):
method disable_api_recorder (line 242) | async def disable_api_recorder(self, *args):
method is_api_recorder_enabled (line 246) | async def is_api_recorder_enabled(self, *args):
method get_api_calls (line 250) | async def get_api_calls(self, *args):
method get_api_call_summary (line 254) | async def get_api_call_summary(self, *args):
FILE: nintendo/nex/friends.py
class AccountExtraInfo (line 10) | class AccountExtraInfo(common.Structure):
method __init__ (line 11) | def __init__(self):
method check_required (line 17) | def check_required(self, settings, version):
method load (line 22) | def load(self, stream, version):
method save (line 27) | def save(self, stream, version):
class FriendComment (line 34) | class FriendComment(common.Data):
method __init__ (line 35) | def __init__(self):
method check_required (line 41) | def check_required(self, settings, version):
method load (line 46) | def load(self, stream, version):
method save (line 51) | def save(self, stream, version):
class FriendKey (line 59) | class FriendKey(common.Structure):
method __init__ (line 60) | def __init__(self):
method check_required (line 65) | def check_required(self, settings, version):
method load (line 70) | def load(self, stream, version):
method save (line 74) | def save(self, stream, version):
class FriendMii (line 80) | class FriendMii(common.Data):
method __init__ (line 81) | def __init__(self):
method check_required (line 87) | def check_required(self, settings, version):
method load (line 92) | def load(self, stream, version):
method save (line 97) | def save(self, stream, version):
class FriendMiiList (line 105) | class FriendMiiList(common.Data):
method __init__ (line 106) | def __init__(self):
method check_required (line 112) | def check_required(self, settings, version):
method load (line 117) | def load(self, stream, version):
method save (line 122) | def save(self, stream, version):
class FriendPersistentInfo (line 130) | class FriendPersistentInfo(common.Data):
method __init__ (line 131) | def __init__(self):
method check_required (line 145) | def check_required(self, settings, version):
method load (line 150) | def load(self, stream, version):
method save (line 163) | def save(self, stream, version):
class FriendPicture (line 179) | class FriendPicture(common.Data):
method __init__ (line 180) | def __init__(self):
method check_required (line 186) | def check_required(self, settings, version):
method load (line 191) | def load(self, stream, version):
method save (line 196) | def save(self, stream, version):
class FriendPresence (line 204) | class FriendPresence(common.Data):
method __init__ (line 205) | def __init__(self):
method check_required (line 210) | def check_required(self, settings, version):
method load (line 215) | def load(self, stream, version):
method save (line 219) | def save(self, stream, version):
class FriendRelationship (line 226) | class FriendRelationship(common.Data):
method __init__ (line 227) | def __init__(self):
method check_required (line 233) | def check_required(self, settings, version):
method load (line 238) | def load(self, stream, version):
method save (line 243) | def save(self, stream, version):
class GameKey (line 251) | class GameKey(common.Data):
method __init__ (line 252) | def __init__(self):
method check_required (line 257) | def check_required(self, settings, version):
method load (line 260) | def load(self, stream, version):
method save (line 264) | def save(self, stream, version):
class Mii (line 271) | class Mii(common.Data):
method __init__ (line 272) | def __init__(self):
method check_required (line 279) | def check_required(self, settings, version):
method load (line 284) | def load(self, stream, version):
method save (line 290) | def save(self, stream, version):
class MiiList (line 299) | class MiiList(common.Data):
method __init__ (line 300) | def __init__(self):
method check_required (line 307) | def check_required(self, settings, version):
method load (line 312) | def load(self, stream, version):
method save (line 318) | def save(self, stream, version):
class MyProfile (line 327) | class MyProfile(common.Data):
method __init__ (line 328) | def __init__(self):
method check_required (line 339) | def check_required(self, settings, version):
method load (line 344) | def load(self, stream, version):
method save (line 354) | def save(self, stream, version):
class NintendoPresence (line 367) | class NintendoPresence(common.Data):
method __init__ (line 368) | def __init__(self):
method check_required (line 381) | def check_required(self, settings, version):
method load (line 386) | def load(self, stream, version):
method save (line 398) | def save(self, stream, version):
class PlayedGame (line 413) | class PlayedGame(common.Data):
method __init__ (line 414) | def __init__(self):
method check_required (line 419) | def check_required(self, settings, version):
method load (line 424) | def load(self, stream, version):
method save (line 428) | def save(self, stream, version):
class BlacklistedPrincipal (line 435) | class BlacklistedPrincipal(common.Data):
method __init__ (line 436) | def __init__(self):
method check_required (line 442) | def check_required(self, settings, version):
method load (line 447) | def load(self, stream, version):
method save (line 452) | def save(self, stream, version):
class Comment (line 460) | class Comment(common.Data):
method __init__ (line 461) | def __init__(self):
method check_required (line 467) | def check_required(self, settings, version):
method load (line 472) | def load(self, stream, version):
method save (line 477) | def save(self, stream, version):
class FriendInfo (line 485) | class FriendInfo(common.Data):
method __init__ (line 486) | def __init__(self):
method check_required (line 495) | def check_required(self, settings, version):
method load (line 500) | def load(self, stream, version):
method save (line 508) | def save(self, stream, version):
class FriendRequest (line 519) | class FriendRequest(common.Data):
method __init__ (line 520) | def __init__(self):
method check_required (line 526) | def check_required(self, settings, version):
method load (line 531) | def load(self, stream, version):
method save (line 536) | def save(self, stream, version):
class FriendRequestMessage (line 544) | class FriendRequestMessage(common.Data):
method __init__ (line 545) | def __init__(self):
method check_required (line 557) | def check_required(self, settings, version):
method load (line 562) | def load(self, stream, version):
method save (line 573) | def save(self, stream, version):
class MiiV2 (line 587) | class MiiV2(common.Data):
method __init__ (line 588) | def __init__(self):
method check_required (line 596) | def check_required(self, settings, version):
method load (line 601) | def load(self, stream, version):
method save (line 608) | def save(self, stream, version):
class NNAInfo (line 618) | class NNAInfo(common.Data):
method __init__ (line 619) | def __init__(self):
method check_required (line 625) | def check_required(self, settings, version):
method load (line 628) | def load(self, stream, version):
method save (line 633) | def save(self, stream, version):
class NintendoCreateAccountData (line 641) | class NintendoCreateAccountData(common.Data):
method __init__ (line 642) | def __init__(self):
method check_required (line 649) | def check_required(self, settings, version):
method load (line 654) | def load(self, stream, version):
method save (line 660) | def save(self, stream, version):
class NintendoPresenceV2 (line 669) | class NintendoPresenceV2(common.Data):
method __init__ (line 670) | def __init__(self):
method check_required (line 688) | def check_required(self, settings, version):
method load (line 691) | def load(self, stream, version):
method save (line 708) | def save(self, stream, version):
class PersistentNotification (line 728) | class PersistentNotification(common.Data):
method __init__ (line 729) | def __init__(self):
method check_required (line 737) | def check_required(self, settings, version):
method load (line 742) | def load(self, stream, version):
method save (line 749) | def save(self, stream, version):
class PrincipalBasicInfo (line 759) | class PrincipalBasicInfo(common.Data):
method __init__ (line 760) | def __init__(self):
method check_required (line 767) | def check_required(self, settings, version):
method load (line 772) | def load(self, stream, version):
method save (line 778) | def save(self, stream, version):
class PrincipalPreference (line 787) | class PrincipalPreference(common.Data):
method __init__ (line 788) | def __init__(self):
method check_required (line 794) | def check_required(self, settings, version):
method load (line 799) | def load(self, stream, version):
method sa
Condensed preview — 186 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,538K chars).
[
{
"path": ".github/FUNDING.yml",
"chars": 64,
"preview": "# These are supported funding model platforms\n\ngithub: [kinnay]\n"
},
{
"path": ".github/workflows/testing.yml",
"chars": 539,
"preview": "name: Pytest\n\non:\n push:\n branches: [master, main]\n pull_request:\n branches: [master, main]\n\njobs:\n pytest:\n "
},
{
"path": ".gitignore",
"chars": 74,
"preview": "\n/*.egg-info/\n__pycache__/\n/build/\n/dist/\n/site/\n\n/private/\n/*.bin\n/*.jpg\n"
},
{
"path": ".readthedocs.yml",
"chars": 305,
"preview": "# Read the Docs configuration file for MkDocs projects\n# See https://docs.readthedocs.io/en/stable/config-file/v2.html f"
},
{
"path": "LICENSE",
"chars": 1072,
"preview": "MIT License\n\nCopyright (c) 2017 Yannik Marchand\n\nPermission is hereby granted, free of charge, to any person obtaining a"
},
{
"path": "README.md",
"chars": 2699,
"preview": "# Nintendo Clients\n> :warning: Keep in mind that Nintendo bans Switch devices that show suspicious behavior. This packag"
},
{
"path": "docs/changelog.md",
"chars": 4036,
"preview": "\n## Changelog\n\n### 4.4.0\n* Added support for Switch system version 22.0.0 and 22.1.0.\n\n*Released on 2026-04-14*\n\n### 4.3"
},
{
"path": "docs/index.md",
"chars": 3136,
"preview": "\n## Welcome to NintendoClients\n\nThis package lets you communicate with various 3DS, Wii U and Switch servers. For docume"
},
{
"path": "docs/reference/miis.md",
"chars": 1934,
"preview": "\r\n# Module: <code>nintendo.miis</code>\r\n\r\nProvides a parser for FFL mii data.\r\n\r\n<code>**class** [MiiData](#miidata)</co"
},
{
"path": "docs/reference/nasc.md",
"chars": 3400,
"preview": "\n# Module: <code>nintendo.nasc</code>\n\nProvides a client for [nasc.nintendowifi.net](https://github.com/kinnay/nintendo/"
},
{
"path": "docs/reference/nex/aauser.md",
"chars": 2851,
"preview": "\n# Module: <code>nintendo.nex.aauser</code>\n\nProvides a client and server for the `AAUserProtocol`. This page was genera"
},
{
"path": "docs/reference/nex/account.md",
"chars": 16911,
"preview": "\n# Module: <code>nintendo.nex.account</code>\n\nProvides a client and server for the `AccountProtocol`. This page was gene"
},
{
"path": "docs/reference/nex/authentication.md",
"chars": 12941,
"preview": "\n# Module: <code>nintendo.nex.authentication</code>\n\nProvides a client and server for the `AuthenticationProtocol` and `"
},
{
"path": "docs/reference/nex/backend.md",
"chars": 1366,
"preview": "\r\n# Module: <code>nintendo.nex.backend</code>\r\n\r\nProvides a client for game servers.\r\n\r\n<code>**class** [BackEndClient]("
},
{
"path": "docs/reference/nex/common.md",
"chars": 8675,
"preview": "\r\n# Module: <code>nintendo.nex.common</code>\r\n\r\nProvides classes that are used by various `nex` modules.\r\n\r\n<code>**clas"
},
{
"path": "docs/reference/nex/datastore.md",
"chars": 57295,
"preview": "\n# Module: <code>nintendo.nex.datastore</code>\n\nProvides a client and server for the `DataStoreProtocol`. This page was "
},
{
"path": "docs/reference/nex/datastore_miitopia_3ds.md",
"chars": 60263,
"preview": "\n# Module: <code>nintendo.nex.datastore_miitopia_3ds</code>\n\nProvides a client and server for the `DataStoreProtocolMiit"
},
{
"path": "docs/reference/nex/datastore_smm.md",
"chars": 58058,
"preview": "\n# Module: <code>nintendo.nex.datastore_smm</code>\n\nProvides a client and server for the `DataStoreProtocolSMM`. This pa"
},
{
"path": "docs/reference/nex/datastore_smm2.md",
"chars": 105418,
"preview": "\n# Module: <code>nintendo.nex.datastore_smm2</code>\n\nProvides a client and server for the `DataStoreProtocolSMM2`. This "
},
{
"path": "docs/reference/nex/debug.md",
"chars": 4011,
"preview": "\n# Module: <code>nintendo.nex.debug</code>\n\nProvides a client and server for the `DebugProtocol`. This page was generate"
},
{
"path": "docs/reference/nex/errors.md",
"chars": 363,
"preview": "\r\n# Module: <code>nintendo.nex.errors</code>\r\n\r\nProvides descriptions for error codes. The error codes in these tables d"
},
{
"path": "docs/reference/nex/friends.md",
"chars": 38175,
"preview": "\n# Module: <code>nintendo.nex.friends</code>\n\nProvides a client and server for the `FriendsProtocolV1` and `FriendsProto"
},
{
"path": "docs/reference/nex/friends_3ds.md",
"chars": 14847,
"preview": "\n# Module: <code>nintendo.nex.friends_3ds</code>\n\nProvides a client and server for the `FriendsProtocolV1`. This page wa"
},
{
"path": "docs/reference/nex/health.md",
"chars": 2142,
"preview": "\n# Module: <code>nintendo.nex.health</code>\n\nProvides a client and server for the `HealthProtocol`. This page was genera"
},
{
"path": "docs/reference/nex/hpp.md",
"chars": 893,
"preview": "\r\n# Module: <code>nintendo.nex.hpp</code>\r\n\r\nProvides a client that performs remote method calls through HTTP.\r\n\r\n<code>"
},
{
"path": "docs/reference/nex/kerberos.md",
"chars": 4848,
"preview": "\r\n# Module: <code>nintendo.nex.kerberos</code>\r\n\r\nProvides classes for Kerberos authentication. For details, click [here"
},
{
"path": "docs/reference/nex/matchmaking.md",
"chars": 76500,
"preview": "\n# Module: <code>nintendo.nex.matchmaking</code>\n\nProvides a client and server for the `MatchMakingProtocol`, `MatchMaki"
},
{
"path": "docs/reference/nex/matchmaking_eagle.md",
"chars": 77145,
"preview": "\n# Module: <code>nintendo.nex.matchmaking_eagle</code>\n\nProvides a client and server for the `MatchMakingProtocol`, `Mat"
},
{
"path": "docs/reference/nex/matchmaking_mhxx.md",
"chars": 79757,
"preview": "\n# Module: <code>nintendo.nex.matchmaking_mhxx</code>\n\nProvides a client and server for the `MatchMakingProtocol`, `Matc"
},
{
"path": "docs/reference/nex/matchmaking_mk8.md",
"chars": 78968,
"preview": "\n# Module: <code>nintendo.nex.matchmaking_mk8</code>\n\nProvides a client and server for the `MatchMakingProtocol`, `Match"
},
{
"path": "docs/reference/nex/matchmaking_mk8d.md",
"chars": 84432,
"preview": "\n# Module: <code>nintendo.nex.matchmaking_mk8d</code>\n\nProvides a client and server for the `MatchMakingProtocol`, `Matc"
},
{
"path": "docs/reference/nex/messaging.md",
"chars": 8068,
"preview": "\n# Module: <code>nintendo.nex.messaging</code>\n\nProvides a client and server for the `MessagingProtocol` and `MessageDel"
},
{
"path": "docs/reference/nex/monitoring.md",
"chars": 1600,
"preview": "\n# Module: <code>nintendo.nex.monitoring</code>\n\nProvides a client and server for the `MonitoringProtocol`. This page wa"
},
{
"path": "docs/reference/nex/natcheck.md",
"chars": 345,
"preview": "\r\n# Module: <code>nintendo.nex.natcheck</code>\r\n\r\nImplements a NAT check client.\r\n\r\n<code>**async def detect_external_ad"
},
{
"path": "docs/reference/nex/nattraversal.md",
"chars": 4553,
"preview": "\n# Module: <code>nintendo.nex.nattraversal</code>\n\nProvides a client and server for the `NATTraversalProtocol`. This pag"
},
{
"path": "docs/reference/nex/nintendonotification.md",
"chars": 6067,
"preview": "\n# Module: <code>nintendo.nex.nintendonotification</code>\n\nProvides a client and server for the `NintendoNotificationPro"
},
{
"path": "docs/reference/nex/notification.md",
"chars": 2218,
"preview": "\n# Module: <code>nintendo.nex.notification</code>\n\nProvides a client and server for the `NotificationProtocol`. This pag"
},
{
"path": "docs/reference/nex/prudp.md",
"chars": 5664,
"preview": "\r\n# Module: <code>nintendo.nex.prudp</code>\r\n\r\nProvides a client and server for PRUDP. Originally, PRUDP implemented rel"
},
{
"path": "docs/reference/nex/ranking.md",
"chars": 12364,
"preview": "\n# Module: <code>nintendo.nex.ranking</code>\n\nProvides a client and server for the `RankingProtocol`. This page was gene"
},
{
"path": "docs/reference/nex/ranking2.md",
"chars": 12336,
"preview": "\n# Module: <code>nintendo.nex.ranking2</code>\n\nProvides a client and server for the `Ranking2Protocol`. This page was ge"
},
{
"path": "docs/reference/nex/ranking2_eagle.md",
"chars": 13442,
"preview": "\n# Module: <code>nintendo.nex.ranking2_eagle</code>\n\nProvides a client and server for the `Ranking2Protocol`. This page "
},
{
"path": "docs/reference/nex/ranking_mk8.md",
"chars": 14060,
"preview": "\n# Module: <code>nintendo.nex.ranking_mk8</code>\n\nProvides a client and server for the `RankingProtocolMK8`. This page w"
},
{
"path": "docs/reference/nex/ranking_mk8d.md",
"chars": 19518,
"preview": "\n# Module: <code>nintendo.nex.ranking_mk8d</code>\n\nProvides a client and server for the `RankingProtocolMK8D`. This page"
},
{
"path": "docs/reference/nex/remotelog.md",
"chars": 1346,
"preview": "\n# Module: <code>nintendo.nex.remotelog</code>\n\nProvides a client and server for the `RemoteLogDeviceProtocol`. This pag"
},
{
"path": "docs/reference/nex/rmc.md",
"chars": 4161,
"preview": "\r\n# Module: <code>nintendo.nex.rmc</code>\r\n\r\nProvides a client and server for the RMC protocol. An alternative client th"
},
{
"path": "docs/reference/nex/screening.md",
"chars": 957,
"preview": "\n# Module: <code>nintendo.nex.screening</code>\n\nProvides a client and server for the `ScreeningProtocol`. This page was "
},
{
"path": "docs/reference/nex/secure.md",
"chars": 6776,
"preview": "\n# Module: <code>nintendo.nex.secure</code>\n\nProvides a client and server for the `SecureConnectionProtocol`. This page "
},
{
"path": "docs/reference/nex/settings.md",
"chars": 5390,
"preview": "\r\n# Module: <code>nintendo.nex.settings</code>\r\n\r\nDefines settings for `nex` classes.\r\n\r\n<code>**class** [Settings](#set"
},
{
"path": "docs/reference/nex/streams.md",
"chars": 5414,
"preview": "\r\n# Module: <code>nintendo.nex.streams</code>\r\n\r\nExtends [generic memory streams](https://anynet.readthedocs.io/en/lates"
},
{
"path": "docs/reference/nex/subscriber.md",
"chars": 972,
"preview": "\n# Module: <code>nintendo.nex.subscriber</code>\n\nProvides a client and server for the `SubscriberProtocol`. This page wa"
},
{
"path": "docs/reference/nex/utility.md",
"chars": 4528,
"preview": "\n# Module: <code>nintendo.nex.utility</code>\n\nProvides a client and server for the `UtilityProtocol`. This page was gene"
},
{
"path": "docs/reference/nnas.md",
"chars": 6473,
"preview": "\r\n# Module: <code>nintendo.nnas</code>\r\n\r\nProvides a client for the 3DS/Wii U [account server](https://github.com/kinnay"
},
{
"path": "docs/reference/switch/aauth.md",
"chars": 5597,
"preview": "\r\n# Module: <code>nintendo.switch.aauth</code>\r\nProvides a client for the [application authentication server](https://gi"
},
{
"path": "docs/reference/switch/atumn.md",
"chars": 2392,
"preview": "\n# Module: <code>nintendo.switch.atumn</code>\nProvides a client for the [system update content server](https://github.co"
},
{
"path": "docs/reference/switch/baas.md",
"chars": 4480,
"preview": "\r\n# Module: <code>nintendo.switch.baas</code>\r\nProvides a client for the [BaaS server](https://github.com/kinnay/nintend"
},
{
"path": "docs/reference/switch/dauth.md",
"chars": 6890,
"preview": "\r\n# Module: <code>nintendo.switch.dauth</code>\r\nProvides a client for the [device authentication server](https://github."
},
{
"path": "docs/reference/switch/dragons.md",
"chars": 3396,
"preview": "\n# Module: <code>nintendo.switch.dragons</code>\nProvides a client for the [dragons servers](https://github.com/kinnay/ni"
},
{
"path": "docs/reference/switch/five.md",
"chars": 3439,
"preview": "\n# Module: <code>nintendo.switch.five</code>\nProvides a client for the [online play invitation server](https://github.co"
},
{
"path": "docs/reference/switch/sun.md",
"chars": 2322,
"preview": "\n# Module: <code>nintendo.switch.sun</code>\nProvides a client for the [system update meta server](https://github.com/kin"
},
{
"path": "docs/reference/switch.md",
"chars": 1128,
"preview": "\r\n# Module: <code>nintendo.switch</code>\r\n\r\nProvides useful functions and classes related to Nintendo Switch.\r\n\r\n<code>*"
},
{
"path": "docs/style.css",
"chars": 272,
"preview": "\r\n.docs {\r\n\tmargin-left: 25px;\r\n\tdisplay: inline-block;\r\n}\r\n\r\ncode, .rst-content code {\r\n\tbackground: transparent;\r\n\tfon"
},
{
"path": "examples/3ds/friends.py",
"chars": 1446,
"preview": "\nfrom nintendo import nasc\nfrom nintendo.nex import backend, friends, settings\nimport anyio\n\nimport logging\nlogging.basi"
},
{
"path": "examples/custom/server.py",
"chars": 2815,
"preview": "\nfrom nintendo.nex import rmc, kerberos, friends, \\\n\tauthentication, common, settings\nimport collections\nimport secrets\n"
},
{
"path": "examples/custom/server_login.py",
"chars": 320,
"preview": "\nfrom nintendo.nex import backend, settings\nimport anyio\n\nimport logging\nlogging.basicConfig(level=logging.INFO)\n\n\nasync"
},
{
"path": "examples/switch/animalcrossing.py",
"chars": 5061,
"preview": "\r\nfrom nintendo.switch import dauth, aauth, baas, dragons\r\nfrom nintendo.nex import backend, authentication, matchmaking"
},
{
"path": "examples/switch/smm2_level.py",
"chars": 6766,
"preview": "\r\nfrom nintendo.switch import dauth, aauth, baas, dragons\r\nfrom nintendo.nex import backend, authentication, \\\r\n\tsetting"
},
{
"path": "examples/switch/smm2_ninji.py",
"chars": 5471,
"preview": "\r\nfrom nintendo.switch import dauth, aauth, baas, dragons\r\nfrom nintendo.nex import backend, authentication, \\\r\n\tsetting"
},
{
"path": "examples/switch/system_update.py",
"chars": 4884,
"preview": "\nfrom nintendo.switch import sun, atumn\nfrom nintendo import switch\nimport anyio\nimport os\nimport re\nimport struct\nimpor"
},
{
"path": "examples/wiiu/donkeykong.py",
"chars": 2638,
"preview": "\r\nfrom nintendo.nex import backend, ranking, datastore, settings\r\nfrom nintendo import nnas\r\nfrom anynet import http\r\nim"
},
{
"path": "examples/wiiu/friends.py",
"chars": 4033,
"preview": "\nfrom nintendo.nex import backend, friends, common, settings\nfrom nintendo import nnas\nimport anyio\n\nimport logging\nlogg"
},
{
"path": "examples/wiiu/mariokart.py",
"chars": 3153,
"preview": "\r\nfrom nintendo.nex import backend, ranking, datastore, settings\r\nfrom nintendo import nnas\r\nfrom anynet import http\r\nim"
},
{
"path": "examples/wiiu/miis.py",
"chars": 2941,
"preview": "\r\nfrom nintendo import nnas, miis\r\nimport anyio\r\n\r\nasync def main():\r\n\tnas = nnas.NNASClient()\r\n\tpid = await nas.get_pid"
},
{
"path": "generate_protocols.py",
"chars": 45252,
"preview": "\nimport string\nimport os\n\n\nTYPE_NAME = 0\nTYPE_RESERVED = 1\nTYPE_SYMBOL = 2\nTYPE_NUMBER = 3\nTYPE_STRING = 4\nTYPE_EOF = 5\n"
},
{
"path": "mkdocs.yml",
"chars": 68,
"preview": "site_name: NintendoClients\ntheme: readthedocs\nextra_css: [style.css]"
},
{
"path": "nintendo/__init__.py",
"chars": 2,
"preview": "\n\n"
},
{
"path": "nintendo/files/config/3ds.cfg",
"chars": 45,
"preview": "\nprudp.version = 0\nprudp.fragment_size = 962\n"
},
{
"path": "nintendo/files/config/default.cfg",
"chars": 533,
"preview": "\nnex.version = 0\nnex.client_version = 0\nnex.struct_header = 0\nnex.pid_size = 4\n\nprudp.access_key = \n\nprudp.version = 2\np"
},
{
"path": "nintendo/files/config/friends.cfg",
"chars": 101,
"preview": "\nprudp.version = 0\nprudp.fragment_size = 962\n\nprudp_v0.signature_version = 1\n\nkerberos.key_size = 16\n"
},
{
"path": "nintendo/files/config/switch.cfg",
"chars": 185,
"preview": "\nprudp.minor_version = 5\n\nprudp.transport = 2\nprudp.encryption = 0\n\nprudp.resend_timeout = 5\nprudp.resend_limit = 0\n\nker"
},
{
"path": "nintendo/files/proto/aauser.proto",
"chars": 348,
"preview": "\r\nstruct ApplicationInfo {\r\n\tuint64 title_id;\r\n\tuint16 title_version;\r\n}\r\n\r\nprotocol AAUser : 123 {\r\n\tmethod register_ap"
},
{
"path": "nintendo/files/proto/account.proto",
"chars": 2772,
"preview": "\nstruct AccountData {\n\tpid pid;\n\tstring name;\n\tuint32 groups;\n\tstring email;\n\tdatetime creation_date;\n\tdatetime effectiv"
},
{
"path": "nintendo/files/proto/authentication.proto",
"chars": 2107,
"preview": "\n// Defines protocol 10\n\nstruct AuthenticationInfo : Data {\n\tstring token;\n\tuint32 ngs_version = 3;\n\tuint8 token_type = "
},
{
"path": "nintendo/files/proto/datastore.proto",
"chars": 11889,
"preview": "\nstruct DataStoreChangeMetaCompareParam {\n\tuint32 comparison_flag;\n\tstring name;\n\tDataStorePermission permission;\n\tDataS"
},
{
"path": "nintendo/files/proto/datastore_miitopia_3ds.proto",
"chars": 961,
"preview": "\nimport datastore;\n\n/*** Enums ***/\n\nenum Gender {\n\tMALE = 0,\n\tFEMALE = 1,\n\n\tANY = 2\n}\n\nenum Category {\n\tSINGING = 0,\n\tS"
},
{
"path": "nintendo/files/proto/datastore_smm.proto",
"chars": 228,
"preview": "\r\nimport datastore;\r\n\r\nprotocol DataStore_SMM : DataStore {\r\n\tmethod(61) get_application_config(uint32 id) {\r\n\t\tlist<uin"
},
{
"path": "nintendo/files/proto/datastore_smm2.proto",
"chars": 10819,
"preview": "\nimport datastore;\n\n/*** Enums ***/\n\nenum ClearCondition {\n\tNORMAL = 0,\n\tCOLLECT_COINS = 4116396131,\n\tKILL_SKIPSQUEAKS ="
},
{
"path": "nintendo/files/proto/debug.proto",
"chars": 704,
"preview": "\nstruct ApiCall {\n\tstring name;\n\tdatetime time;\n\tpid pid;\n}\n\nstruct ApiCallSummary {\n\tstring name;\n\tuint32 limit_exceede"
},
{
"path": "nintendo/files/proto/friends.proto",
"chars": 7314,
"preview": "\n// 3DS structures\n\nstruct AccountExtraInfo {\n\tuint64 local_friend_code;\n\tuint32 move_count;\n\tstring token;\n}\n\nstruct Fr"
},
{
"path": "nintendo/files/proto/health.proto",
"chars": 202,
"preview": "\r\nprotocol Health : 18 {\r\n\tmethod ping_daemon() { bool result; }\r\n\tmethod ping_database() { bool result; }\r\n\tmethod run_"
},
{
"path": "nintendo/files/proto/matchmaking.proto",
"chars": 16150,
"preview": "\nenum MatchmakeSystem {\n\tGLOBAL = 1,\n\tFRIENDS = 2\n}\n\nstruct Gathering {\n\tuint32 id = 0;\n\tpid owner = 0;\n\tpid host = 0;\n\t"
},
{
"path": "nintendo/files/proto/matchmaking_eagle.proto",
"chars": 1635,
"preview": "\nimport matchmaking;\n\nstruct MatchmakeRefereeStartRoundParam {\n\tuint32 personal_data_category;\n\tuint32 gid;\n\tlist<pid> p"
},
{
"path": "nintendo/files/proto/matchmaking_mhxx.proto",
"chars": 682,
"preview": "\r\nimport matchmaking;\r\n\r\nstruct FriendUserParam {\r\n string name;\r\n}\r\n\r\nstruct FriendUserInfo {\r\n uint64 pid;\r\n "
},
{
"path": "nintendo/files/proto/matchmaking_mk8.proto",
"chars": 1387,
"preview": "\r\nimport matchmaking;\r\n\r\nstruct SimpleSearchObject {\r\n uint32 id;\r\n pid owner;\r\n list<uint32> attributes;\r\n "
},
{
"path": "nintendo/files/proto/matchmaking_mk8d.proto",
"chars": 2009,
"preview": "\nimport matchmaking;\n\nenum SimpleSearchConditionOperator {\n\tANY = 0,\n\tEQUAL = 1,\n\tGREATER_THAN = 2,\n\tLESS_THAN = 3,\n\tGRE"
},
{
"path": "nintendo/files/proto/messaging.proto",
"chars": 1380,
"preview": "\r\nenum RecipientType {\r\n\tPRINCIPAL = 1,\r\n\tGATHERING = 2\r\n}\r\n\r\nstruct MessageRecipient {\r\n\tuint32 type;\r\n\tpid pid;\r\n\tuint"
},
{
"path": "nintendo/files/proto/monitoring.proto",
"chars": 128,
"preview": "\nprotocol Monitoring : 19 {\n\tmethod ping_daemon() { bool result; }\n\tmethod get_cluster_members() {\n\t\tlist<string> member"
},
{
"path": "nintendo/files/proto/nattraversal.proto",
"chars": 645,
"preview": "\nprotocol NATTraversal : 3 {\n\tmethod request_probe_initiation(list<stationurl> target_urls) {}\n\tmethod initiate_probe(st"
},
{
"path": "nintendo/files/proto/nintendonotification.proto",
"chars": 1120,
"preview": "\r\nstruct u8KeyValue : Data {\r\n\tuint8 key;\r\n\tuint8 value;\r\n}\r\n\r\nstruct u32KeyValue : Data {\r\n\tuint8 key;\r\n\tuint32 value;\r"
},
{
"path": "nintendo/files/proto/notification.proto",
"chars": 328,
"preview": "\nstruct NotificationEvent {\n\tpid pid;\n\tuint32 type;\n\tpid param1 = 0;\n\tpid param2 = 0;\n\tstring text = \"\";\n\t\n\tnex 30500 {\n"
},
{
"path": "nintendo/files/proto/ranking.proto",
"chars": 2600,
"preview": "\nenum RankingOrderCalc {\n\tSTANDARD = 0,\n\tORDINAL = 1\n}\n\nenum RankingMode {\n\tGLOBAL = 0,\n\tGLOBAL_AROUND_SELF = 1,\n\tSELF ="
},
{
"path": "nintendo/files/proto/ranking2.proto",
"chars": 2779,
"preview": "\nenum RankingMode {\n\tGLOBAL_AROUND_SELF = 1,\n\tGLOBAL = 2,\n\tFRIENDS = 3\n}\n\nstruct Ranking2CategorySetting {\n\tuint32 min_s"
},
{
"path": "nintendo/files/proto/ranking2_eagle.proto",
"chars": 268,
"preview": "\nimport ranking2;\n\nstruct Ranking2EstimateMyScoreRankInput {\n\tuint32 category;\n\tuint8 seasons_to_go_back;\n}\n\nprotocol Ra"
},
{
"path": "nintendo/files/proto/ranking_mk8.proto",
"chars": 713,
"preview": "\r\nimport ranking;\r\n\r\nstruct CompetitionRankingInfo {\r\n\tuint32 id;\r\n\tuint32 num_participants;\r\n\tlist<uint32> team_scores;"
},
{
"path": "nintendo/files/proto/ranking_mk8d.proto",
"chars": 1508,
"preview": "\nimport ranking;\n\nstruct CommonDataList {\n\tlist<qbuffer> data;\n}\n\nstruct CompetitionRankingGetScoreParam {\n\tuint32 id;\n\t"
},
{
"path": "nintendo/files/proto/remotelog.proto",
"chars": 69,
"preview": "\r\nprotocol RemoteLogDevice : 1 {\r\n\tmethod log(string message) {}\r\n}\r\n"
},
{
"path": "nintendo/files/proto/screening.proto",
"chars": 97,
"preview": "\r\nprotocol Screening : 124 {\r\n method report_data_store_content;\r\n method report_user;\r\n}\r\n"
},
{
"path": "nintendo/files/proto/secure.proto",
"chars": 800,
"preview": "\nstruct ConnectionData {\n\tstationurl station;\n\tuint32 connection_id;\n}\n\nstruct NintendoLoginData {\n\tstring token;\n}\n\npro"
},
{
"path": "nintendo/files/proto/subscriber.proto",
"chars": 408,
"preview": "\r\nprotocol Subscriber : 121 {\r\n\tmethod hello;\r\n\tmethod post_content;\r\n\tmethod get_content;\r\n\tmethod follow;\r\n\tmethod unf"
},
{
"path": "nintendo/files/proto/utility.proto",
"chars": 736,
"preview": "\nstruct UniqueIdInfo {\n\tuint64 unique_id = 0;\n\tuint64 password = 0;\n}\n\nprotocol Utility : 110 {\n\tmethod acquire_nex_uniq"
},
{
"path": "nintendo/miis.py",
"chars": 7406,
"preview": "\nfrom anynet import streams\nimport struct\n\n\ndef swap32(data, offs):\n\tstruct.pack_into(\"<I\", data, offs, struct.unpack_fr"
},
{
"path": "nintendo/nasc.py",
"chars": 6981,
"preview": "\nfrom anynet import http, tls\nfrom nintendo import resources\nimport datetime\nimport secrets\nimport base64\n\nimport loggin"
},
{
"path": "nintendo/nex/__init__.py",
"chars": 2,
"preview": "\n\n"
},
{
"path": "nintendo/nex/aauser.py",
"chars": 5836,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/account.py",
"chars": 43193,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/authentication.py",
"chars": 24107,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/backend.py",
"chars": 4362,
"preview": "\nfrom nintendo.nex import rmc, authentication, kerberos, common\nfrom anynet import tls\nimport contextlib\n\nimport logging"
},
{
"path": "nintendo/nex/common.py",
"chars": 6719,
"preview": "\nfrom nintendo.nex.errors import error_names, error_codes\nfrom nintendo.nex import streams\nimport datetime, time\n\nimport"
},
{
"path": "nintendo/nex/datastore.py",
"chars": 104615,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/datastore_miitopia_3ds.py",
"chars": 110742,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/datastore_smm.py",
"chars": 107915,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/datastore_smm2.py",
"chars": 191023,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/debug.py",
"chars": 9261,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/errors.py",
"chars": 12134,
"preview": "\nerror_names = {\n\t0x00010001: \"Core::Unknown\",\n\t0x00010002: \"Core::NotImplemented\",\n\t0x00010003: \"Core::InvalidPointer\","
},
{
"path": "nintendo/nex/friends.py",
"chars": 83571,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/health.py",
"chars": 5299,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/hpp.py",
"chars": 2796,
"preview": "\r\nfrom anynet import http, tls\r\nfrom nintendo import resources\r\nfrom nintendo.nex import common, kerberos, rmc, streams\r"
},
{
"path": "nintendo/nex/kerberos.py",
"chars": 3785,
"preview": "\nfrom Crypto.Cipher import ARC4\nfrom nintendo.nex import streams\nimport struct\nimport secrets\nimport hashlib\nimport hmac"
},
{
"path": "nintendo/nex/matchmaking.py",
"chars": 191801,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/matchmaking_eagle.py",
"chars": 194086,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/matchmaking_mhxx.py",
"chars": 201090,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/matchmaking_mk8.py",
"chars": 195768,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/matchmaking_mk8d.py",
"chars": 213463,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/messaging.py",
"chars": 15122,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/monitoring.py",
"chars": 3131,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/natcheck.py",
"chars": 480,
"preview": "\r\nfrom anynet import util\r\nimport struct\r\n\r\n\r\nPRIMARY_ADDRESS = \"nncs1-lp1.n.n.srv.nintendo.net\"\r\nPRIMARY_PORT = 10025\r\n"
},
{
"path": "nintendo/nex/nattraversal.py",
"chars": 9997,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/nintendonotification.py",
"chars": 8617,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/notification.py",
"chars": 3099,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/prudp.py",
"chars": 50969,
"preview": "\nfrom Crypto.Cipher import ARC4\nfrom anynet import udp, tls, websocket, util, \\\n\tscheduler, streams, queue\nfrom nintendo"
},
{
"path": "nintendo/nex/ranking.py",
"chars": 26130,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/ranking2.py",
"chars": 24689,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/ranking2_eagle.py",
"chars": 26774,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/ranking_mk8.py",
"chars": 28984,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/ranking_mk8d.py",
"chars": 40662,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/remotelog.py",
"chars": 1703,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/rmc.py",
"chars": 9104,
"preview": "\nfrom nintendo.nex import prudp, common, streams\nfrom anynet import util\nimport contextlib\nimport struct\nimport anyio\n\ni"
},
{
"path": "nintendo/nex/screening.py",
"chars": 1349,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/secure.py",
"chars": 12459,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/settings.py",
"chars": 2209,
"preview": "\r\nfrom nintendo import resources\r\n\r\n\r\nclass Settings:\r\n\tTRANSPORT_UDP = 0\r\n\tTRANSPORT_TCP = 1\r\n\tTRANSPORT_WEBSOCKET = 2\r"
},
{
"path": "nintendo/nex/streams.py",
"chars": 3439,
"preview": "\nfrom nintendo.nex import common\nfrom anynet import streams\n\n\nclass StreamOut(streams.StreamOut):\n\tdef __init__(self, se"
},
{
"path": "nintendo/nex/subscriber.py",
"chars": 4802,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nex/utility.py",
"chars": 12343,
"preview": "\n# This file was generated automatically by generate_protocols.py\n\nfrom nintendo.nex import notification, rmc, common, s"
},
{
"path": "nintendo/nnas.py",
"chars": 11970,
"preview": "\nfrom anynet import http, tls\nfrom nintendo import resources\nimport datetime\nimport hashlib\nimport struct\nimport base64\n"
},
{
"path": "nintendo/resources.py",
"chars": 516,
"preview": "\nfrom anynet import tls\nimport importlib.resources\n\n\ndef get(path):\n\treturn importlib.resources.files(\"nintendo\").joinpa"
},
{
"path": "nintendo/switch/__init__.py",
"chars": 2187,
"preview": "\r\nfrom Crypto.Cipher import AES\r\nfrom Crypto.PublicKey import RSA\r\nfrom anynet import tls\r\nimport hashlib\r\nimport struct"
},
{
"path": "nintendo/switch/aauth.py",
"chars": 14171,
"preview": "\nfrom Crypto.Util.Padding import pad\nfrom Crypto.Cipher import AES, PKCS1_OAEP\nfrom Crypto.PublicKey import RSA\nfrom Cry"
},
{
"path": "nintendo/switch/atumn.py",
"chars": 2079,
"preview": "\nfrom anynet import tls, http\nfrom nintendo import resources\nfrom nintendo.switch import common\n\nimport logging\nlogger ="
},
{
"path": "nintendo/switch/baas.py",
"chars": 11071,
"preview": "\nfrom anynet import tls, http\nimport json\n\nimport logging\nlogger = logging.getLogger(__name__)\n\n\nMODULE_ACCOUNT = \"nnAcc"
},
{
"path": "nintendo/switch/common.py",
"chars": 1223,
"preview": "\nFIRMWARE_VERSIONS = {\n\t900: \"9.0.0-4.0\",\n\t901: \"9.0.1-1.0\",\n\t910: \"9.1.0-1.0\",\n\t920: \"9.2.0-1.0\",\n\t1000: \"10.0.0-6.0\",\n"
},
{
"path": "nintendo/switch/dauth.py",
"chars": 20721,
"preview": "\r\nfrom Crypto.Hash import CMAC\r\nfrom Crypto.Cipher import AES\r\nfrom anynet import tls, http\r\nfrom nintendo import resour"
},
{
"path": "nintendo/switch/dragons.py",
"chars": 6294,
"preview": "\nfrom anynet import tls, http\nfrom nintendo import resources\nfrom nintendo.switch import common, dauth\nimport base64\n\nim"
},
{
"path": "nintendo/switch/five.py",
"chars": 11036,
"preview": "\nfrom anynet import tls, http\nfrom nintendo import resources\nimport base64\n\nimport logging\nlogger = logging.getLogger(__"
},
{
"path": "nintendo/switch/sun.py",
"chars": 1992,
"preview": "\nfrom anynet import tls, http\nfrom nintendo import resources\nfrom nintendo.switch import common\n\nimport logging\nlogger ="
},
{
"path": "setup.py",
"chars": 594,
"preview": "\nimport setuptools\n\nlong_description = \\\n\t\"This library implements various network protocols made by Nintendo.\"\n\nsetupto"
},
{
"path": "tests/nex/test_backend.py",
"chars": 2024,
"preview": "\r\nfrom nintendo.nex import backend, rmc, common, authentication, \\\r\n\tkerberos, account, settings\r\nimport pytest\r\n\r\n\r\nHOS"
},
{
"path": "tests/nex/test_common.py",
"chars": 4034,
"preview": "\r\nfrom nintendo.nex import common\r\nimport pytest\r\n\r\n\r\ndef test_result():\r\n\tresult = common.Result.success()\r\n\tassert res"
},
{
"path": "tests/nex/test_errors.py",
"chars": 168,
"preview": "\r\nfrom nintendo.nex import errors\r\n\r\ndef test_basic():\r\n\tassert errors.error_names[0x10001] == \"Core::Unknown\"\r\n\tassert "
},
{
"path": "tests/nex/test_kerberos.py",
"chars": 2607,
"preview": "\r\nfrom nintendo.nex import kerberos, settings, common\r\n\r\ndef test_key_derivation_old():\r\n\tkeyderiv1 = kerberos.KeyDeriva"
},
{
"path": "tests/nex/test_nex_streams.py",
"chars": 8319,
"preview": "\r\nfrom nintendo.nex import streams, settings, common\r\n\r\n\r\nclass TestStreamOut:\r\n\tdef test_pid(self):\r\n\t\tstream = streams"
},
{
"path": "tests/nex/test_prudp.py",
"chars": 6204,
"preview": "\r\nfrom nintendo.nex import prudp, settings, kerberos, common\r\nimport pytest\r\n\r\n\r\nHOST = \"127.0.0.1\"\r\n\r\n\r\n@pytest.mark.an"
},
{
"path": "tests/nex/test_rmc.py",
"chars": 1550,
"preview": "\r\nfrom nintendo.nex import rmc, common, authentication, settings\r\nimport pytest\r\nimport anyio\r\n\r\n\r\nHOST = \"127.0.0.1\"\r\n\r"
},
{
"path": "tests/nex/test_settings.py",
"chars": 655,
"preview": "\r\nfrom nintendo.nex import settings\r\n\r\n\r\ndef test_constants():\r\n\ts = settings.default()\r\n\tassert s.TRANSPORT_UDP == 0\r\n\t"
},
{
"path": "tests/switch/test_aauth.py",
"chars": 11612,
"preview": "\r\nfrom nintendo.switch import aauth\r\nfrom anynet import http\r\nimport pytest\r\nimport struct\r\n\r\n\r\nTOKEN_REQUEST_1300 = \\\r\n"
},
{
"path": "tests/switch/test_atumn.py",
"chars": 3884,
"preview": "\nfrom nintendo.switch import atumn\nfrom anynet import http\nimport pytest\n\n\nTEST_DEVICE_ID = 0x6265ca40780b1c0d\nTEST_SYST"
},
{
"path": "tests/switch/test_baas.py",
"chars": 10753,
"preview": "\r\nfrom nintendo.switch import baas\r\nfrom anynet import http\r\nimport pytest\r\nimport struct\r\n\r\n\r\nAUTHENTICATE_REQUEST_1200"
},
{
"path": "tests/switch/test_dauth.py",
"chars": 10370,
"preview": "\r\nfrom nintendo.switch import dauth\r\nfrom anynet import http\r\nimport pytest\r\n\r\n\r\nCHALLENGE_REQUEST_1200 = \\\r\n\t\"POST /v6/"
},
{
"path": "tests/switch/test_dragons.py",
"chars": 5899,
"preview": "\nfrom nintendo.switch import dragons\nfrom anynet import http\nimport pytest\n\n\nTEST_DEVICE_ID = 0x12345678\nTEST_DEVICE_TOK"
},
{
"path": "tests/switch/test_five.py",
"chars": 3763,
"preview": "\nfrom nintendo.switch import five\nfrom anynet import http\nimport pytest\n\n\nUNREAD_INVITATION_COUNT_REQUEST = \\\n\"\"\"GET /v1"
},
{
"path": "tests/switch/test_sun.py",
"chars": 928,
"preview": "\nfrom nintendo.switch import sun\nfrom anynet import http\nimport pytest\n\n\nTEST_DEVICE_ID = 0x6265ca40780b1c0d\n\nSYSTEM_UPD"
}
]
// ... and 7 more files (download for full content)
About this extraction
This page contains the full source code of the Kinnay/NintendoClients GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 186 files (3.1 MB), approximately 832.5k tokens, and a symbol index with 6753 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.