nl::Weave::WeaveServerDelegateBase

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

Weave सर्वर के लिए डेलिगेट ऑब्जेक्ट लागू करने के लिए सामान्य बेस क्लास.

खास जानकारी

इनहेरिटेंस

डायरेक्ट ऐक्सेस





nl::Weave::Profiles::DeviceControl::DeviceControlDelegatenl::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 भेज दी जाती है. इसमें Common/Accessdened स्टेटस होता है. इसके अलावा, लागू करने के तरीके के तौर पर अपने जवाब भेजने का विकल्प चुना जा सकता है, जो Status Report या किसी दूसरे तरह का मैसेज हो सकता है. इस मामले में, इस तरीके को अस्वीकार_RespSent से मिलने वाला नतीजा मिलना चाहिए, ताकि यह पता चल सके कि जवाब पहले ही भेजा जा चुका है. आखिर में, लागू किए गए इंप्लिमेंटेशन अस्वीकार_साइलेंट मोड पर हो सकते हैं. इससे यह पता चलेगा कि अनुरोध करने वाले को जवाब भेजे बिना ही उसे अस्वीकार किया जाना चाहिए.

EnforceAccessControl() तरीके को बदलने वाली क्लास की ज़रूरत होती है, ताकि कॉल केस में एक जैसे नाम वाले तरीके को कॉल किया जा सके. इसके लिए, उन्हें WeaveServerDelegateBase क्लास या उस क्लास से हासिल की गई क्लास के तौर पर इस्तेमाल किया जा सकता है. ओवरराइड करने वाले तरीकों को पहले, ऐक्सेस कंट्रोल की नीति के हिसाब से नतीजे की वैल्यू को अपडेट करना चाहिए. इसके बाद, इसे तय करने के लिए बेस क्लास को कॉल करना चाहिए.

जानकारी
पैरामीटर
[in] ec
वह ExchangeContext जिस पर मैसेज मिला.
[in] msgProfileId
मिले मैसेज का प्रोफ़ाइल आईडी.
[in] msgType
मिलने वाले मैसेज का टाइप.
[in] msgInfo
WeaveMessageInfo स्ट्रक्चर में, मिले मैसेज की जानकारी होती है.
[in,out] result
मिलने वाले मैसेज के लिए ऐक्सेस कंट्रोल की नीति की जांच के नतीजे के बारे में बताने वाली गिनती. तरीके को इस्तेमाल करने पर, आकलन की प्रक्रिया के मौजूदा पॉइंट का अनुमानित नतीजा दिखाया जाता है. वापस किए जाने पर, मैसेज के लिए ऐक्सेस कंट्रोल नीति के आखिरी आकलन के नतीजे से यह उम्मीद की जाती है.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)