nl::Weave::WeaveServerBase

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

用來實作 Weave 設定檔 (伺服器) 的常見基礎物件,該物件會封裝已驗證的要求與傳送狀態報告,並提供布料狀態和交換管理員適用的通用資料成員儲存空間。

摘要

繼承

直接已知的子類別:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer
  nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer
  nl::Weave::Profiles::Echo_Next::WeaveEchoServer
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningServer
  nl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceiver
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServer
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServer
  nl::Weave::Profiles::TokenPairing::TokenPairingServer
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServer
  nl::Weave::Profiles::WeaveEchoServer

公開屬性

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

公開的靜態函式

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

[僅供讀取] Fabric 狀態物件

公開的靜態函式

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 伺服器實作項目使用,為傳入的請求訊息實作可擴充的存取權控管政策。依賴委派物件之伺服器實作項目應在訊息處理初期呼叫這個方法,以決定是否應繼續處理訊息。

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

詳細資料
參數
[in] ec
接收郵件的 ExchangeContext
[in] msgProfileId
已收到訊息的個人資料 ID。
[in] msgType
收到的郵件類型。
[in] msgInfo
WeaveMessageInfo 結構體,其中包含收到的訊息相關資訊。
[in] delegate
應用程式提供的委派物件,可用於覆寫預設訊息存取權控管政策。
傳回值
true
如果訊息應正常接受及處理。
false
如果訊息處理作業應停止,且訊息應予以捨棄。

WeaveServerBase

 WeaveServerBase(
  void
)