ईवेंट हैंडल और कॉलबैक सूचनाओं के माध्यम से एकाधिक नैदानिक घटनाओं की क्वेरी और निगरानी को सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 4cd8b0cbe34dउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
ईवेंट हैंडल और कॉलबैक सूचनाओं के माध्यम से एकाधिक नैदानिक घटनाओं की क्वेरी और निगरानी को सक्षम बनाता है।
यह क्लास अनुप्रयोगों को ईवेंट हैंडल [SWS_DM_01705] के आधार पर एक सामान्य इंटरफ़ेस के माध्यम से एकाधिक नैदानिक घटनाओं की स्थिति-संबंधी क्वेरी और निगरानी करने में सक्षम बनाती है। अधिसूचना कॉलबैक के पंजीकरण के अलावा, ईवेंट स्थिति, डिबाउंसिंग, त्रुटि काउंटर और DTC संख्या निर्धारित करने के लिए एसिंक्रोनस विधियाँ उपलब्ध हैं [SWS_DM_01707], [SWS_DM_01709]। इंस्टेंस न तो कॉपी करने योग्य हैं और न ही स्थानांतरित करने योग्य हैं और गैर-थ्रेड-सुरक्षित डिस्ट्रक्टर के कारण रिलीज़ से पहले सक्रिय ऑपरेशंस की व्यवस्थित समाप्ति की आवश्यकता होती है [SWS_DM_01706], [SWS_DM_02067]।
संदर्भ
क्लास ara::diag::MultipleEvent एकाधिक घटनाओं के लिए इंटरफेस के माध्यम से नैदानिक घटनाओं की क्वेरी और निगरानी करने के लिए अनुप्रयोग को इंटरफेस प्रदान करती है [SWS_DM_01705]। एकल-ईवेंट क्लासों के विपरीत, MultipleEvent के इंस्टेंस पर ऑपरेशंस EventHandleType[SWS_DM_01707], [SWS_DM_01708] प्रकार के पहचानकर्ता के माध्यम से विशिष्ट घटनाओं को संबोधित करते हैं। यह क्लास अनुप्रयोग सॉफ़्टवेयर घटक और Adaptive AUTOSAR AUTOSAR AP SWS Diagnostics, पृ. 69 के डायग्नोस्टिक मैनेजमेंट (DM) के बीच एक इंटरफ़ेस के रूप में कार्य करती है। एक DiagnosticMultipleEventInterface के पोर्ट प्रोटोटाइप के माध्यम से ऑब्जेक्ट कॉन्फ़िगर किए गए डायग्नोस्टिक इंफ्रास्ट्रक्चर से बंधा होता है [SWS_DM_01705]।
जीवनचक्र
MultipleEvent का एक इंस्टेंस एक स्पष्ट कंस्ट्रक्टर के माध्यम से ara::core::InstanceSpecifier निर्दिष्ट करके बनाया जाता है [SWS_DM_01705]। कंस्ट्रक्टर थ्रेड-सुरक्षित है और इंटरफ़ेस प्रकार DiagnosticMultipleEventInterface[SWS_DM_01705] के पोर्ट प्रोटोटाइप के मॉडल किए गए बाइंडिंग को सत्यापित करता है। यदि मैपिंग विफल हो जाती है या प्रक्रिया के भीतर समान इंस्टेंस पहचानकर्ता का पुन: उपयोग किया जाता है, तो प्लेटफ़ॉर्म InstanceSpecifierAlreadyInUseViolation या PortInterfaceMappingViolation[SWS_DM_01705] जैसे संगत उल्लंघनों की रिपोर्ट करता है।
कॉपी और मूव ऑपरेशंस MultipleEvent के लिए पूरी तरह से प्रतिबंधित हैं: कॉपी और मूव कंस्ट्रक्टर दोनों के साथ-साथ संबंधित असाइनमेंट ऑपरेटरों को हटा दिया गया घोषित किया गया है [SWS_DM_02067], [SWS_DM_02068], [SWS_DM_02069], [SWS_DM_02070]। इसलिए ऑब्जेक्ट की सख्त पहचान होती है और यह अपने निर्माण स्थल पर ही रहता है। डिस्ट्रक्टर ~MultipleEvent() गैर-थ्रेड-सुरक्षित निर्दिष्ट है [SWS_DM_01706]। इसलिए कॉल करने वाले घटकों को विनाश से पहले यह सुनिश्चित करना होगा कि इंस्टेंस के माध्यम से कोई और एसिंक्रोनस क्वेरी या सूचनाएं नहीं चल रही हैं AUTOSAR AP SWS Diagnostics, पृ. 78।
उपयोग पथ
इंस्टैंशिएशन के बाद, अनुप्रयोग आमतौर पर किसी विशिष्ट घटना (EventHandleType के माध्यम से पहचानी गई) की स्थिति परिवर्तनों के बारे में सूचित होने के लिए SetEventStatusChangedNotifier का उपयोग करके एक कॉलबैक फ़ंक्शन पंजीकृत करता है [SWS_DM_01708]। उसी घटना के लिए इस विधि का एक पुनः कॉल पहले सेट किए गए नोटिफ़ायर को अधिलेखित कर देता है [SWS_DM_01708]। यह पंजीकरण फ़ंक्शन थ्रेड-सुरक्षित नहीं है [SWS_DM_01708]।
चल रहे संचालन के दौरान, वर्तमान डायग्नोस्टिक जानकारी को प्रत्येक ईवेंट हैंडल के लिए लक्षित तरीके से पूछा जा सकता है। सभी स्थिति-संबंधी रीड ऑपरेशंस अपना डेटा एसिंक्रोनस रूप से एक ara::core::Future में लौटाते हैं:
GetEventStatus घटना के वर्तमान स्थिति बाइट को EventStatusByte[SWS_DM_01707] के रूप में लौटाता है।
GetDebouncingStatus घटना की डिबाउंस स्थिति (DebouncingState) लौटाता है [SWS_DM_01710]।
GetFaultDetectionCounter वर्तमान त्रुटि पहचान काउंटर (FaultDetectionCounter) को हस्ताक्षरित 8-बिट पूर्णांक मान के रूप में लौटाता है [SWS_DM_01711]।
GetDTCNumber अनुरोधित DTCFormatType[SWS_DM_01709] में संबद्ध DTC संख्या की क्वेरी करता है।
अनुक्रम आरेख: MultipleEvent के माध्यम से नैदानिक घटनाओं के अवलोकन और क्वेरी का विशिष्ट उपयोग पथ। स्रोत: [SWS_DM_01705], [SWS_DM_01707], [SWS_DM_01708], [SWS_DM_01709], [SWS_DM_01710], [SWS_DM_01711]
त्रुटि परिदृश्य
MultipleEvent की विधियाँ DiagErrc प्रकार के माध्यम से त्रुटि स्थितियों का संकेत देती हैं, जिसे या तो एक ara::core::Result में या लौटाए गए ara::core::Future में एनकैप्सुलेट करके ले जाया जाता है [SWS_DM_01707], [SWS_DM_01708], [SWS_DM_01709]। निम्नलिखित त्रुटि स्थितियाँ निर्दिष्ट हैं:
DiagErrc::kNoSuchDTC: GetDTCNumber द्वारा रिपोर्ट किया जाता है यदि अनुरोधित नैदानिक घटना के लिए कोई संगत DTC कॉन्फ़िगर या संबद्ध नहीं है [SWS_DM_01709]।
Register a notifier function which is called if a diagnostic event is changed. A consecutive call of this method will overwrite the previous registered notifier.
InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticMultipleEventPortMapping needs to be typed by a DiagnosticMultipleEventInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.
Parameter (in)
Parameter
Beschreibung
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticMultipleEventInterface.
Request a governed re-review of this record. The record is not changed immediately.
Register a notifier function which is called if a diagnostic event is changed. A consecutive call of this method will overwrite the previous registered notifier.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: bd91ad4f4cb5उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
मेथड ara::diag::MultipleEvent::SetEventStatusChangedNotifier[SWS_DM_01708]EventStatusByteNotifier प्रकार के एक कॉलबैक फ़ंक्शन को पंजीकृत करती है, जिसे तब कॉल किया जाता है जब किसी डायग्नोस्टिक इवेंट की स्थिति बदलती है। पैरामीटर eventHandle के माध्यम से इंस्टेंस के भीतर वांछित इवेंट की पहचान की जाती है। मेथड को noexcept के रूप में निर्दिष्ट किया गया है और यह एक ara::core::Result<void> लौटाती है। पुनः कॉल करने पर पहले से पंजीकृत नोटिफ़ायर ओवरराइट हो जाता है [SWS_DM_01708]।
त्रुटि प्रबंधन
यदि पंजीकरण के दौरान कोई त्रुटि होती है, तो ara::core::Result एक संबंधित त्रुटि कोड लौटाता है। त्रुटि DiagErrc::kInvalidArgument निर्दिष्ट है, उदाहरण के लिए आंतरिक डिबाउंसिंग जैसे kPreFailed के संदर्भ में [SWS_DM_01708]।
समवर्तीता और प्रतिबंध
ऑपरेशन को exception safe घोषित किया गया है, लेकिन स्पष्ट रूप से not thread-safe के रूप में वर्गीकृत किया गया है [SWS_DM_01708]। इसलिए समान इंस्टेंस पर समवर्ती कॉल्स को बाहरी रूप से सिंक्रोनाइज़ किया जाना चाहिए।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल