WebCFace 2.9.0
Web-based Communication Framework & Dashboard-like UI
Loading...
Searching...
No Matches
FuncListener Class Reference

#include <webcface/func.h>

Inheritance diagram for FuncListener:
[legend]
Collaboration diagram for FuncListener:
[legend]

Public Member Functions

 FuncListener ()=default
 
 FuncListener (const Field &base)
 
 FuncListener (const Field &base, const SharedString &field)
 
FuncListenerlisten ()
 関数呼び出しの待受を開始する
 
FuncListenerlisten (std::size_t args_num, ValType return_type=ValType::none_)
 関数呼び出しの待受を開始する
 
FuncListenersetArgs (const std::vector< Arg > &args)
 引数の情報をセットする
 
FuncListenersetReturnType (ValType type)
 戻り値の型をセットする
 
FuncListenerhidden (bool)
 関数を関数リストで非表示にする (他clientのentryに表示されなくする)
 
std::optional< FuncCallHandlefetchCall () const
 関数が呼び出されたかどうかを確認
 
template<typename Member_ = Member, bool = ::webcface::traits::assertCompleteMember < std::enable_if_t<std::is_same_v< Member_, Member >, Member_>>()>
Member_ member () const
 Memberを返す
 
const std::string & name () const
 field名を返す
 

Protected Types

using FuncType = void(CallHandle)
 

Protected Member Functions

Func child (std::string_view field) const
 「(thisの名前).(追加の名前)」を新しい名前とするField
 
Func child (std::wstring_view field) const
 「(thisの名前).(追加の名前)」を新しい名前とするField (wstring)
 
Func child (int index) const
 
Field child (const SharedString &field) const
 
Func operator[] (std::string_view field) const
 
Func operator[] (std::wstring_view field) const
 
Func operator[] (const char *field) const
 
Func operator[] (const wchar_t *field) const
 
Func operator[] (int index) const
 
Func parent () const
 nameの最後のピリオドの前までを新しい名前とするField
 
const FuncsetImpl (ValType return_type, std::vector< Arg > &&args, std::function< FuncType > &&func_impl) const
 
const FuncsetImpl (ValType return_type, std::nullopt_t, std::function< FuncType > &&func_impl) const
 
const FuncsetImpl (const std::shared_ptr< internal::FuncInfo > &func_info) const
 
template<typename T , typename traits::FuncObjTrait< T >::ReturnTypeTrait::ReturnTypeSupportedByWebCFaceFunc = traits::TraitOk, typename traits::FuncObjTrait< T >::ArgTypesTrait::ArgTypesSupportedByWebCFaceFunc = traits::TraitOk>
const Funcset (T func) const
 関数をセットする
 
template<typename T , typename std::enable_if_t< std::is_same_v< std::invoke_result_t< T, CallHandle >, void >, std::nullptr_t > = nullptr>
const Funcset (std::vector< Arg > args, ValType return_type, T callback) const
 引数にCallHandleを取る関数を登録する
 
template<typename T , typename std::enable_if_t< std::is_same_v< std::invoke_result_t< T, CallHandle >, void >, std::nullptr_t > = nullptr>
const Funcset (T callback) const
 引数にCallHandleを取る関数を登録する
 
template<typename T , typename traits::FuncObjTrait< T >::ReturnTypeTrait::ReturnTypeSupportedByWebCFaceFunc = traits::TraitOk, typename traits::FuncObjTrait< T >::ArgTypesTrait::ArgTypesSupportedByWebCFaceFunc = traits::TraitOk>
const FuncsetAsync (T func) const
 非同期に実行される関数をセットする
 
template<typename T , typename std::enable_if_t< std::is_same_v< std::invoke_result_t< T, CallHandle >, void >, std::nullptr_t > = nullptr>
const FuncsetAsync (std::vector< Arg > args, ValType return_type, T callback) const
 引数にFuncCallHandleを取り非同期に実行される関数を登録する
 
template<typename T , typename std::enable_if_t< std::is_same_v< std::invoke_result_t< T, CallHandle >, void >, std::nullptr_t > = nullptr>
const FuncsetAsync (T callback) const
 引数にFuncCallHandleを取り非同期に実行される関数を登録する
 
const Funchidden (bool) const
 関数を関数リストで非表示にする (他clientのentryに表示されなくする)
 
const Funcfree () const
 関数の設定を削除
 
template<typename... Args>
ValAdaptor run (Args... args) const
 関数を実行する (同期)
 
ValAdaptor run (std::vector< ValAdaptor > &&args_vec) const
 
template<typename... Args>
ValAdaptor operator() (Args... args) const
 run()と同じ
 
template<typename... Args>
Promise runAsync (Args... args) const
 関数を実行する (非同期)
 
Promise runAsync (std::vector< ValAdaptor > args_vec) const
 
bool exists () const
 関数の情報が存在すればtrue
 
int index () const
 member内での関数の登録順番号
 
const FuncsetIndex (int index) const
 indexを変更する
 
ValType returnType () const
 戻り値の型を返す
 
std::vector< Argargs () const
 引数の情報を返す
 
const Arg args (std::size_t i) const
 
const FuncsetArgs (const std::vector< Arg > &args) const
 引数の情報を更新する
 
const FuncsetReturnType (ValType return_type) const
 戻り値の型の情報を更新する
 
template<typename T , typename std::enable_if_t< std::is_same_v< T, Func >, std::nullptr_t > = nullptr>
bool operator== (const T &other) const
 Funcの参照先を比較
 
bool operator== (const Field &other) const
 
bool operator== (const FieldBase &rhs) const
 
template<typename T , typename std::enable_if_t< std::is_same_v< T, Func >, std::nullptr_t > = nullptr>
bool operator!= (const T &other) const
 
bool operator!= (const Field &other) const
 
bool operator!= (const FieldBase &rhs) const
 
std::string lastName () const
 nameのうちピリオドで区切られた最後の部分を取り出す
 
const std::wstring & nameW () const
 field名を返す (wstring)
 
std::shared_ptr< internal::ClientDatadataLock () const
 data_wをlockし、失敗したらruntime_errorを投げる
 
std::shared_ptr< internal::ClientDatasetCheck () const
 data_wをlockし、memberがselfではなければinvalid_argumentを投げる
 
bool expired () const
 
SharedString lastName8 () const
 
std::wstring lastNameW () const
 nameのうちピリオドで区切られた最後の部分を取り出す (wstring)
 
template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
Value_ value (std::string_view field="") const
 
template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
Value_ value (std::wstring_view field) const
 
template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
Text_ text (std::string_view field="") const
 
template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
Text_ text (std::wstring_view field) const
 
template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
RobotModel_ robotModel (std::string_view field="") const
 
template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
RobotModel_ robotModel (std::wstring_view field) const
 
template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
Image_ image (std::string_view field="") const
 
template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
Image_ image (std::wstring_view field) const
 
template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
Func_ func (std::string_view field="") const
 
template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
Func_ func (std::wstring_view field) const
 
template<typename FuncListener_ = FuncListener, bool = ::webcface::traits::assertCompleteFuncListener < std::enable_if_t<std::is_same_v< FuncListener_, FuncListener >, FuncListener_>>()>
FuncListener_ funcListener (std::string_view field="") const
 
template<typename FuncListener_ = FuncListener, bool = ::webcface::traits::assertCompleteFuncListener < std::enable_if_t<std::is_same_v< FuncListener_, FuncListener >, FuncListener_>>()>
FuncListener_ funcListener (std::wstring_view field) const
 
template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
View_ view (std::string_view field="") const
 
template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
View_ view (std::wstring_view field) const
 
template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
Canvas3D_ canvas3D (std::string_view field="") const
 
template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
Canvas3D_ canvas3D (std::wstring_view field) const
 
template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
Canvas2D_ canvas2D (std::string_view field="") const
 
template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
Canvas2D_ canvas2D (std::wstring_view field) const
 
template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
Log_ log (std::string_view field="") const
 
template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
Log_ log (std::wstring_view field) const
 
std::vector< Fieldchildren () const
 「(thisの名前).(追加の名前)」で公開されているデータのリスト
 
std::vector< FieldchildrenRecurse () const
 「(thisの名前).(追加の名前)」で公開されているデータのリスト(再帰)
 
bool hasChildren () const
 「(thisの名前).(追加の名前)」で公開されているデータが存在するかどうかを返す
 
template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
std::vector< Value_ > valueEntries () const
 「(thisの名前).(追加の名前)」で公開されているvalueのリストを返す。
 
template<typename T , bool >
std::vector< T > valueEntries () const
 
template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
std::vector< Text_ > textEntries () const
 「(thisの名前).(追加の名前)」で公開されているtextのリストを返す。
 
template<typename T , bool >
std::vector< T > textEntries () const
 
template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
std::vector< RobotModel_ > robotModelEntries () const
 「(thisの名前).(追加の名前)」で公開されているrobotModelのリストを返す。
 
template<typename T , bool >
std::vector< T > robotModelEntries () const
 
template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
std::vector< Func_ > funcEntries () const
 「(thisの名前).(追加の名前)」で公開されているfuncのリストを返す。
 
template<typename T , bool >
std::vector< T > funcEntries () const
 
template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
std::vector< View_ > viewEntries () const
 「(thisの名前).(追加の名前)」で公開されているviewのリストを返す。
 
template<typename T , bool >
std::vector< T > viewEntries () const
 
template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
std::vector< Canvas2D_ > canvas2DEntries () const
 「(thisの名前).(追加の名前)」で公開されているcanvas2Dのリストを返す。
 
template<typename T , bool >
std::vector< T > canvas2DEntries () const
 
template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
std::vector< Canvas3D_ > canvas3DEntries () const
 「(thisの名前).(追加の名前)」で公開されているcanvas3Dのリストを返す。
 
template<typename T , bool >
std::vector< T > canvas3DEntries () const
 
template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
std::vector< Image_ > imageEntries () const
 「(thisの名前).(追加の名前)」で公開されているimageのリストを返す。
 
template<typename T , bool >
std::vector< T > imageEntries () const
 
template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
std::vector< Log_ > logEntries () const
 「(thisの名前).(追加の名前)」で公開されているlogのリストを返す。
 
template<typename T , bool >
std::vector< T > logEntries () const
 
bool isSelf () const
 memberがselfならtrue
 

Static Protected Member Functions

template<typename F1 >
static void catchAll (F1 &&f_run, const CallHandle &handle)
 
template<typename F1 >
static void tryRun (F1 &&f_run, const CallHandle &handle)
 

Protected Attributes

std::weak_ptr< internal::ClientDatadata_w
 ClientDataの参照
 
SharedString member_
 メンバー名
 
SharedString field_
 フィールド名
 

Friends

class TemporalViewComponent
 
class TemporalCanvas2DComponent
 

Member Typedef Documentation

◆ FuncType

using FuncType = void (CallHandle)
inherited

Constructor & Destructor Documentation

◆ FuncListener() [1/3]

FuncListener ( )
default

◆ FuncListener() [2/3]

FuncListener ( const Field base)

◆ FuncListener() [3/3]

FuncListener ( const Field base,
const SharedString field 
)
inline

Member Function Documentation

◆ args() [1/2]

std::vector< Arg > args ( ) const
inherited

引数の情報を返す

変更するにはsetArgsを使う(このvectorの中身を書き換えても反映されない)

◆ args() [2/2]

const Arg args ( std::size_t  i) const
inlineinherited

◆ canvas2D() [1/2]

template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
Canvas2D_ canvas2D ( std::string_view  field = "") const
inlineinherited

◆ canvas2D() [2/2]

template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
Canvas2D_ canvas2D ( std::wstring_view  field) const
inlineinherited

◆ canvas2DEntries() [1/2]

template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
template std::vector< Canvas2D > canvas2DEntries< Canvas2D, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているcanvas2Dのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ canvas2DEntries() [2/2]

template<typename T , bool >
template std::vector< Canvas2D > canvas2DEntries< Canvas2D, true > ( ) const
inherited

◆ canvas3D() [1/2]

template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
Canvas3D_ canvas3D ( std::string_view  field = "") const
inlineinherited

◆ canvas3D() [2/2]

template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
Canvas3D_ canvas3D ( std::wstring_view  field) const
inlineinherited

◆ canvas3DEntries() [1/2]

template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
template std::vector< Canvas3D > canvas3DEntries< Canvas3D, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているcanvas3Dのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ canvas3DEntries() [2/2]

template<typename T , bool >
template std::vector< Canvas3D > canvas3DEntries< Canvas3D, true > ( ) const
inherited

◆ catchAll()

template<typename F1 >
static void catchAll ( F1 &&  f_run,
const CallHandle handle 
)
inlinestaticprotectedinherited

f_run()を実行し例外を投げた場合はrejectする

◆ child() [1/4]

Field child ( const SharedString field) const
inherited

◆ child() [2/4]

Func child ( int  index) const
inlineinherited
Since
ver1.11
Deprecated:
ver2.8〜

◆ child() [3/4]

Func child ( std::string_view  field) const
inlineinherited

「(thisの名前).(追加の名前)」を新しい名前とするField

◆ child() [4/4]

Func child ( std::wstring_view  field) const
inlineinherited

「(thisの名前).(追加の名前)」を新しい名前とするField (wstring)

Since
ver2.0

◆ children()

std::vector< Field > children ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているデータのリスト

Since
ver2.6
  • データ型を問わずすべてのデータを列挙する。
  • childrenRecurse() と異なり、 名前にさらにピリオドが含まれる場合はその前までの名前を返す。
  • 同名で複数のデータが存在する場合も1回のみカウントする。
See also
childrenRecurse(), hasChildren()

◆ childrenRecurse()

std::vector< Field > childrenRecurse ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているデータのリスト(再帰)

Since
ver2.6
  • データ型を問わずすべてのデータを列挙する。
  • 同名で複数のデータが存在する場合も1回のみカウントする。
See also
children(), hasChildren()

◆ dataLock()

std::shared_ptr< internal::ClientData > dataLock ( ) const
inherited

data_wをlockし、失敗したらruntime_errorを投げる

◆ exists()

bool exists ( ) const
inherited

関数の情報が存在すればtrue

Since
ver2.1

◆ expired()

bool expired ( ) const
inherited

◆ fetchCall()

std::optional< FuncCallHandle > fetchCall ( ) const

関数が呼び出されたかどうかを確認

1回の関数呼び出しに対してfetchCallは1回だけhandleを返す

Returns
呼び出されたらその引数と、値を返す用の関数が入ったhandleを返す。 まだ呼び出されてなければnulloptを返す。

◆ free()

const Func & free ( ) const
inherited

関数の設定を削除

◆ func() [1/2]

template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
Func_ func ( std::string_view  field = "") const
inlineinherited

◆ func() [2/2]

template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
Func_ func ( std::wstring_view  field) const
inlineinherited

◆ funcEntries() [1/2]

template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
template std::vector< Func > funcEntries< Func, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているfuncのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ funcEntries() [2/2]

template<typename T , bool >
template std::vector< Func > funcEntries< Func, true > ( ) const
inherited

◆ funcListener() [1/2]

template<typename FuncListener_ = FuncListener, bool = ::webcface::traits::assertCompleteFuncListener < std::enable_if_t<std::is_same_v< FuncListener_, FuncListener >, FuncListener_>>()>
FuncListener_ funcListener ( std::string_view  field = "") const
inlineinherited

◆ funcListener() [2/2]

template<typename FuncListener_ = FuncListener, bool = ::webcface::traits::assertCompleteFuncListener < std::enable_if_t<std::is_same_v< FuncListener_, FuncListener >, FuncListener_>>()>
FuncListener_ funcListener ( std::wstring_view  field) const
inlineinherited

◆ hasChildren()

bool hasChildren ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているデータが存在するかどうかを返す

Since
ver2.6
See also
children(), childrenRecurse()

◆ hidden() [1/2]

FuncListener & hidden ( bool  )
inline

関数を関数リストで非表示にする (他clientのentryに表示されなくする)

Deprecated:
ver1.10から、名前が半角ピリオドで始まるかどうかで判断されるように仕様変更したため、 hiddenの指定は無効 (この関数は効果がない)

◆ hidden() [2/2]

const Func & hidden ( bool  ) const
inlineinherited

関数を関数リストで非表示にする (他clientのentryに表示されなくする)

Deprecated:
ver1.10から、名前が半角ピリオドで始まるかどうかで判断されるように仕様変更したため、 hiddenの指定は無効 (この関数は効果がない)

◆ image() [1/2]

template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
Image_ image ( std::string_view  field = "") const
inlineinherited

◆ image() [2/2]

template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
Image_ image ( std::wstring_view  field) const
inlineinherited

◆ imageEntries() [1/2]

template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
template std::vector< Image > imageEntries< Image, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているimageのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ imageEntries() [2/2]

template<typename T , bool >
template std::vector< Image > imageEntries< Image, true > ( ) const
inherited

◆ index()

int index ( ) const
inherited

member内での関数の登録順番号

Since
ver2.8

関数の情報が存在しない場合、また送信側のクライアントが古い場合0が返る

◆ isSelf()

bool isSelf ( ) const
inherited

memberがselfならtrue

data_wがlockできなければruntime_errorを投げる

◆ lastName()

std::string lastName ( ) const
inlineinherited

nameのうちピリオドで区切られた最後の部分を取り出す

Since
ver1.11

◆ lastName8()

SharedString lastName8 ( ) const
protectedinherited

◆ lastNameW()

std::wstring lastNameW ( ) const
inlineinherited

nameのうちピリオドで区切られた最後の部分を取り出す (wstring)

Since
ver2.0

◆ listen() [1/2]

FuncListener & listen ( )

関数呼び出しの待受を開始する

◆ listen() [2/2]

FuncListener & listen ( std::size_t  args_num,
ValType  return_type = ValType::none_ 
)
inline

関数呼び出しの待受を開始する

Parameters
args_num引数の個数 (setArgsで設定していない場合)
return_type戻り値の型 (setReturnTypeで設定していない場合)

◆ log() [1/2]

template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
Log_ log ( std::string_view  field = "") const
inlineinherited
Since
ver2.4

◆ log() [2/2]

template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
Log_ log ( std::wstring_view  field) const
inlineinherited
Since
ver2.4

◆ logEntries() [1/2]

template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
template std::vector< Log > logEntries< Log, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているlogのリストを返す。

Since
ver2.4
See also
childrenRecurse()

◆ logEntries() [2/2]

template<typename T , bool >
template std::vector< Log > logEntries< Log, true > ( ) const
inherited

◆ member()

template<typename Member_ = Member, bool = ::webcface::traits::assertCompleteMember < std::enable_if_t<std::is_same_v< Member_, Member >, Member_>>()>
Member_ member ( ) const
inline

Memberを返す

◆ name()

const std::string & name ( ) const
inline

field名を返す

◆ nameW()

const std::wstring & nameW ( ) const
inlineinherited

field名を返す (wstring)

Since
ver2.0

◆ operator!=() [1/3]

bool operator!= ( const Field other) const
inlineinherited

◆ operator!=() [2/3]

bool operator!= ( const FieldBase rhs) const
inlineinherited

◆ operator!=() [3/3]

template<typename T , typename std::enable_if_t< std::is_same_v< T, Func >, std::nullptr_t > = nullptr>
bool operator!= ( const T &  other) const
inlineinherited

◆ operator()()

template<typename... Args>
ValAdaptor operator() ( Args...  args) const
inlineinherited

run()と同じ

Deprecated:
ver2.0〜

◆ operator==() [1/3]

bool operator== ( const Field other) const
inherited

◆ operator==() [2/3]

bool operator== ( const FieldBase rhs) const
inlineinherited

◆ operator==() [3/3]

template<typename T , typename std::enable_if_t< std::is_same_v< T, Func >, std::nullptr_t > = nullptr>
bool operator== ( const T &  other) const
inlineinherited

Funcの参照先を比較

Since
ver1.11

◆ operator[]() [1/5]

Func operator[] ( const char *  field) const
inlineinherited

operator[](long, const char *)と解釈されるのを防ぐための定義

Since
ver1.11

◆ operator[]() [2/5]

Func operator[] ( const wchar_t *  field) const
inlineinherited
Since
ver2.0

◆ operator[]() [3/5]

Func operator[] ( int  index) const
inlineinherited

child()と同じ

Since
ver1.11
Deprecated:
ver2.8〜

◆ operator[]() [4/5]

Func operator[] ( std::string_view  field) const
inlineinherited

child()と同じ

Since
ver1.11

◆ operator[]() [5/5]

Func operator[] ( std::wstring_view  field) const
inlineinherited

child()と同じ

Since
ver2.0

◆ parent()

Func parent ( ) const
inlineinherited

nameの最後のピリオドの前までを新しい名前とするField

Since
ver1.11

◆ returnType()

ValType returnType ( ) const
inherited

戻り値の型を返す

◆ robotModel() [1/2]

template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
RobotModel_ robotModel ( std::string_view  field = "") const
inlineinherited

◆ robotModel() [2/2]

template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
RobotModel_ robotModel ( std::wstring_view  field) const
inlineinherited

◆ robotModelEntries() [1/2]

template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
template std::vector< RobotModel > robotModelEntries< RobotModel, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているrobotModelのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ robotModelEntries() [2/2]

template<typename T , bool >
template std::vector< RobotModel > robotModelEntries< RobotModel, true > ( ) const
inherited

◆ run() [1/2]

template<typename... Args>
ValAdaptor run ( Args...  args) const
inlineinherited

関数を実行する (同期)

例外が発生した場合 runtime_error, 関数が存在しない場合 FuncNotFound をthrowする

Deprecated:
ver2.0〜 runAsync()を推奨。 Promise::waitFinish() と response(), rejection() で同等のことができるが、 使い方によってはデッドロックを起こす可能性がある。 詳細は waitFinish() のドキュメントを参照

◆ run() [2/2]

ValAdaptor run ( std::vector< ValAdaptor > &&  args_vec) const
inlineinherited

◆ runAsync() [1/2]

template<typename... Args>
Promise runAsync ( Args...  args) const
inlineinherited

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

  • 非同期で実行する。 戻り値やエラー、例外は Promise から取得する
  • 関数を実行したスレッドはdetachされるので、戻り値が不要な場合は Promise を破棄してもよい。 (std::async などとは異なる)
  • ver2.0~: runAsyncを呼んだ時点でclientがサーバーに接続していない場合、 関数呼び出しメッセージは送信されず呼び出しは失敗する (Promise::found() が false になる)

◆ runAsync() [2/2]

AsyncFuncResult runAsync ( std::vector< ValAdaptor args_vec) const
inherited

◆ set() [1/3]

template<typename T , typename std::enable_if_t< std::is_same_v< std::invoke_result_t< T, CallHandle >, void >, std::nullptr_t > = nullptr>
const Func & set ( std::vector< Arg args,
ValType  return_type,
callback 
) const
inlineinherited

引数にCallHandleを取る関数を登録する

Since
ver1.9
  • WebCFace内部でCのAPIからの呼び出しに使うためのもの
  • ver1.11まで: 関数がrespond()もreject()もせず終了した場合自動でrespondする。
  • ver2.0〜: 自動でrespondされることはないので、 関数が受け取ったhandleを別スレッドに渡すなどして、 ここでセットした関数の終了後にrespond()やreject()することも可能。
  • ver2.4〜: 例外をthrowした場合catchしてreject()する。
Parameters
args引数の型などの情報
return_type戻り値の型
funcセットする関数または関数オブジェクト。 引数としてCallHandleを1つ取り、戻り値はvoidで、 CallHandle::respond() や reject() を通して値を返す

◆ set() [2/3]

template<typename T , typename std::enable_if_t< std::is_same_v< std::invoke_result_t< T, CallHandle >, void >, std::nullptr_t > = nullptr>
const Func & set ( callback) const
inlineinherited

引数にCallHandleを取る関数を登録する

Since
ver2.4
  • 自動でrespondされることはないので、 関数が受け取ったhandleを別スレッドに渡すなどして、 ここでセットした関数の終了後にrespond()やreject()することも可能。
  • setArgs(), setReturnType() で引数の個数や型と戻り値の型を指定する。 指定しない場合、引数なし戻り値なしとみなされる。
  • 例外をthrowした場合catchしてreject()する。
Parameters
funcセットする関数または関数オブジェクト。 引数としてCallHandleを1つ取り、戻り値はvoidで、 CallHandle::respond() や reject() を通して値を返す

◆ set() [3/3]

template<typename T , typename traits::FuncObjTrait< T >::ReturnTypeTrait::ReturnTypeSupportedByWebCFaceFunc = traits::TraitOk, typename traits::FuncObjTrait< T >::ArgTypesTrait::ArgTypesSupportedByWebCFaceFunc = traits::TraitOk>
const Func & set ( func) const
inlineinherited

関数をセットする

  • ver2.0〜: set()でセットした場合、他クライアントから呼び出されたとき Client::recv() (または autoRecv) のスレッドでそのまま実行され、 この関数が完了するまで他のデータの受信はブロックされる。 また、 runAsync() で呼び出したとしても同じスレッドで同期実行される。
Parameters
funcセットする関数または関数オブジェクト。 引数はValAdaptorからキャスト可能な型ならいくつでも、 戻り値はvoidまたはValAdaptorにキャスト可能な型が使用可能
See also
setAsync()

◆ setArgs() [1/2]

FuncListener & setArgs ( const std::vector< Arg > &  args)
inline

引数の情報をセットする

listen() の前に呼ばなければならない。

◆ setArgs() [2/2]

const Func & setArgs ( const std::vector< Arg > &  args) const
inherited

引数の情報を更新する

  • setArgsで渡された引数の情報(名前など)とFuncがすでに持っている引数の情報(型など)がマージされる
  • 関数のsetの後に呼ばなければならない
    • set前に呼ぶと std::invalid_argument
    • 例えば Func(...).set(...).setArgs({...}) のようにする
  • また、関数をセットしたあと cli.sync() をする前に呼ばなければならない
  • 実際にセットした関数の引数の数とargsの要素数は一致していなければならない
    • 一致していない場合 std::invalid_argument

◆ setAsync() [1/3]

template<typename T , typename std::enable_if_t< std::is_same_v< std::invoke_result_t< T, CallHandle >, void >, std::nullptr_t > = nullptr>
const Func & setAsync ( std::vector< Arg args,
ValType  return_type,
callback 
) const
inlineinherited

引数にFuncCallHandleを取り非同期に実行される関数を登録する

Since
ver2.0
  • WebCFace内部でCのAPIからの呼び出しに使うためのもの
  • 関数がrespond()もreject()もせず終了した場合自動でrespondされることはないので、 関数が受け取ったhandleを別スレッドに渡すなどして、 ここでセットした関数の終了後にrespond()やreject()することも可能。
  • ver2.4〜: 例外をthrowした場合catchしてreject()する。
Parameters
args引数の型などの情報
return_type戻り値の型
funcセットする関数または関数オブジェクト。 引数としてCallHandleを1つ取り、戻り値はvoidで、 CallHandle::respond() や reject() を通して値を返す

◆ setAsync() [2/3]

template<typename T , typename std::enable_if_t< std::is_same_v< std::invoke_result_t< T, CallHandle >, void >, std::nullptr_t > = nullptr>
const Func & setAsync ( callback) const
inlineinherited

引数にFuncCallHandleを取り非同期に実行される関数を登録する

Since
ver2.4
  • 自動でrespondされることはないので、 関数が受け取ったhandleを別スレッドに渡すなどして、 ここでセットした関数の終了後にrespond()やreject()することも可能。
  • setArgs(), setReturnType() で引数の個数や型と戻り値の型を指定する。 指定しない場合、引数なし戻り値なしとみなされる。
  • 例外をthrowした場合catchしてreject()する。
Parameters
funcセットする関数または関数オブジェクト。 引数としてCallHandleを1つ取り、戻り値はvoidで、 CallHandle::respond() や reject() を通して値を返す

◆ setAsync() [3/3]

template<typename T , typename traits::FuncObjTrait< T >::ReturnTypeTrait::ReturnTypeSupportedByWebCFaceFunc = traits::TraitOk, typename traits::FuncObjTrait< T >::ArgTypesTrait::ArgTypesSupportedByWebCFaceFunc = traits::TraitOk>
const Func & setAsync ( func) const
inlineinherited

非同期に実行される関数をセットする

Since
ver2.0
  • setAsync()でセットした場合、他クライアントから呼び出されたとき新しいスレッドを建てて実行される。 ver1.11以前のset()と同じ。
  • 排他制御などはセットする関数の側で用意してください。
Parameters
funcセットする関数または関数オブジェクト。 引数はValAdaptorからキャスト可能な型ならいくつでも、 戻り値はvoidまたはValAdaptorにキャスト可能な型が使用可能
See also
set()

◆ setCheck()

std::shared_ptr< internal::ClientData > setCheck ( ) const
inherited

data_wをlockし、memberがselfではなければinvalid_argumentを投げる

◆ setImpl() [1/3]

const Func & setImpl ( const std::shared_ptr< internal::FuncInfo > &  func_info) const
protectedinherited

◆ setImpl() [2/3]

const Func & setImpl ( ValType  return_type,
std::nullopt_t  ,
std::function< FuncType > &&  func_impl 
) const
protectedinherited

引数の個数不定バージョン

◆ setImpl() [3/3]

const Func & setImpl ( ValType  return_type,
std::vector< Arg > &&  args,
std::function< FuncType > &&  func_impl 
) const
protectedinherited

set2()で構築された関数の情報(FuncInfo)をclientにセット

◆ setIndex()

const Func & setIndex ( int  index) const
inherited

indexを変更する

Since
ver2.8
  • デフォルトではFuncがsetされた順に 1, 2, 3 ... とindexが割り振られるが、 これを手動で変更することにより、 WebUI等での表示順を変更することができる。
  • 関数をsetした後に呼ばなければならない
    • set前に呼ぶと std::invalid_argument

◆ setReturnType() [1/2]

const Func & setReturnType ( ValType  return_type) const
inherited

戻り値の型の情報を更新する

Since
ver2.4
  • set()やsetAsync()で通常の関数をセットした場合戻り値の型は自動的に取得されるので setReturnType() を呼ぶ必要はない。
  • 関数をsetする前に呼ぶと std::invalid_argument

◆ setReturnType() [2/2]

FuncListener & setReturnType ( ValType  type)
inline

戻り値の型をセットする

listen() の前に呼ばなければならない。

◆ text() [1/2]

template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
Text_ text ( std::string_view  field = "") const
inlineinherited

◆ text() [2/2]

template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
Text_ text ( std::wstring_view  field) const
inlineinherited

◆ textEntries() [1/2]

template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
template std::vector< Text > textEntries< Text, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているtextのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ textEntries() [2/2]

template<typename T , bool >
template std::vector< Text > textEntries< Text, true > ( ) const
inherited

◆ tryRun()

template<typename F1 >
static void tryRun ( F1 &&  f_run,
const CallHandle handle 
)
inlinestaticprotectedinherited

f_run()を実行し結果をCallHandleに渡す

◆ value() [1/2]

template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
Value_ value ( std::string_view  field = "") const
inlineinherited

◆ value() [2/2]

template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
Value_ value ( std::wstring_view  field) const
inlineinherited

◆ valueEntries() [1/2]

template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
template std::vector< Value > valueEntries< Value, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているvalueのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ valueEntries() [2/2]

template<typename T , bool >
template std::vector< Value > valueEntries< Value, true > ( ) const
inherited

◆ view() [1/2]

template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
View_ view ( std::string_view  field = "") const
inlineinherited

◆ view() [2/2]

template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
View_ view ( std::wstring_view  field) const
inlineinherited

◆ viewEntries() [1/2]

template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
template std::vector< View > viewEntries< View, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているviewのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ viewEntries() [2/2]

template<typename T , bool >
template std::vector< View > viewEntries< View, true > ( ) const
inherited

Friends And Related Symbol Documentation

◆ TemporalCanvas2DComponent

friend class TemporalCanvas2DComponent
friend

◆ TemporalViewComponent

friend class TemporalViewComponent
friend

Member Data Documentation

◆ data_w

std::weak_ptr<internal::ClientData> data_w
inherited

ClientDataの参照

ClientData内に保持するクラスもあるので循環参照を避けるためweak_ptr

◆ field_

SharedString field_
inherited

フィールド名

Memberなどフィールド名が不要なクラスでは使用しない

◆ member_

SharedString member_
inherited

メンバー名


The documentation for this class was generated from the following files: