tvg_loader: introduce tvg interpreter base class for future extension.
authorHermet Park <chuneon.park@samsung.com>
Wed, 4 Aug 2021 11:53:51 +0000 (20:53 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Fri, 6 Aug 2021 01:04:08 +0000 (10:04 +0900)
commit6f77ef97f894fde145185c059fb101512580e6f3
treee99b3c894bc3e1733dc1b50e6458f378a41ee303
parent0002ba56b2550aeaf55b715bc08385e58166be44
tvg_loader: introduce tvg interpreter base class for future extension.

tvg binary format might break the compatibility if any major features have been changed.
It's allowed to do it when the major version is upgraded.

In that case, still we need to support the backward compatibility,
we can provide multiple binary interpreters and choose the proper one
based on the current loading tvg binary format version.

Thus, you can add further interpreters if it's necessary in the future.
Our policy is to derive the TvgBinInterpreterBase class to make it running on
the interface.

for example, if the major version is upgraded 1.x, you can implement TvgBinInterpreter1.
src/loaders/tvg/meson.build
src/loaders/tvg/tvgTvgBinInterpreter.cpp [moved from src/loaders/tvg/tvgTvgLoadParser.cpp with 99% similarity]
src/loaders/tvg/tvgTvgCommon.h [moved from src/loaders/tvg/tvgTvgLoadParser.h with 71% similarity]
src/loaders/tvg/tvgTvgLoader.cpp
src/loaders/tvg/tvgTvgLoader.h