Fix minor coverity issue
[platform/core/uifw/dali-adaptor.git] / dali / devel-api / adaptor-framework / accessibility.h
index 1142576..e4ff562 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef DALI_ATSPI_ACCESSIBILITY_H\r
 #define DALI_ATSPI_ACCESSIBILITY_H\r
 /*\r
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.\r
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.\r
  *\r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
  * you may not use this file except in compliance with the License.\r
@@ -18,6 +18,7 @@
  */\r
 \r
 // EXTERNAL INCLUDES\r
+#include <cstdint>\r
 #include <string>\r
 #include <unordered_map>\r
 #include <vector>\r
@@ -30,6 +31,8 @@ namespace Dali
 {\r
 namespace Accessibility\r
 {\r
+class Accessible;\r
+\r
 /**\r
  * @brief Enumeration describing type of object move relative to the screen. Only outgoing moves are signalled to AT-clients.\r
  */\r
@@ -339,6 +342,17 @@ enum class WindowEvent
   SHADE,\r
   UU_SHADE,\r
   RESTYLE,\r
+  POST_RENDER,\r
+};\r
+\r
+/**\r
+ * @brief Restored window state\r
+ * @see Accessibility::Accessible::Emit\r
+ */\r
+enum class WindowRestoreType\r
+{\r
+  RESTORE_FROM_ICONIFY, // The Window is Deiconified.\r
+  RESTORE_FROM_MAXIMIZE // The Window is Unmaximized.\r
 };\r
 \r
 /**\r
@@ -466,7 +480,41 @@ enum class AtspiInterface
   MAX_COUNT\r
 };\r
 \r
+/**\r
+ * @brief Enumeration of all AT-SPI events.\r
+ */\r
+enum class AtspiEvent\r
+{\r
+  PROPERTY_CHANGED,\r
+  BOUNDS_CHANGED,\r
+  LINK_SELECTED,\r
+  STATE_CHANGED,\r
+  CHILDREN_CHANGED,\r
+  VISIBLE_DATA_CHANGED,\r
+  SELECTION_CHANGED,\r
+  MODEL_CHANGED,\r
+  ACTIVE_DESCENDANT_CHANGED,\r
+  ROW_INSERTED,\r
+  ROW_REORDERED,\r
+  ROW_DELETED,\r
+  COLUMN_INSERTED,\r
+  COLUMN_REORDERED,\r
+  COLUMN_DELETED,\r
+  TEXT_BOUNDS_CHANGED,\r
+  TEXT_SELECTION_CHANGED,\r
+  TEXT_CHANGED,\r
+  TEXT_ATTRIBUTES_CHANGED,\r
+  TEXT_CARET_MOVED,\r
+  ATTRIBUTES_CHANGED,\r
+  MOVED_OUT,\r
+  WINDOW_CHANGED,\r
+  SCROLL_STARTED,\r
+  SCROLL_FINISHED,\r
+  MAX_COUNT\r
+};\r
+\r
 using AtspiInterfaces  = EnumBitSet<AtspiInterface, AtspiInterface::MAX_COUNT>;\r
+using AtspiEvents      = EnumBitSet<AtspiEvent, AtspiEvent::MAX_COUNT>;\r
 using ReadingInfoTypes = EnumBitSet<ReadingInfoType, ReadingInfoType::MAX_COUNT>;\r
 using States           = EnumBitSet<State, State::MAX_COUNT>;\r
 using Attributes       = std::unordered_map<std::string, std::string>;\r
@@ -640,7 +688,7 @@ struct DALI_ADAPTOR_API Range
   Range(size_t start, size_t end, std::string content)\r
   : startOffset(start),\r
     endOffset(end),\r
-    content(content)\r
+    content(std::move(content))\r
   {\r
   }\r
 };\r
@@ -679,22 +727,26 @@ struct DALI_ADAPTOR_API GestureInfo
 \r
 /**\r
  * @brief Class representing accessibility relations\r
+ *\r
  * Class connecting one source object with multiple target objects with usage\r
  * of specific relation type.\r
- * @note std::string representing source and targets are string values of Accessibility::Address\r
- * @see Dali::Accessibility::Accessible::Address\r
+ *\r
+ * A remote target object (i.e. one belonging to a different process) can be\r
+ * represented in terms of a ProxyAccessible.\r
+ *\r
+ * @see Dali::Accessibility::Accessible::Accessible\r
  * @see Dali::Accessibility::Accessible::RelationType\r
  */\r
 struct DALI_ADAPTOR_API Relation\r
 {\r
-  Relation(RelationType relationType, std::vector<Address> targets)\r
-  : relationType(relationType),\r
-    targets(targets)\r
+  Relation(RelationType relationType, const std::vector<Accessible*>& targets)\r
+  : mRelationType(relationType),\r
+    mTargets(targets)\r
   {\r
   }\r
 \r
-  RelationType         relationType;\r
-  std::vector<Address> targets;\r
+  RelationType             mRelationType;\r
+  std::vector<Accessible*> mTargets;\r
 };\r
 \r
 } // namespace Accessibility\r