Merge branch 'sandbox/knimitz/format_code' into sandbox/knimitz/lock
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Fri, 8 Jun 2018 03:49:57 +0000 (12:49 +0900)
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Fri, 8 Jun 2018 03:49:57 +0000 (12:49 +0900)
Change-Id: Ifbd46e0156ab5baf93fbb785f4fdfda963ed2af4
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
1  2 
src/app.cpp
src/app.hpp
src/applist.cpp
src/applist.hpp
src/wm-error.cpp
src/wm-error.h

diff --cc src/app.cpp
@@@ -455,11 -453,10 +453,11 @@@ void App::stop_timer(
      }
  }
  
 -bool App::lm_release(const struct WMAction &action)
 +WMError App::lm_release(const struct WMAction &action)
  {
      //auto const &surface_id = this->lookup_id(drawing_name);
-     unsigned req_num = app_list.currentSequenceNumber();
 +    WMError ret = WMError::LAYOUT_CHANGE_FAIL;
+     unsigned req_num = g_app_list.currentRequestNumber();
      auto const &surface_id = this->lookup_id(action.role.c_str());
      if (!surface_id)
      {
@@@ -561,15 -558,15 +559,14 @@@ WMError App::lm_layout_change(const str
      TODO: emit syncDraw with application*/
      if (msg)
      {
-         HMI_SEQ_DEBUG(app_list.currentSequenceNumber(), msg);
-         //app_list.removeRequest(req_num);
+         HMI_SEQ_DEBUG(g_app_list.currentRequestNumber(), msg);
 -        //g_app_list.removeRequest(req_num);
 -        return false;
 +        return WMError::LAYOUT_CHANGE_FAIL;
      }
      this->lm_layout_change(action.role.c_str());
 -    return true;
 +    return WMError::SUCCESS;
  }
  
 -bool App::do_transition(unsigned req_num)
 +WMError App::do_transition(unsigned req_num)
  {
      /*
      * Check Policy
      {
          is_activate = false;
      }
-     WMError ret = app_list.setAction(req_num, trigger.appid, trigger.role, trigger.area, is_activate);
-     app_list.req_dump();
 -    bool ret = g_app_list.setAction(req_num, trigger.appid, trigger.role, trigger.area, is_activate);
++    WMError ret = g_app_list.setAction(req_num, trigger.appid, trigger.role, trigger.area, is_activate);
+     g_app_list.reqDump();
  
 -    if (!ret)
 +    if (ret != WMError::SUCCESS)
      {
          HMI_SEQ_ERROR(req_num, "Failed to set action");
          return ret;
          {
              sync_draw_happen = true;
              ret = lm_layout_change(y);
 -            if (!ret)
 +            if (ret != WMError::SUCCESS)
              {
 -                HMI_SEQ_ERROR(req_num, "Failed layout change: %s", y.appid.c_str());
 +                HMI_SEQ_ERROR(req_num, "%s: appid: %s, role: %s, area: %s",
 +                    errorDescription(ret), y.appid.c_str(), y.role.c_str(), y.area.c_str());
-                 app_list.removeRequest(req_num);
+                 g_app_list.removeRequest(req_num);
                  break;
                  // TODO: if transition fails, what should we do?
              }
          }
      }
  
 -    if (!ret)
 +    if (ret != WMError::SUCCESS)
      {
-         //this->emit_error(request_seq, 0 /*error_num*/, "error happens"); // test
+         //this->emit_error(req_num, 0 /*error_num*/, "error happens"); // test
      }
 -    else if (ret && sync_draw_happen)
 +    else if (sync_draw_happen)
      {
          this->set_timer();
      }
@@@ -1018,12 -1025,9 +1026,12 @@@ void App::do_enddraw(unsigned req_num
  
  void App::process_request()
  {
-     unsigned req = app_list.currentSequenceNumber();
+     unsigned req = g_app_list.currentRequestNumber();
      HMI_SEQ_DEBUG(req, "Do next request");
 -    do_transition(req);
 +    WMError rc = do_transition(req);
 +    if(rc != WMError::SUCCESS){
 +        HMI_SEQ_ERROR(req, errorDescription(rc));
 +    }
  }
  
  void App::api_enddraw(char const *appid, char const *drawing_name)
diff --cc src/app.hpp
@@@ -262,9 -261,9 +262,9 @@@ struct Ap
      void emit_invisible(char const *label);
      void emit_visible(char const *label);
  
 -    bool do_transition(unsigned req_num);
 +    WMError do_transition(unsigned sequence_number);
  
-     void do_enddraw(unsigned sequence_number);
+     void do_enddraw(unsigned req_num);
      void process_request();
      void set_timer();
      void stop_timer();
diff --cc src/applist.cpp
@@@ -116,23 -115,23 +115,18 @@@ unsigned AppList::addAllocateRequest(WM
      }
      else
      {
-         HMI_SEQ_DEBUG(current_seq, "real: %d", req_list.back().seq_num + 1);
-         req.seq_num = req_list.back().seq_num + 1;
+         HMI_SEQ_DEBUG(this->current_req, "add: %d", this->req_list.back().req_num + 1);
+         req.req_num = this->req_list.back().req_num + 1;
      }
-     req_list.push_back(req);
-     return req.seq_num; // return 1; if you test time_expire
- }
- bool AppList::requestFinished()
- {
-     return req_list.empty();
+     this->req_list.push_back(req);
+     return req.req_num; // return 1; if you test time_expire
  }
  
 -bool AppList::requestFinished() const
 -{
 -    return this->req_list.empty();
 -}
 -
  struct WMTrigger AppList::getRequest(unsigned req_num)
  {
-     for (auto &x : req_list)
+     for (const auto &x : this->req_list)
      {
-         if (req_num == x.seq_num)
+         if (req_num == x.req_num)
          {
              return x.trigger;
          }
@@@ -150,12 -149,12 +144,12 @@@ const vector<struct WMAction> &AppList:
      }
  }
  
 -bool AppList::setAction(unsigned req_num, const struct WMAction &action)
 +WMError AppList::setAction(unsigned req_num, const struct WMAction &action)
  {
 -    bool result = false;
 +    WMError result = WMError::FAIL;
-     for (auto &x : req_list)
+     for (auto &x : this->req_list)
      {
-         if (req_num != x.seq_num)
+         if (req_num != x.req_num)
          {
              continue;
          }
      return result;
  }
  
 -bool AppList::setAction(unsigned req_num, const string &appid, const string &role, const string &area, bool visible)
+ /**
+  * Note:
+  * This function set action with parameters.
+  * if visible is true, it means app should be visible, so enddraw_finished parameter should be false.
+  * otherwise (visible is false) app should be invisible. Then enddraw_finished param is set to true.
+  * This function doesn't support actions for focus yet.
+  */
 +WMError AppList::setAction(unsigned req_num, const string &appid, const string &role, const string &area, bool visible)
  {
 -    bool result = false;
 +    WMError result = WMError::NOT_REGISTERED;
      for (auto &x : req_list)
      {
-         if (req_num != x.seq_num)
+         if (req_num != x.req_num)
          {
              continue;
          }
-         WMAction action{appid, role, area, visible, false};
+         bool edraw_f = (visible) ? false : true;
+         WMAction action{appid, role, area, visible, edraw_f};
  
          x.sync_draw_req.push_back(action);
 -        result = true;
 +        result = WMError::SUCCESS;
          break;
      }
      return result;
diff --cc src/applist.hpp
@@@ -53,9 -53,9 +53,8 @@@ class AppLis
      /* TODO: consider, which is better WMClient or std::string appid?
      if appid is key to manage resources, it is better to select std::string
      otherwise WMClient is better, IMO */
-     bool requestFinished();
 -    bool requestFinished() const;
 -    bool setAction(unsigned req_num, const struct WMAction &action);
 -    bool setAction(unsigned req_num, const std::string &appid, const std::string &role, const std::string &area, bool visible = true);
 +    WMError setAction(unsigned req_num, const struct WMAction &action);
 +    WMError setAction(unsigned req_num, const std::string &appid, const std::string &role, const std::string &area, bool visible = true);
      bool setEndDrawFinished(unsigned req_num, const std::string &appid, const std::string &role);
      bool endDrawFullfilled(unsigned req_num);
      void removeRequest(unsigned req_num);
@@@ -28,12 -28,10 +28,14 @@@ const char *errorDescription(WMError en
              return "Request is rejected, due to the policy rejection of the request.";
          case REQ_DROPPED:
              return "Request is dropped, because the high priority request is done";
 +        case NOT_REGISTERED:
 +            return "Not registered";
          case TIMEOUT_EXPIRED:
              return "Request is dropped, due to time out expiring";
 +        case LAYOUT_CHANGE_FAIL:
 +            return "Layout change fails, due to some reasons";
+         case NO_ENTRY:
+             return "No element";
          default:
              return "Unknown error number. Window manager bug.";
      }
diff --cc src/wm-error.h
@@@ -26,14 -26,12 +26,15 @@@ typedef enum WINDOWMANAGER_ERRO
      REQ_REJECTED,
      REQ_DROPPED,
      TIMEOUT_EXPIRED,
 +    NOT_REGISTERED,
 +    LAYOUT_CHANGE_FAIL,
+     NO_ENTRY,
      UNKNOWN,
      ERR_MAX = UNKNOWN
 -} WMError;
 +}
 +WMError;
  
 -static const char *errorDescription(WMError enum_error_number);
 +const char *errorDescription(WMError enum_error_number);
  
  }
  #endif // WINDOW_MANAGER_ERROR