Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eliminate Qt from CCFUtils #136

Draft
wants to merge 22 commits into
base: master
Choose a base branch
from
Draft

Eliminate Qt from CCFUtils #136

wants to merge 22 commits into from

Conversation

cboulay
Copy link
Collaborator

@cboulay cboulay commented Jun 24, 2023

I mostly extracted CCFUtils as a standalone lib. Then I replaced QtXML usage with pugixml. I also replaced all other Qt types with STL types.

Caveats:

  • Isolation of CCFUtils is limited to being a PUBLIC dependency because the top-level cbSdk headers use CCFUtils' types.
  • CCFUtils no longer does device communication.
    • Functions that previously did a load-from-file-then-send-to-device were bookended by callbacks to indicate start and completion; now the callbacks only bookend the load-from-file part.
  • The QtXML to pugixml conversion needs to be tested.
  • The CCFWrite coroutine previously was set to lowest priority and no there is no priority set on it.
  • Replacing QVariant with std::any may incur a performance hit. Luckily we don't load or write the CCF often.
  • The QtXML -> pugixml conversion that was done aimed to be mostly 1:1. We can probably better leverage the pugixml API.
  • It would probably be better to add cbPKT_PROCINFO to cbCCF struct, instead of my solution which was to add members and methods to set a procinfo store on the m_pImpl which was then used during CCF writing.

I'm leaving this PR as a draft for now until I can test CCF management on multiple platforms.

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.

None yet

1 participant