webcface.func module

class webcface.func.Func(base: Field | None, field: str = '', return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False)[source]

Bases: Field

property args: List[Arg]

引数の情報を返す

exists() bool[source]

このFuncの情報が存在すればtrue (ver2.0〜)

free() Func[source]

関数の設定を削除

property member: Member

Memberを返す

property name: str

field名を返す

property return_type: int

戻り値の型を返す

ValTypeのEnumを使う

run(*args) float | bool | str[source]

関数を実行する (同期)

  • selfの関数の場合、このスレッドで直接実行する

例外が発生した場合そのままraise, 関数が存在しない場合 FuncNotFoundError をraiseする * リモートの場合、関数呼び出しを送信し結果が返ってくるまで待機 例外が発生した場合 RuntimeError, 関数が存在しない場合 FuncNotFoundError をthrowする * (ver2.0〜) Client.sync() を呼ぶのとは別のスレッドで使用することを想定している。 呼び出しが成功したかどうかの情報の受信は Client.sync() で行われるため、 この関数を使用して待機している間に Client.sync() が呼ばれていないとデッドロックしてしまうので注意。

run_async(*args) Promise[source]

関数を実行する (非同期)

  • 戻り値やエラー、例外はPromiseから取得する

set(func: Callable, return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False) Func[source]

関数からFuncInfoを構築しセットする

  • 関数にアノテーションがついている場合はreturn_typeとargs内のtypeは不要

  • (ver2.0〜) set()でセットした関数は Client.sync() のスレッドでそのまま呼び出され、

この関数が完了するまで他のデータの受信はブロックされる。

Parameters:
  • func – 登録したい関数

  • return_type – 関数の戻り値 (ValTypeのEnumまたはtypeクラス)

  • args – 関数の引数の情報

  • handle – (ver2.2〜) これをTrueにするか引数型のアノテーションでCallHandle型が指定されている場合、

引数に CallHandle が渡されるようになる

set_async(func: Callable, return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False) Func[source]

関数からFuncInfoを構築しセットする (ver2.0〜)

  • setAsync()でセットした場合、他クライアントから呼び出されたとき新しいスレッドを建てて実行される。

Parameters:
  • func – 登録したい関数

  • return_type – 関数の戻り値 (ValTypeのEnumまたはtypeクラス)

  • args – 関数の引数の情報

  • handle – (ver2.2〜) これをTrueにするか引数型のアノテーションでCallHandle型が指定されている場合、

引数に CallHandle が渡されるようになる