nl::Weave::WeaveServerBase

#include <src/lib/core/WeaveServerBase.h>

通用的 Weave 設定檔未主動回應者 (伺服器) 基本物件,用於封裝已驗證的要求及傳送狀態報告,以及提供用於織布狀態和交換管理員的常用資料成員儲存空間。

摘要

繼承

Direct Known Subclasses:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer::DeviceDescriptionServer{/1








nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServernl::Weave::Profiles::Echo_Next::WeaveEchoServernl::Weave::Profiles::FabricProvisioning::FabricProvisioningServernl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceivernl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServernl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServernl::Weave::Profiles::TokenPairing::TokenPairingServernl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServernl::Weave::Profiles::WeaveEchoServer

公開屬性

ExchangeMgr
[僅供讀取] Exchange 管理員物件
FabricState
[僅供閱讀] 織品狀態物件

公開的靜態函式

SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError)
將含有預設訊息標記的 Weave 狀態報告傳送給指定的廣告交易平台 (內含指定設定檔和系統錯誤訊息的狀態碼)。
SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError, uint16_t sendFlags)
將含有所提供訊息標記的 Weave 狀態報告傳送給指定的廣告交易平台 (內含指定設定檔和系統錯誤訊息的狀態碼)。

受保護的函式

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, WeaveServerDelegateBase *delegate)
bool
判斷是否應接受或捨棄對 Weave 伺服器發出的傳入要求訊息。
WeaveServerBase(void)

公開屬性

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[僅供讀取] Exchange 管理員物件

FabricState

WeaveFabricState * FabricState

[僅供閱讀] 織品狀態物件

公開的靜態函式

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError
)

將含有預設訊息標記的 Weave 狀態報告傳送給指定的廣告交易平台 (內含指定設定檔和系統錯誤訊息的狀態碼)。

詳細說明
參數
[in] ec
指向要傳送狀態報告的廣告交易平台結構定義指標。
[in] statusProfileId
指定狀態碼的設定檔。
[in] statusCode
要傳送的狀態碼。
[in] sysError
系統錯誤,或與狀態碼相關聯。

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError,
  uint16_t sendFlags
)

將含有所提供訊息標記的 Weave 狀態報告傳送給指定的廣告交易平台 (內含指定設定檔和系統錯誤訊息的狀態碼)。

詳細說明
參數
[in] ec
指向要傳送狀態報告的廣告交易平台結構定義指標。
[in] statusProfileId
指定狀態碼的設定檔。
[in] statusCode
要傳送的狀態碼。
[in] sysError
系統錯誤,或與狀態碼相關聯。
[in] sendFlags
應用程式針對即將傳送的 Weave 狀態報告所設定的旗標。

受保護的函式

EnforceAccessControl

bool EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  WeaveServerDelegateBase *delegate
)

判斷是否應接受或捨棄對 Weave 伺服器發出的傳入要求訊息。

此方法可供 Weave 伺服器實作使用,針對傳入要求訊息實作可擴充的存取權控管政策。需要委派物件的伺服器實作應在訊息處理時及早呼叫此方法,以判斷是否應繼續處理訊息。

這個方法會在提供的委派上呼叫虛擬 WeaveServer 委派 Base::EnforceAccessControl() 方法,藉此評估訊息的存取權控管政策。Weave 伺服器委派類別,以及衍生自標準伺服器類別的應用程式專屬委派項目,都應覆寫虛擬方法,以強制執行特定的存取權控管政策。

詳細說明
參數
[in] ec
接收訊息的 ExchangeContext
[in] msgProfileId
所接收訊息的設定檔 ID。
[in] msgType
接收訊息的訊息類型。
[in] msgInfo
包含接收訊息相關資訊的 WeaveMessageInfo 結構。
[in] delegate
應用程式提供的委派物件,可用於覆寫預設訊息存取權控管政策。
傳回值
true
訊息應照常接受並處理完畢。
false
如果訊息處理作業應停止,系統應捨棄這封郵件。

WeaveServerBase

 WeaveServerBase(
  void
)