nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler

खास जानकारी

सार्वजनिक प्रकार

@142 enum
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID enum
HandlerId typedef
uint8_t

सार्वजनिक स्टैटिक फ़ंक्शन

DefaultEventHandler(EventID aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

सार्वजनिक फ़ंक्शन

AbortSubscription(void)
void
यह फ़ंक्शन किसी सदस्यता को तुरंत खत्म कर देता है - यह एक सिंक्रोनस कॉल है.
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
यह फ़ंक्शन, सदस्यता को अच्छी तरह से बंद करने और हैंडलर ऑब्जेक्ट को हटाने की प्रोसेस शुरू करता है.
GetBinding(void) const
GetMaxNotificationSize(void) const
uint32_t
GetPeerNodeId(void) const
uint64_t
GetSubscriptionId(uint64_t *const apSubscriptionId)
IsActive(void)
bool
IsCanceling() const
bool
IsEstablishedIdle()
bool
IsFree()
bool
IsTerminated()
bool
SetMaxNotificationSize(const uint32_t aMaxPayload)
void

स्ट्रक्चर

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::TraitInstanceInfo

यूनियन

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::InEventParam
nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::OutEventParam

सार्वजनिक प्रकार

@142

 @142

EventCallback

void(* EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventID

 EventID

HandlerId

uint8_t HandlerId

सार्वजनिक स्टैटिक फ़ंक्शन

DefaultEventHandler

void DefaultEventHandler(
  EventID aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

सार्वजनिक फ़ंक्शन

AbortSubscription

void AbortSubscription(
  void
)

यह फ़ंक्शन किसी सदस्यता को तुरंत खत्म कर देता है - यह एक सिंक्रोनस कॉल है.

पब्लिशर की सदस्यता रद्द करें.

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

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

AbortSubscription() को कॉल करने पर, SubscriptionHandler ऑब्जेक्ट Terminated स्थिति में आ जाता है. अगर समझौता खत्म होने की प्रोसेस पूरी होने के बाद, ऑब्जेक्ट का कोई और रेफ़रंस नहीं है, तो SubscriptionHandler ऑब्जेक्ट को खाली कर दिया जाता है.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

यह फ़ंक्शन, सदस्यता को अच्छी तरह से बंद करने और हैंडलर ऑब्जेक्ट को हटाने की प्रोसेस शुरू करता है.

पब्लिशर की सदस्यता रद्द करें.

यह एक एसिंक्रोनस कॉल है. साथ ही, जहां ज़रूरी हो वहां SubscribeCancel/Statusरिपोर्ट के ज़रिए, ग्राहक को इस कॉल के बंद होने की जानकारी दी जाएगी.

विशेष रूप से, यह इस सदस्यता में ऐप्लिकेशन के भागीदारी पर निर्भर करता है. इस कॉल के बाद, ऐप्लिकेशन को इस ऑब्जेक्ट पर किसी और गतिविधि की सूचना नहीं दी जाएगी. इसके अलावा, इसके बाद ऐप्लिकेशन को किसी भी तरीके से इस ऑब्जेक्ट के साथ इंटरैक्ट करने की अनुमति नहीं है.

पब्लिशर की सदस्यता को ग्रेसफ़ुल तरीके से खत्म कर देता है. अगर सदस्यता रद्द करने के लिए सहायता चालू है, तो सदस्यता वाले क्लाइंट को SubscribeCancelRequest वाला मैसेज भेजा जाता है. साथ ही, सदस्यता खत्म करने से पहले सिस्टम आपके जवाब का इंतज़ार करता है; ऐसा न होने पर, सदस्यता तुरंत खत्म कर दी जाती है. यह उसी तरह खत्म होती है जैसे AbortSubscription(). अगर कोई म्युचुअल सदस्यता मौजूद है, तो प्रकाशक से क्लाइंट को वापस की गई काउंटर सदस्यता भी खत्म कर दी जाती है.

विवरण
पैरामीटर
[in] aReasonProfileId
StatusCode का प्रोफ़ाइल आईडी, जो बंद किए जाने की वजह बताता है
[in] aReasonStatusCode
statusCode जो खाता बंद किए जाने की वजह बताता है
रिटर्न वैल्यू
Returns
Weave गड़बड़ी कोड डालें. इसका मकसद सिर्फ़ जानकारी देना है. किसी भी गड़बड़ी पर, ऑब्जेक्ट को सिंक्रोनस रूप से खत्म कर दिया जाएगा (यानी निरस्त किया गया).

SubscribeCancelRequest के जवाब का इंतज़ार करते समय, SubscriptionHandler, Canceling वाले स्टेटस में शामिल हो जाता है.

समझौता खत्म होने की प्रोसेस शुरू होने के बाद, SubscriptionHandler ऑब्जेक्ट, Terminated स्थिति में आता है. साथ ही, ऐप्लिकेशन के इवेंट हैंडलर को OnSubscriptionTerminated इवेंट भेजा जाता है. ध्यान दें कि अगर रद्द करने से जुड़ी सहायता चालू नहीं है, तो EndSubscription() को किए गए कॉल में इवेंट हैंडलर को सिंक्रोनस रूप से कॉल किया जा सकता है.

ऐप्लिकेशन के इवेंट हैंडलर के वापस आने के बाद, अगर SubscriptionHandler ऑब्जेक्ट के लिए कोई अतिरिक्त रेफ़रंस नहीं है, तो ऑब्जेक्ट को फ़्री कर दिया जाता है.

GetBinding

Binding * GetBinding(
  void
) const 

GetMaxNotificationSize

uint32_t GetMaxNotificationSize(
  void
) const 

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

GetSubscriptionId

WEAVE_ERROR GetSubscriptionId(
  uint64_t *const apSubscriptionId
)

IsActive

bool IsActive(
  void
)

IsCanceling

bool IsCanceling() const 

IsEstablishedIdle

bool IsEstablishedIdle()

IsFree

bool IsFree()

IsTerminated

bool IsTerminated()

SetMaxNotificationSize

void SetMaxNotificationSize(
  const uint32_t aMaxPayload
)