nl::वेव::WeaveServerडेलBase

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

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

खास जानकारी

इनहेरिटेंस

चुने गए सब-क्लास

सुरक्षित प्रकार

@69{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
enum
AccessControlResult टाइपडेफ़
uint8_t

सुरक्षित किए गए फ़ंक्शन

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
इनकमिंग सर्वर अनुरोध संदेशों के लिए संदेश-स्तरीय ऐक्सेस नियंत्रण नीति तय करने की वर्चुअल विधि.
WeaveServerDelegateBase(void)

सुरक्षित प्रकार

@69

 @69

ऐक्सेस कंट्रोल का नतीजा

uint8_t AccessControlResult

सुरक्षित किए गए फ़ंक्शन

APPLYAccessControl

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

इनकमिंग सर्वर अनुरोध संदेशों के लिए संदेश-स्तरीय ऐक्सेस नियंत्रण नीति तय करने की वर्चुअल विधि.

यह तरीका Weave सर्वर इन्फ़्रास्ट्रक्चर के ज़रिए कॉल किया जाता है, ताकि यह तय किया जा सके कि आने वाले अनुरोध का मैसेज सामान्य तौर पर स्वीकार हो या अस्वीकार किया जाए या अस्वीकार किया जाए. Weave सर्वर लागू करने से जुड़ी डेलिगेट क्लास को अपने प्रोटोकॉल के लिए सही ऐक्सेस कंट्रोल नीतियों को लागू करने के लिए इस तरीके को ओवरराइड करना होगा. ऐप्लिकेशन इस तरीके को ओवरराइड कर सकता है ताकि मानक सर्वर लागू करने के तरीके के अलावा, दूसरी कस्टम नीतियों का भी पालन किया जा सके.

इस तरीके को लागू करने पर, उम्मीद की जा सकती है कि ऐक्सेस कंट्रोल नीति के मूल्यांकन के नतीजों के आधार पर, 'स्वीकार किया गया या अस्वीकार किया गया' मान मिले. अस्वीकार किए गए नतीजे के तौर पर अनुरोध करने वाले को, अनुरोध करने वाले व्यक्ति को स्टेटस रिपोर्ट भेजी जाती है. इस रिपोर्ट में सामान्य/ऐक्सेस अस्वीकार होने की स्थिति शामिल होती है. विकल्प के तौर पर, तरीकों को लागू करने की सुविधा के ज़रिए वे अपने जवाब भेजना चुन सकते हैं. यह स्टेटस रिपोर्ट या किसी और तरह का मैसेज हो सकता है. इस मामले में, मेथड को Disallow_Respभेजे गए नतीजे के तौर पर दिखाने के लिए, यह बताना चाहिए कि कोई जवाब पहले ही भेजा जा चुका है. आखिर में, लागू करने का अनुरोध अस्वीकार होने की वजह यह हो सकती है कि अनुरोध करने वाले व्यक्ति को जवाब भेजे बिना, उसे अस्वीकार कर दिया जाए.

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

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

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)