Skip to content

C++ implementation journal: record struct and array parameters - #241

Open
spywo wants to merge 2 commits into
Autodesk:developfrom
spywo:wip/oliver/journal
Open

spywo wants to merge 2 commits into
Autodesk:developfrom
spywo:wip/oliver/journal

Conversation

@spywo

@spywo spywo commented Oct 13, 2026

Copy link
Copy Markdown

The interface journal skipped struct, structarray and basicarray parameters, so calls such as SetExtent were recorded without values.

  • Serialize struct parameters and results as child elements, including enum and fixed-size array members.
  • Serialize basicarray and structarray parameters and results as child elements with a count attribute (at most 1000 items per array).
  • XML-escape attribute values so string values such as WKT keep the journal well-formed.
  • Write single and double values with full significant digits.
  • Label int32 values as int32 instead of uint32.
  • Use the component base name casing for the journal file names and includes, matching the other interface files.

spywo and others added 2 commits October 13, 2026 18:42
The interface journal skipped struct, structarray and basicarray
parameters, so calls such as SetExtent were recorded without values.

- Serialize struct parameters and results as <member> child elements,
  including enum and fixed-size array members.
- Serialize basicarray and structarray parameters and results as <item>
  child elements with a count attribute (at most 1000 items per array).
- XML-escape attribute values so string values such as WKT keep the
  journal well-formed.
- Write single and double values with full significant digits.
- Label int32 values as int32 instead of uint32.
- Use the component base name casing for the journal file names and
  includes, matching the other interface files.

Co-authored-by: Cursor <cursoragent@cursor.com>
…en failures

Entries hold a shared reference to their journal, so a journal that SetJournal replaces stays open until in-flight calls finish. A mutex guards the global journal pointer. The journal constructor throws INVALIDPARAM when the file cannot be opened.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants