Bundles timestamps and state information about the origin and modifications of a file in the adaptive Persistency module.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: c3acbafda95fProvenanceOpen questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Bundles timestamps and state information about the origin and modifications of a file in the adaptive Persistency module.
The structure ara::per::FileInfo serves as a metadata container for persistent files and is returned by GetFileInfo. It provides UTC-based timestamps in nanoseconds for creation [SWS_PER_00441], modification [SWS_PER_00442], and access [SWS_PER_00443] as well as status information regarding creation [SWS_PER_00444] and last modification [SWS_PER_00445]. As a passive data type, it is subject to the value semantics of the application and does not provide its own thread synchronization.
Context
In the per (Persistency) module of the AUTOSAR Adaptive Platform, the structure ara::per::FileInfo serves as a structured data carrier for administrative file metadata. For file operations handled via the interfaces of header file ara/per/file_storage.h, the Persistency module separates administrative information from the actual file contents. The structure is provided as the result of the operation GetFileInfo and assumes the function of a data transfer object between the Persistency layer and the calling application.
In terms of content, FileInfo combines two categories of attributes: precise temporal logging data and qualitative status information about the creation and maintenance of a file. The temporal specifications include the creation time [SWS_PER_00441], the modification time [SWS_PER_00442], and the time of last access [SWS_PER_00443]. These metadata are supplemented by descriptive status attributes that describe how and by whom the file was created [SWS_PER_00444] and last modified [SWS_PER_00445].
Lifecycle
As a passive C++ structure (struct), FileInfo has no independent state logic and no active runtime lifecycle. Instantiation typically occurs within the Persistency implementation during the execution of GetFileInfo. In this process, the metadata are read from the underlying file system and transferred into the data fields of the structure. Delivery to the application presumably occurs as a copy of the value or wrapped in a result type, whereby ownership and responsibility for the lifecycle are completely transferred to the calling component. Question Q-f5a9cf72c47f805e (open)
The lifetime of a FileInfo instance is tied to the scope in which the application declares the variable; upon leaving the scope, the structure is automatically deallocated. Because FileInfo encapsulates pure data fields and does not provide internal synchronization mechanisms, the structure is not thread-safe: In case of concurrent access by multiple threads to the same instance, explicit synchronization is likely required on the application side if at least one access is a write. Question Q-139f5e8f58d3fe07 (open)
Usage Path
The typical sequence for using FileInfo comprises querying the file information via the file storage interface and the subsequent evaluation of the attributes by the application. The application initiates the query by calling GetFileInfo, specifying the target file. After a successful return, all metadata are directly available via the public member variables.
During evaluation, the application reads out the timestamps:
creationTime represents the time of file creation in nanoseconds since 1970-01-01 UTC (Unix epoch) [SWS_PER_00441].
modificationTime indicates the time of the last content modification in the same nanosecond format [SWS_PER_00442].
accessTime documents the time of the last read or write access in nanoseconds since 1970-01-01 UTC [SWS_PER_00443].
In addition to temporal classification, the application checks the attributes fileCreationState[SWS_PER_00444] and fileModificationState[SWS_PER_00445]. These enumeration values indicate under which conditions and by whom the file was created or modified. This allows the application to verify whether a file was created regularly in productive operation, during a recovery process, or by an update procedure before performing further read or write operations on the file content.
This class guide was generated by an AI assistant based on the AUTOSAR specification for Release R25-11.
gemini-3.8-flash-low· 2026-10-13 · German original