From: Hermet Park Date: Mon, 15 Jun 2020 11:55:55 +0000 (+0900) Subject: common engine: manage engine initializing context. X-Git-Tag: accepted/tizen/unified/20200806.062539~110 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fb208defedd896619b5ab1781a33311c9ef58656;p=platform%2Fcore%2Fgraphics%2Ftizenvg.git common engine: manage engine initializing context. Change-Id: Ida3997fd7cc9ee0916d48290168cdb884e946833 --- diff --git a/src/lib/tvgEngine.cpp b/src/lib/tvgEngine.cpp index 40b1308..5038cb8 100644 --- a/src/lib/tvgEngine.cpp +++ b/src/lib/tvgEngine.cpp @@ -24,6 +24,8 @@ /************************************************************************/ /* Internal Class Implementation */ /************************************************************************/ +static bool initialized = false; + /************************************************************************/ @@ -32,11 +34,13 @@ Result Engine::init() noexcept { + if (initialized) return Result::InsufficientCondition; + //TODO: Initialize Raster engines by configuration. + SwRenderer::init(); + GlRenderer::init(); - int ret = 0; - ret |= SwRenderer::init(); - ret |= GlRenderer::init(); + initialized = true; return Result::Success; } @@ -44,9 +48,13 @@ Result Engine::init() noexcept Result Engine::term() noexcept { - int ret = 0; - ret |= SwRenderer::term(); - ret |= GlRenderer::term(); + if (!initialized) return Result::InsufficientCondition; + + //TODO: Terminate only allowed engines. + SwRenderer::term(); + GlRenderer::term(); + + initialized = false; return Result::Success; }