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

サーバーに接続するクライアント。 More...

#include <webcface/client.h>

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

Public Member Functions

 Client (const Client &)=delete
 
const Clientoperator= (const Client &)=delete
 
 Client ()
 名前を指定せずサーバーに接続する
 
 Client (const std::string &name, const std::string &host="127.0.0.1", int port=7530)
 名前を指定しサーバーに接続する
 
 Client (const std::wstring &name, const std::wstring &host=L"127.0.0.1", int port=7530)
 名前を指定しサーバーに接続する (wstring)
 
 Client (const SharedString &name, const SharedString &host, int port)
 
 Client (const SharedString &name, const std::shared_ptr< internal::ClientData > &data)
 
bool connected () const
 サーバーに接続できているときtrueを返す
 
 ~Client ()
 接続を切りClientを破棄
 
const Clientclose () const
 接続を切り、今後再接続しない
 
const ClientautoReconnect (bool enabled) const
 通信が切断されたときに自動で再試行するかどうかを設定する。
 
bool autoReconnect () const
 通信が切断されたときに自動で再試行するかどうかを取得する。
 
const Clientstart () const
 サーバーへの接続を別スレッドで開始する。
 
const ClientwaitConnection () const
 サーバーへの接続を別スレッドで開始し、成功するまで待機する。
 
const Clientsync () const
 送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。
 
const ClientloopSyncFor (std::chrono::microseconds timeout) const
 送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。
 
template<typename Clock , typename Duration >
const ClientloopSyncUntil (std::chrono::time_point< Clock, Duration > timeout) const
 送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。
 
const ClientloopSync () const
 送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。
 
Member member (std::string_view name) const
 他のmemberにアクセスする
 
Member member (std::wstring_view name) const
 他のmemberにアクセスする (wstring)
 
std::vector< Membermembers ()
 サーバーに接続されている他のmemberのリストを得る。
 
std::vector< Membermembers () const
 サーバーに接続されている他のmemberのリストを得る。
 
const ClientonMemberEntry (std::function< void(Member)> callback) const
 Memberが追加された時のイベント
 
std::streambuf * loggerStreamBuf () const
 webcfaceに出力するstreambuf
 
std::streambuf * loggerStreamBuf (std::string_view name) const
 webcfaceに出力するstreambuf
 
std::ostream & loggerOStream () const
 webcfaceに出力するostream
 
std::ostream & loggerOStream (std::string_view name) const
 webcfaceに出力するostream
 
std::wstreambuf * loggerWStreamBuf () const
 webcfaceに出力するwstreambuf
 
std::wstreambuf * loggerWStreamBuf (std::wstring_view name) const
 webcfaceに出力するwstreambuf
 
std::wostream & loggerWOStream () const
 webcfaceに出力するwostream
 
std::wostream & loggerWOStream (std::wstring_view name) const
 webcfaceに出力するwostream
 
const std::string & serverVersion () const
 WebCFaceサーバーのバージョン情報
 
const std::string & serverName () const
 WebCFaceサーバーの識別情報
 
const std::string & serverHostName () const
 サーバーのホスト名
 
const std::string & name () const
 Member名
 
const std::wstring & nameW () const
 Member名 (wstring)
 
Log log (std::string_view name) const
 
Log log (std::wstring_view name) const
 
Log log () const
 
std::vector< Valuevalues () const
 このmemberが公開しているvalueのリストを返す。
 
std::vector< Texttexts () const
 このmemberが公開しているtextのリストを返す。
 
std::vector< RobotModelrobotModels () const
 このmemberが公開しているrobotModelのリストを返す。
 
std::vector< Funcfuncs () const
 このmemberが公開しているfuncのリストを返す。
 
std::vector< Viewviews () const
 このmemberが公開しているviewのリストを返す。
 
std::vector< Imageimages () const
 このmemberが公開しているimageのリストを返す。
 
const MemberonValueEntry (std::function< void(Value)> callback) const
 valueが追加された時のイベント
 
const MemberonTextEntry (std::function< void(Text)> callback) const
 textが追加された時のイベント
 
const MemberonRobotModelEntry (std::function< void(RobotModel)> callback) const
 robotModelが追加された時のイベント
 
const MemberonFuncEntry (std::function< void(Func)> callback) const
 funcが追加された時のイベント
 
const MemberonImageEntry (std::function< void(Image)> callback) const
 imageが追加されたときのイベント
 
const MemberonViewEntry (std::function< void(View)> callback) const
 viewが追加されたときのイベント
 
const MemberonCanvas3DEntry (std::function< void(Canvas3D)> callback) const
 canvas3dが追加されたときのイベント
 
const MemberonCanvas2DEntry (std::function< void(Canvas2D)> callback) const
 canvas2dが追加されたときのイベント
 
const MemberonLogEntry (std::function< void(Log)> callback) const
 logが追加されたときのイベント
 
const MemberonSync (std::function< void(Member)> callback) const
 Memberがsync()したときのイベント
 
template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr>
const MemberonSync (F callback) const
 Memberがsync()したときのイベント
 
std::chrono::system_clock::time_point syncTime () const
 最後のsync()の時刻を返す
 
const std::string & libName () const
 このMemberが使っているWebCFaceライブラリの識別情報
 
const std::string & libVersion () const
 このMemberが使っているWebCFaceのバージョン
 
const std::string & remoteAddr () const
 このMemberのIPアドレス
 
std::optional< int > pingStatus () const
 通信速度を調べる
 
const MemberonPing (std::function< void(Member)> callback) const
 通信速度が更新された時のイベント
 
template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr>
const MemberonPing (F callback) const
 通信速度が更新された時のイベント
 
template<typename T , typename std::enable_if_t< std::is_same_v< T, Member >, std::nullptr_t > = nullptr>
bool operator== (const T &other) const
 Memberを比較
 
template<typename T , typename std::enable_if_t< std::is_same_v< T, Member >, std::nullptr_t > = nullptr>
bool operator!= (const T &other) const
 
Field child (const SharedString &field) const
 
Field child (std::string_view field) const
 「(thisの名前).(追加の名前)」を新しい名前とするField
 
Field child (std::wstring_view field) const
 「(thisの名前).(追加の名前)」を新しい名前とするField (wstring)
 
Field child (int index) const
 「(thisの名前).(index)」を新しい名前とするField
 
Canvas2D canvas2D (std::string_view field="") const
 
Canvas2D canvas2D (std::wstring_view field) const
 
Canvas3D canvas3D (std::string_view field="") const
 
Canvas3D canvas3D (std::wstring_view field) const
 
Func func (std::string_view field="") const
 
Func func (std::wstring_view field) const
 
FuncListener funcListener (std::string_view field) const
 
FuncListener funcListener (std::wstring_view field) const
 
Image image (std::string_view field="") const
 
Image image (std::wstring_view field) const
 
RobotModel robotModel (std::string_view field="") const
 
RobotModel robotModel (std::wstring_view field) const
 
Text text (std::string_view field="") const
 
Text text (std::wstring_view field) const
 
Value value (std::string_view field="") const
 
Value value (std::wstring_view field) const
 
View view (std::string_view field="") const
 
View view (std::wstring_view field) const
 
std::vector< Canvas2Dcanvas2DEntries () const
 
std::vector< Canvas3Dcanvas3DEntries () const
 
std::vector< FuncfuncEntries () const
 
std::vector< ImageimageEntries () const
 
std::vector< LoglogEntries () const
 
std::vector< RobotModelrobotModelEntries () const
 
std::vector< TexttextEntries () const
 
std::vector< ValuevalueEntries () const
 
std::vector< ViewviewEntries () const
 
Member member () const
 Memberを返す
 

Protected Member Functions

bool operator== (const Field &other) const
 
bool operator== (const FieldBase &rhs) const
 
bool operator!= (const Field &other) const
 
bool operator!= (const FieldBase &rhs) const
 
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::string lastName () const
 nameのうちピリオドで区切られた最後の部分を取り出す
 
std::wstring lastNameW () const
 nameのうちピリオドで区切られた最後の部分を取り出す (wstring)
 
Field parent () const
 nameの最後のピリオドの前までを新しい名前とするField
 
Field operator[] (std::string_view field) const
 「(thisの名前).(追加の名前)」を新しい名前とするField
 
Field operator[] (std::wstring_view field) const
 「(thisの名前).(追加の名前)」を新しい名前とするField (wstring)
 
Field operator[] (int index) const
 「(thisの名前).(index)」を新しい名前とするField
 
bool isSelf () const
 memberがselfならtrue
 

Protected Attributes

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

Detailed Description

サーバーに接続するクライアント。

Constructor & Destructor Documentation

◆ Client() [1/6]

Client ( const Client )
delete

◆ Client() [2/6]

Client ( )
inline

名前を指定せずサーバーに接続する

サーバーのホストとポートはlocalhost:7530になる

◆ Client() [3/6]

Client ( const std::string &  name,
const std::string &  host = "127.0.0.1",
int  port = 7530 
)
inlineexplicit

名前を指定しサーバーに接続する

サーバーのホストとポートを省略した場合 127.0.0.1:7530 になる

  • name 名前
  • host サーバーのアドレス
  • port サーバーのポート

◆ Client() [4/6]

Client ( const std::wstring &  name,
const std::wstring &  host = L"127.0.0.1",
int  port = 7530 
)
inlineexplicit

名前を指定しサーバーに接続する (wstring)

Since
ver2.0

サーバーのホストとポートを省略した場合 127.0.0.1:7530 になる

  • name 名前
  • host サーバーのアドレス
  • port サーバーのポート

◆ Client() [5/6]

Client ( const SharedString name,
const SharedString host,
int  port 
)
explicit

◆ Client() [6/6]

Client ( const SharedString name,
const std::shared_ptr< internal::ClientData > &  data 
)
explicit

◆ ~Client()

~Client ( )

接続を切りClientを破棄

Member Function Documentation

◆ autoReconnect() [1/2]

bool autoReconnect ( ) const

通信が切断されたときに自動で再試行するかどうかを取得する。

Since
ver1.11.1

◆ autoReconnect() [2/2]

const Client & autoReconnect ( bool  enabled) const

通信が切断されたときに自動で再試行するかどうかを設定する。

Since
ver1.11.1

デフォルトはtrue

See also
start(), waitConnection()

◆ canvas2D() [1/2]

Canvas2D canvas2D ( std::string_view  field = "") const
inherited

◆ canvas2D() [2/2]

Canvas2D canvas2D ( std::wstring_view  field) const
inherited

◆ canvas2DEntries()

std::vector< Canvas2D > canvas2DEntries ( ) const
inherited

◆ canvas3D() [1/2]

Canvas3D canvas3D ( std::string_view  field = "") const
inherited

◆ canvas3D() [2/2]

Canvas3D canvas3D ( std::wstring_view  field) const
inherited

◆ canvas3DEntries()

std::vector< Canvas3D > canvas3DEntries ( ) const
inherited

◆ child() [1/4]

Field child ( const SharedString field) const
inherited

◆ child() [2/4]

Field child ( int  index) const
inlineinherited

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

Since
ver1.11

◆ child() [3/4]

Field child ( std::string_view  field) const
inlineinherited

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

Since
ver1.11

◆ child() [4/4]

Field child ( std::wstring_view  field) const
inlineinherited

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

Since
ver2.0

◆ close()

const Client & close ( ) const

接続を切り、今後再接続しない

◆ connected()

bool connected ( ) const

サーバーに接続できているときtrueを返す

◆ dataLock()

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

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

◆ expired()

bool expired ( ) const
inherited

◆ func() [1/2]

Func func ( std::string_view  field = "") const
inherited

◆ func() [2/2]

Func func ( std::wstring_view  field) const
inherited

◆ funcEntries()

std::vector< Func > funcEntries ( ) const
inherited

◆ funcListener() [1/2]

FuncListener funcListener ( std::string_view  field) const
inherited

◆ funcListener() [2/2]

FuncListener funcListener ( std::wstring_view  field) const
inherited

◆ funcs()

std::vector< Func > funcs ( ) const
inherited

このmemberが公開しているfuncのリストを返す。

Deprecated:
1.6で funcEntries() に変更

◆ image() [1/2]

Image image ( std::string_view  field = "") const
inherited

◆ image() [2/2]

Image image ( std::wstring_view  field) const
inherited

◆ imageEntries()

std::vector< Image > imageEntries ( ) const
inherited

◆ images()

std::vector< Image > images ( ) const
inherited

このmemberが公開しているimageのリストを返す。

Deprecated:
1.6で imageEntries() に変更

◆ 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

◆ libName()

const std::string & libName ( ) const
inherited

このMemberが使っているWebCFaceライブラリの識別情報

Returns
このライブラリの場合は"cpp", javascriptクライアントは"js", pythonクライアントは"python"を返す。

◆ libVersion()

const std::string & libVersion ( ) const
inherited

このMemberが使っているWebCFaceのバージョン

◆ log() [1/3]

Log log ( ) const
inherited

ver2.4〜: nameを省略した場合 "default" として送信される。

◆ log() [2/3]

Log log ( std::string_view  name) const
inlineinherited
Since
ver2.4

◆ log() [3/3]

Log log ( std::wstring_view  name) const
inlineinherited
Since
ver2.4

◆ logEntries()

std::vector< Log > logEntries ( ) const
inherited
Since
ver2.4

◆ loggerOStream() [1/2]

std::ostream & loggerOStream ( ) const

webcfaceに出力するostream

  • (ver1.11.xまで: 出力先が loggerStreamBuf() に設定されているostream。 すなわち、loggerSink (webcfaceに送られる) と stderr_color_sink_mt (標準エラー出力に送られる) に出力されることになる。)
  • ver2.0〜: std::ostreamの出力先として使用すると、改行が入力されるたびに webcfaceに送られると同時に stderr にも送られる。
  • ver1.0.1で logger_ostream から名前変更
See also
loggerStreamBuf()

◆ loggerOStream() [2/2]

std::ostream & loggerOStream ( std::string_view  name) const

webcfaceに出力するostream

Since
ver2.4
  • nameを省略した場合 "default" になる。

◆ loggerStreamBuf() [1/2]

std::streambuf * loggerStreamBuf ( ) const

webcfaceに出力するstreambuf

  • (ver1.11.xまで: std::ostreamの出力先として使用すると、logger()に送られる。 すなわち、loggerSink (webcfaceに送られる) と stderr_color_sink_mt (標準エラー出力に送られる) に出力されることになる。)
  • ver2.0〜: std::ostreamの出力先として使用すると、改行が入力されるたびに webcfaceに送られると同時に stderr にも送られる。
  • levelは常にinfoになる。
  • std::flushのタイミングとは無関係に、1つの改行ごとに1つのログになる
  • ver1.0.1で logger_streambuf から名前変更
See also
loggerOStream()

◆ loggerStreamBuf() [2/2]

std::streambuf * loggerStreamBuf ( std::string_view  name) const

webcfaceに出力するstreambuf

Since
ver2.4
  • nameを省略した場合 "default" になる。

◆ loggerWOStream() [1/2]

std::wostream & loggerWOStream ( ) const

webcfaceに出力するwostream

Since
ver2.0
See also
loggerOStream

◆ loggerWOStream() [2/2]

std::wostream & loggerWOStream ( std::wstring_view  name) const

webcfaceに出力するwostream

Since
ver2.4
  • nameを省略した場合 "default" になる。

◆ loggerWStreamBuf() [1/2]

std::wstreambuf * loggerWStreamBuf ( ) const

webcfaceに出力するwstreambuf

Since
ver2.0
See also
loggerStreamBuf

◆ loggerWStreamBuf() [2/2]

std::wstreambuf * loggerWStreamBuf ( std::wstring_view  name) const

webcfaceに出力するwstreambuf

Since
ver2.4
  • nameを省略した場合 "default" になる。

◆ loopSync()

const Client & loopSync ( ) const
inline

送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。

Since
ver2.0
  • loopSyncFor()と同じだが、close()されるまで無制限にsync()を再試行する。
  • autoReconnectがfalseでサーバーに接続できてない場合はreturnする。 (deadlock回避)
See also
sync(), loopSyncFor(), loopSyncUntil()

◆ loopSyncFor()

const Client & loopSyncFor ( std::chrono::microseconds  timeout) const
inline

送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。

Since
ver2.0
  • sync()と同じだが、データを受信してもしなくても timeout 経過するまでは繰り返しsync()を再試行する。 timeout=0 または負の値なら再試行せず即座にreturnする。(sync()と同じ)
  • autoReconnectがfalseでサーバーに接続できてない場合はreturnする。 (deadlock回避)
See also
sync(), loopSyncUntil(), loopSync()

◆ loopSyncUntil()

template<typename Clock , typename Duration >
const Client & loopSyncUntil ( std::chrono::time_point< Clock, Duration >  timeout) const
inline

送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。

Since
ver2.0

loopSyncFor() と同じだが、timeoutを絶対時間で指定

See also
sync(), loopSyncFor(), loopSync()

◆ member() [1/3]

Member member ( ) const
inherited

Memberを返す

◆ member() [2/3]

Member member ( std::string_view  name) const
inline

他のmemberにアクセスする

      \brief 別スレッドでsync()を自動的に呼び出す間隔を設定する。
      \since ver2.0

      * start() や waitConnection() より前に設定する必要がある。
      *

autoSyncが有効の場合、別スレッドで一定間隔(100μs)ごとにsync()が呼び出され、 各種コールバック (onEntry, onChange, Func::run()など) も別のスレッドで呼ばれることになる (そのためmutexなどを適切に設定すること)

  • デフォルトでは無効なので、手動でsync()などを呼び出す必要がある
Parameters
enabledtrueにすると自動でsync()が呼び出されるようになる
See also
sync(), loopSyncFor(), loopSyncUntil(), loopSync() ‍/ void autoSync(bool enabled);

private: Member member(const SharedString &name) const { if (name.empty()) { return *this; } else { return Member{data, name}; } }

public: /*!

(ver1.7から)nameが空の場合 *this を返す

See also
members(), onMemberEntry()

◆ member() [3/3]

Member member ( std::wstring_view  name) const
inline

他のmemberにアクセスする (wstring)

Since
ver2.0 nameが空の場合 *this を返す
See also
members(), onMemberEntry()

◆ members() [1/2]

std::vector< Member > members ( )

サーバーに接続されている他のmemberのリストを得る。

自分自身と、無名のmemberを除く。

See also
member(), onMemberEntry()

◆ members() [2/2]

std::vector< Member > members ( ) const

サーバーに接続されている他のmemberのリストを得る。

Since
ver2.0.2 (constつけ忘れ)

自分自身と、無名のmemberを除く。

See also
member(), onMemberEntry()

◆ name()

const std::string & name ( ) const
inlineinherited

Member名

◆ nameW()

const std::wstring & nameW ( ) const
inlineinherited

Member名 (wstring)

Since
ver2.0

◆ onCanvas2DEntry()

const Member & onCanvas2DEntry ( std::function< void(Canvas2D)>  callback) const
inherited

canvas2dが追加されたときのイベント

Since
ver2.0
Parameters
callbackCanvas2D型の引数をとる関数

◆ onCanvas3DEntry()

const Member & onCanvas3DEntry ( std::function< void(Canvas3D)>  callback) const
inherited

canvas3dが追加されたときのイベント

Since
ver2.0
Parameters
callbackCanvas3D型の引数をとる関数

◆ onFuncEntry()

const Member & onFuncEntry ( std::function< void(Func)>  callback) const
inherited

funcが追加された時のイベント

Since
ver2.0
Parameters
callbackFunc型の引数をとる関数

◆ onImageEntry()

const Member & onImageEntry ( std::function< void(Image)>  callback) const
inherited

imageが追加されたときのイベント

Since
ver2.0
Parameters
callbackImage型の引数をとる関数

◆ onLogEntry()

const Member & onLogEntry ( std::function< void(Log)>  callback) const
inherited

logが追加されたときのイベント

Since
ver2.4
Parameters
callbackLog型の引数をとる関数

◆ onMemberEntry()

const Client & onMemberEntry ( std::function< void(Member)>  callback) const

Memberが追加された時のイベント

コールバックの型は void(Member)

See also
member(), members()

◆ onPing() [1/2]

template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr>
const Member & onPing ( callback) const
inlineinherited

通信速度が更新された時のイベント

Since
ver2.0
Parameters
callback引数をとらない関数

◆ onPing() [2/2]

const Member & onPing ( std::function< void(Member)>  callback) const
inherited

通信速度が更新された時のイベント

Since
ver2.0
  • 通常は約5秒に1回更新される。
  • pingStatus() と同様、通信速度データのリクエストも行う。
  • ver2.0〜 Client自身に対しても使用可能
Parameters
callbackMember型の引数を取る関数
See also
pingStatus()

◆ onRobotModelEntry()

const Member & onRobotModelEntry ( std::function< void(RobotModel)>  callback) const
inherited

robotModelが追加された時のイベント

Since
ver2.0
Parameters
callbackRobotModel型の引数をとる関数

◆ onSync() [1/2]

template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr>
const Member & onSync ( callback) const
inlineinherited

Memberがsync()したときのイベント

Since
ver2.0
Parameters
callback引数をとらない関数

◆ onSync() [2/2]

const Member & onSync ( std::function< void(Member)>  callback) const
inherited

Memberがsync()したときのイベント

Since
ver2.0
Parameters
callbackMember型の引数をとる関数

◆ onTextEntry()

const Member & onTextEntry ( std::function< void(Text)>  callback) const
inherited

textが追加された時のイベント

Since
ver2.0
Parameters
callbackText型の引数をとる関数

◆ onValueEntry()

const Member & onValueEntry ( std::function< void(Value)>  callback) const
inherited

valueが追加された時のイベント

Since
ver2.0
Parameters
callbackValue型の引数をとる関数

◆ onViewEntry()

const Member & onViewEntry ( std::function< void(View)>  callback) const
inherited

viewが追加されたときのイベント

Since
ver2.0
Parameters
callbackView型の引数をとる関数

◆ 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, Member >, std::nullptr_t > = nullptr>
bool operator!= ( const T &  other) const
inlineinherited

◆ operator=()

const Client & operator= ( const Client )
delete

◆ 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, Member >, std::nullptr_t > = nullptr>
bool operator== ( const T &  other) const
inlineinherited

Memberを比較

Since
ver1.11

◆ operator[]() [1/3]

Field operator[] ( int  index) const
inlineinherited

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

Since
ver1.11

◆ operator[]() [2/3]

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

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

Since
ver1.11

◆ operator[]() [3/3]

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

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

Since
ver2.0

◆ parent()

Field parent ( ) const
inherited

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

Since
ver1.11

◆ pingStatus()

std::optional< int > pingStatus ( ) const
inherited

通信速度を調べる

  • 初回の呼び出しで通信速度データをリクエストし、 sync()後通信速度が得られるようになる
  • ver2.0〜 Client自身に対しても使用可能 (Client::pingStatus() または member("自分の名前").pingStatus())
Returns
初回→ std::nullopt, 2回目以降(取得できれば)→ pingの往復時間 (ms)
See also
onPing()

◆ remoteAddr()

const std::string & remoteAddr ( ) const
inherited

このMemberのIPアドレス

◆ robotModel() [1/2]

RobotModel robotModel ( std::string_view  field = "") const
inherited

◆ robotModel() [2/2]

RobotModel robotModel ( std::wstring_view  field) const
inherited

◆ robotModelEntries()

std::vector< RobotModel > robotModelEntries ( ) const
inherited

◆ robotModels()

std::vector< RobotModel > robotModels ( ) const
inherited

このmemberが公開しているrobotModelのリストを返す。

Deprecated:
1.6で robotModelEntries() に変更

◆ serverHostName()

const std::string & serverHostName ( ) const

サーバーのホスト名

Since
ver2.0

◆ serverName()

const std::string & serverName ( ) const

WebCFaceサーバーの識別情報

Returns
webcface付属のサーバーであれば通常は "webcface" が返る
See also
serverVersion()

◆ serverVersion()

const std::string & serverVersion ( ) const

WebCFaceサーバーのバージョン情報

◆ setCheck()

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

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

◆ start()

const Client & start ( ) const

サーバーへの接続を別スレッドで開始する。

Since
ver1.2
See also
waitConnection(), autoReconnect()

◆ sync()

const Client & sync ( ) const
inline

送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する。

  • 実際に送信をするのは別スレッドであり、この関数はブロックしない。
  • ver1.2以降: サーバーに接続していない場合、start()を呼び出す。
  • ver2.0以降: データを受信した場合、各種コールバック(onEntry, onChange, Func::run()など)をこのスレッドで呼び出し、 それがすべて完了するまでこの関数はブロックされる。
    • データをまだ何も受信していない場合やサーバーに接続していない場合は、 即座にreturnする。
See also
start(), loopSyncFor(), loopSyncUntil(), loopSync()

◆ syncTime()

std::chrono::system_clock::time_point syncTime ( ) const
inherited

最後のsync()の時刻を返す

Since
ver1.7 (Value::time(), Text::time() 等から変更)

◆ text() [1/2]

Text text ( std::string_view  field = "") const
inherited

◆ text() [2/2]

Text text ( std::wstring_view  field) const
inherited

◆ textEntries()

std::vector< Text > textEntries ( ) const
inherited

◆ texts()

std::vector< Text > texts ( ) const
inherited

このmemberが公開しているtextのリストを返す。

Deprecated:
1.6で textEntries() に変更

◆ value() [1/2]

Value value ( std::string_view  field = "") const
inherited

◆ value() [2/2]

Value value ( std::wstring_view  field) const
inherited

◆ valueEntries()

std::vector< Value > valueEntries ( ) const
inherited

◆ values()

std::vector< Value > values ( ) const
inherited

このmemberが公開しているvalueのリストを返す。

Deprecated:
1.6で valueEntries() に変更

◆ view() [1/2]

View view ( std::string_view  field = "") const
inherited

◆ view() [2/2]

View view ( std::wstring_view  field) const
inherited

◆ viewEntries()

std::vector< View > viewEntries ( ) const
inherited

◆ views()

std::vector< View > views ( ) const
inherited

このmemberが公開しているviewのリストを返す。

Deprecated:
1.6で viewEntries() に変更

◆ waitConnection()

const Client & waitConnection ( ) const

サーバーへの接続を別スレッドで開始し、成功するまで待機する。

Since
ver1.2
  • ver1.11.1以降: autoReconnect が false の場合は1回目の接続のみ待機し、失敗しても再接続せずreturnする。
  • ver2.0以降: 接続だけでなくentryの受信や初期化が完了するまで待機する。 loopSync() と同様、このスレッドで受信処理 (onEntry コールバックの呼び出しなど) が行われる。
See also
start(), autoReconnect()

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: