nl::Weave::WeaveServerDelegateBase

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

คลาสพื้นฐานทั่วไปสำหรับการติดตั้งใช้งานออบเจ็กต์การมอบสิทธิ์ของเซิร์ฟเวอร์ Weave

สรุป

การสืบทอด

Direct Subclass1
nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioning:Delegateing:Delegateing:Delegateing:Redirecting:Profiles::ProfileControl::DeviceControlDelegate
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegatenl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegatenl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegatenl::Weave::Profiles::TokenPairing::TokenPairingDelegatenl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate

ประเภทที่ได้รับการป้องกัน

@69{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
enum
AccessControlResult typedef
uint8_t

ฟังก์ชันที่มีการป้องกัน

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
วิธีการแบบเสมือนสำหรับการกำหนดนโยบายการควบคุมการเข้าถึงระดับข้อความสำหรับข้อความคำขอของเซิร์ฟเวอร์ขาเข้า
WeaveServerDelegateBase(void)

ประเภทที่ได้รับการป้องกัน

@69

 @69

AccessControlResult

uint8_t AccessControlResult

ฟังก์ชันที่มีการป้องกัน

EnforceAccessControl

virtual void EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  AccessControlResult & result
)

วิธีการแบบเสมือนสำหรับการกำหนดนโยบายการควบคุมการเข้าถึงระดับข้อความสำหรับข้อความคำขอของเซิร์ฟเวอร์ขาเข้า

โครงสร้างพื้นฐานของเซิร์ฟเวอร์ Weave จะเรียกใช้เมธอดนี้เพื่อพิจารณาว่าข้อความคำขอที่เข้ามาใหม่ควรได้รับการยอมรับและประมวลผลตามปกติหรือถูกปฏิเสธ คลาสที่ได้รับมอบสิทธิ์ที่เชื่อมโยงกับการใช้งานเซิร์ฟเวอร์ Weave ต้องลบล้างวิธีการนี้เพื่อใช้นโยบายการควบคุมการเข้าถึงที่เหมาะสมสำหรับโปรโตคอลของตนเอง แอปพลิเคชันอาจลบล้างวิธีการนี้อีกเพื่อสนับสนุนนโยบายที่กำหนดเองที่นอกเหนือไปจากนโยบายที่ได้รับจากการติดตั้งเซิร์ฟเวอร์มาตรฐาน

การนำวิธีการนี้ไปใช้ควรแสดงผลลัพธ์เป็น "ยอมรับ" หรือ "ถูกปฏิเสธ" โดยอิงตามผลของการประเมินนโยบายการควบคุมการเข้าถึง การส่งคืนผลลัพธ์ของ "ถูกปฏิเสธ" จะทำให้ระบบส่งรายงานสถานะไปยังผู้ร้องขอที่มีสถานะ "ทั่วไป/เข้าถึงถูกปฏิเสธ" อีกทางเลือกหนึ่งคือการติดตั้งใช้งานเมธอดสามารถเลือกให้ส่งคำตอบของตนเอง ซึ่งอาจเป็น Status Report หรือข้อความประเภทอื่นๆ ในกรณีนี้ เมธอดควรส่งคืนผลลัพธ์ของ Redirect_RespSent เพื่อแสดงสัญญาณว่ามีการส่งการตอบกลับแล้ว สุดท้าย การติดตั้งใช้งานสามารถแสดงผล Rejected_Silent เพื่อระบุว่าควรปฏิเสธคำขอโดยไม่ส่งการตอบกลับไปยังผู้ส่งคำขอ

ในการเรียกใช้เมธอด คลาสที่ลบล้างเมธอด EnforceAccessControl() จะต้องมีการเรียกใช้เมธอดที่มีชื่อเหมือนกันในคลาสระดับบนที่เข้าถึงโดยตรง ไม่ว่าจะเป็นคลาส WeaveServerDelegateBase หรือคลาสที่มาจากคลาสนั้น วิธีการลบล้างควรอัปเดตค่าผลลัพธ์ด้วยการกำหนดนโยบายการควบคุมการเข้าถึงก่อน แล้วจึงเรียกคลาสพื้นฐานให้ตัดสินใจ

รายละเอียด
พารามิเตอร์
[in] ec
ExchangeContext ที่ได้รับข้อความ
[in] msgProfileId
รหัสโปรไฟล์ของข้อความที่ได้รับ
[in] msgType
ประเภทข้อความของข้อความที่ได้รับ
[in] msgInfo
โครงสร้าง WeaveMessageInfo ที่มีข้อมูลเกี่ยวกับข้อความที่ได้รับ
[in,out] result
ค่าแจกแจงที่อธิบายผลการประเมินนโยบายการควบคุมการเข้าถึงสำหรับข้อความที่ได้รับ เมื่อเข้าสู่เมธอด ค่าจะแสดงให้เห็นผลลัพธ์ที่คาดการณ์ไว้ ณ จุดปัจจุบันของกระบวนการประเมิน เมื่อกลับมา ผลลัพธ์ควรเป็นผลลัพธ์การประเมินขั้นสุดท้ายของนโยบายการควบคุมการเข้าถึงสำหรับข้อความ

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)