FileAccessor contains a common basis for ReadAccessor and WriteAccessor. It provides methods for checking and setting the current position in the file (GetPosition, Set Position, MovePosition, IsEof) and for checking the current size of the file (GetSize).
विशिष्ट फ़ाइल एक्सेस के लिए फ़ाइल आकार क्वेरी और स्थिति नेविगेशन के लिए एक सामान्य बेस क्लास के रूप में कार्य करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: e1768b56d42cउद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
विशिष्ट फ़ाइल एक्सेस के लिए फ़ाइल आकार क्वेरी और स्थिति नेविगेशन के लिए एक सामान्य बेस क्लास के रूप में कार्य करता है।
क्लास ara::per::FileAccessor AUTOSAR पर्सिस्टेंस मॉड्यूल में क्रमबद्ध फ़ाइल एक्सेस ([SWS_PER_00424]) के स्थिति नेविगेशन और आकार सत्यापन के लिए एक सामान्य बेस क्लास के रूप में कार्य करती है। यह हटाए गए कन्स्ट्रक्टर्स ([SWS_PER_00589]) के माध्यम से प्रत्यक्ष इंस्टेंसिएशन और कॉपी संचालन को रोकती है। अमान्य स्थिति विनिर्देशों के मामले में, एक रोलबैक सिमेंटिक्स प्रभावी होता है, जो वर्तमान पॉइंटर स्थिति की सुरक्षा करता है। सभी ऑपरेशन अपवाद-सुरक्षित हैं, लेकिन समवर्ती उपयोग के मामले में बाहरी सिंक्रोनाइज़ेशन की आवश्यकता होती है।
संदर्भ
क्लास ara::per::FileAccessor AUTOSAR Adaptive Platform के पर्सिस्टेंस मॉड्यूल (ara::per) में ReadAccessor और WriteAccessor जैसे फ़ाइल एक्सेस ऑब्जेक्ट्स के लिए एक सामान्य अमूर्त बेस क्लास के रूप में कार्य करती है। इसकी केंद्रीय ज़िम्मेदारी फ़ाइल-संबंधित स्थिति प्रबंधन और आकार सत्यापन के लिए एक समान इंटरफ़ेस प्रदान करना है। क्लास एक खुली हुई फ़ाइल के भीतर रीड और राइट कर्सर के लिए एक नियंत्रण इंस्टेंस के रूप में कार्य करती है, लेकिन इसमें वास्तविक डेटा ट्रांसमिशन (जैसे बाइट्स को पढ़ना या लिखना) के लिए स्वयं कोई मेथड नहीं होते हैं। नेविगेशन या तो फ़ाइल की शुरुआत से पूर्ण रूप से या परिभाषित संदर्भ बिंदुओं के सापेक्ष होता है।
जीवनचक्र
क्लास ara::per::FileAccessor को सीधे इंस्टैंशिएट या स्वतंत्र रूप से कॉपी नहीं किया जा सकता है। डिफ़ॉल्ट कन्स्ट्रक्टर हटा दिया गया है ([SWS_PER_00589]), साथ ही कॉपी कन्स्ट्रक्टर ([SWS_PER_00592]) और कॉपी असाइनमेंट ऑपरेटर ([SWS_PER_00593]) भी। मूव सिमेंटिक्स भी स्पष्ट रूप से प्रतिबंधित हैं: मूव कन्स्ट्रक्टर ([SWS_PER_00590]) और मूव असाइनमेंट ऑपरेटर ([SWS_PER_00591]) दोनों हटा दिए गए हैं। इससे यह व्याख्या निकलती है कि इंस्टेंस केवल ठोस सबक्लासेस के संदर्भ में ही बनाए और प्रबंधित किए जाते हैं।
वर्चुअल डिस्ट्रक्टर ~FileAccessor() ([SWS_PER_00594]) एक सुरक्षित रिलीज़ सुनिश्चित करता है, जो बेस क्लास पॉइंटर्स के माध्यम से पॉलीमॉर्फिक विनाश की अनुमति देता है। संगामिति के संबंध में, सभी मेंबर फ़ंक्शंस को गैर-थ्रेड-सुरक्षित ([SWS_PER_00162], [SWS_PER_00424], [SWS_PER_00107], [SWS_PER_00163], [SWS_PER_00164]) के रूप में निर्दिष्ट किया गया है। परिणामस्वरूप, एक ही इंस्टेंस पर विभिन्न थ्रेड्स से समवर्ती एक्सेस को एप्लिकेशन द्वारा सिंक्रोनाइज़ किया जाना चाहिए।
उपयोग पथ
FileAccessor के विशिष्ट उपयोग में फ़ाइल आकार की क्वेरी करना, वर्तमान स्थिति का निर्धारण करना और रीड या राइट एक्सेस की तैयारी के लिए लक्षित स्थिति परिवर्तन शामिल हैं:
आकार क्वेरी:GetSize() के माध्यम से बाइट्स में वर्तमान फ़ाइल आकार का निर्धारण किया जाता है ([SWS_PER_00424])।
स्थिति क्वेरी:GetPosition() के साथ, एप्लिकेशन फ़ाइल की शुरुआत से वर्तमान बाइट ऑफ़सेट की क्वेरी करता है, जो ठीक फ़ाइल के अंत में भी स्थित हो सकता है ([SWS_PER_00162])।
पूर्ण पोज़िशनिंग:SetPosition() कर्सर को फ़ाइल की शुरुआत से एक पूर्ण ऑफ़सेट पर सेट करता है ([SWS_PER_00163])।
सापेक्ष विस्थापन:MovePosition() कर्सर को Origin::kBeginning, Origin::kCurrent या Origin::kEnd से एक हस्ताक्षरित (signed) ऑफ़सेट द्वारा विस्थापित करता है ([SWS_PER_00164])।
फ़ाइल-अंत जांच: मेथड IsEof() इंगित करता है कि क्या वर्तमान स्थिति फ़ाइल के अंत तक पहुँच गई है ([SWS_PER_00107])।
FileAccessor के सभी ऑपरेशन अपवाद-सुरक्षित घोषित किए गए हैं (noexcept)। नेविगेशन कॉल्स के दौरान संभावित त्रुटि स्थितियां ara::core::Result के माध्यम से लौटाई जाती हैं:
यदि कोई एप्लिकेशन SetPosition() के माध्यम से फ़ाइल के अंत से परे किसी स्थिति पर जाने का प्रयास करता है, तो कॉल त्रुटि कोड PerErrc::kInvalidPosition के साथ विफल हो जाता है ([SWS_PER_00163])। यही बात MovePosition() पर भी लागू होती है, यदि परिकलित लक्ष्य स्थिति ऋणात्मक होगी या फ़ाइल के अंत के बाद स्थित होगी ([SWS_PER_00164])। दोनों विधियों के लिए एक सख्त रोलबैक सिमेंटिक्स अनिवार्य रूप से निर्धारित है: यदि कोई त्रुटि होती है, तो फ़ाइल की पूर्व मान्य स्थिति अपरिवर्तित रहती है ([SWS_PER_00163], [SWS_PER_00164])।
क्वेरी विधियां GetSize() ([SWS_PER_00424]), GetPosition() ([SWS_PER_00162]) और IsEof() ([SWS_PER_00107]) सीधे बेस डेटा प्रकार लौटाती हैं और कोई विशिष्ट त्रुटि कोड उत्पन्न नहीं करती हैं।
यह पाठ AUTOSAR विनिर्देश R25-11 के आधार पर एक AI द्वारा लिखा गया है। यह नेविगेशन एब्स्ट्रैक्शन का एक समग्र चित्र प्रदान करके मानक दस्तावेज़ीकरण का पूरक है।
Moves the current position in the file relative to the Origin. In case of an error, the current position is not changed.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 436bd0736ae4उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
ara::per::FileAccessor क्लास का सिंक्रोनस मेथड MovePosition वर्तमान फ़ाइल स्थिति को एक परिभाषित संदर्भ बिंदु के सापेक्ष विस्थापित करता है [SWS_PER_00164]। यह फ़ंक्शन noexcept के रूप में घोषित है [SWS_PER_00164]। पैरामीटर के रूप में यह Origin प्रकार का प्रारंभिक बिंदु origin और हस्ताक्षरित बाइट ऑफ़सेट offset लेता है [SWS_PER_00164]। सफल निष्पादन पर, मेथड फ़ाइल की शुरुआत से परिणामी निरपेक्ष बाइट स्थिति युक्त एक ara::core::Result लौटाता है [SWS_PER_00164]।
परस्पर क्रिया और पैरामीटर मान
संदर्भ बिंदु origin को इनमिरेशन Origin द्वारा निर्धारित किया जाता है [SWS_PER_00146]:
Origin::kCurrent: वर्तमान फ़ाइल स्थिति से विस्थापन; offset धनात्मक या ऋणात्मक हो सकता है, जहाँ शून्य का मान स्थिति को नहीं बदलता है [SWS_PER_00164], [SWS_PER_00146]।
Origin::kEnd: फ़ाइल के अंत के सापेक्ष विस्थापन; offset ऋणात्मक हो सकता है, जबकि शून्य का ऑफ़सेट स्थिति को ठीक फ़ाइल के अंत पर सेट करता है [SWS_PER_00164], [SWS_PER_00146]।
त्रुटि प्रबंधन
त्रुटि की स्थिति में, पिछली फ़ाइल स्थिति को रोलबैक सिमेंटिक्स द्वारा परिवर्तित नहीं किया जाता है [SWS_PER_00164]। यदि परिकलित लक्ष्य बिंदु शून्य से कम मान देता है या यह फ़ाइल के अंत से परे स्थित है, तो त्रुटि कोड PerErrc::kInvalidPosition लौटाया जाता है [SWS_PER_00164]। इसके अतिरिक्त, परिणाम में निर्माता-विशिष्ट त्रुटियाँ शामिल हो सकती हैं [SWS_PER_00164]।
समवर्तीता और प्रतिबंध
मेथड को exception safe के रूप में निर्दिष्ट किया गया है [SWS_PER_00164]। चूँकि कार्यान्वयन को not thread-safe के रूप में वर्गीकृत किया गया है, इसलिए FileAccessor के समान इंस्टेंस पर समानांतर एक्सेस को कॉलर की ओर से सिंक्रोनाइज़ किया जाना चाहिए [SWS_PER_00164]।
यह टेक्स्ट एक AI सिस्टम द्वारा तैयार किया गया था और autodocs द्वारा क्यूरेट किया गया था।
Offset in bytes relative to ’origin’. Can be positive in case of k Beginning and kCurrent and negative in case of kCurrent and k End. In case of kCurrent, an offset of zero will not change the current position. In case of kEnd, an offset of zero will set the position to the end of the file.
A Result containing the new position in bytes from the beginning of the file. In case of an error, it contains any of the errors defined below, or a vendor specific error.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल