summaryrefslogtreecommitdiffstats
path: root/src/wm_client.cpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2019-02-04 17:30:56 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2019-02-04 17:30:56 +0900
commit3a090e43fdeb3c86f253c39a23d35358680565f5 (patch)
tree1cbe0dc9a0152d2f552462dd9558761e93ef36ed /src/wm_client.cpp
parentef03209fb7961d83daa30af74689acaa7a3bbbc2 (diff)
Change active/inactive state spec
"active" state means "visible" on source code currently. Specification in HMI-FW spec 0.9.2 says it's not visible. https://wiki.automotivelinux.org/hmiframework It's the right to have resources such as buffers(surface). But from the view point of implementation of windowmanager-service, it is difficult to control resources of application. So this patch fixes just adding the methods to change the state of client. Change-Id: If445af3cdf724827ccf28f40af28cca4a2ffcbc1 Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/wm_client.cpp')
-rw-r--r--src/wm_client.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/wm_client.cpp b/src/wm_client.cpp
index ff08a00..d3f0364 100644
--- a/src/wm_client.cpp
+++ b/src/wm_client.cpp
@@ -72,6 +72,8 @@ WMClient::WMClient(const string &appid, const string &role)
: id(appid),
layer(0),
is_source_set(false),
+ is_active(false),
+ main_role(role),
role2surface(0),
evname2afb_event(0)
{
@@ -90,6 +92,8 @@ WMClient::WMClient(const string &appid, const string &role)
WMClient::WMClient(const string &appid, unsigned layer, const string &role)
: id(appid),
layer(layer),
+ is_source_set(false),
+ is_active(false),
main_role(role),
role2surface(0),
evname2afb_event(0)
@@ -131,6 +135,20 @@ void WMClient::registerSurface(unsigned surface)
this->surface = surface;
}
+void WMClient::activate()
+{
+ if(!this->isActive())
+ this->emitActive(true); // emit when state is changed
+ this->is_active = true;
+}
+
+void WMClient::deactivate()
+{
+ if(this->isActive())
+ this->emitActive(false); // emit when state is changed
+ this->is_active = false;
+}
+
/**
* Add surface to the client
*