# title of most generated pages and in a few other places.
# The default value is: My Project.
-PROJECT_NAME = "The Vast Comedian Project"
+PROJECT_NAME = "Aurum"
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
-PROJECT_BRIEF = Comedy generator
+PROJECT_BRIEF =
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
-INPUT = "@TOP_SRCDIR@/libaurum/inc" "@TOP_SRCDIR@/libaurum/src" "@TOP_SRCDIR@/org.tizen.aurum-bootstrap/inc" "@TOP_SRCDIR@/org.tizen.aurum-bootstrap/src" "@TOP_SRCDIR@/protocol"
+INPUT = "@TOP_SRCDIR@/libaurum/" \
+ "@TOP_SRCDIR@/libaurum/inc" \
+ "@TOP_SRCDIR@/libaurum/src" \
+ "@TOP_SRCDIR@/protocol" \
+ "@TOP_SRCDIR@/org.tizen.aurum-bootstrap/aurum-bootstrap.dox" \
+ "@TOP_SRCDIR@/doc/mainpage.dox"
+
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
*.cc \
*.h \
*.hh \
+ *.dox \
*.proto
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# The default value is: NO.
-RECURSIVE = NO
+RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
-GENERATE_TREEVIEW = NO
+GENERATE_TREEVIEW = YES
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
# doxygen will group on one line in the generated HTML documentation.
--- /dev/null
+
+/**
+ * @mainpage Aurum Protocol
+ * @section main_intro Introduction
+ * this is quick introduction
+ * @li @ref libaurum
+ * @li @ref protocol
+ * @li @ref aurum-bootstrap
+ * @section main_architecture Overall Architecture
+ * this is breif overall architecture
+ * @section main_tutorial Tutorial
+ * this shows you how to use aurum
+ * @subsection main_tutorial_step1 Step1
+ * tutorial step 1
+ * @subsection main_tutorial_step2 Step2
+ * tutorial step 2
+ * @subsection main_tutorial_step3 Step3
+ * tutorial step 3
+ * @subsection main_tutorial_step4 Step4
+ * tutorial step 4
+ */
+
#ifndef ACCESSIBLE_NODE_H
#define ACCESSIBLE_NODE_H
-#include "config.h"
-
-#include "AccessibleUtils.h"
-
#include <atspi/atspi.h>
+
#include <map>
#include <memory>
#include <string>
#include <vector>
+#include "AccessibleUtils.h"
+#include "config.h"
+
+/**
+ * @brief AccessibleNodeInterface enum class
+ * @since_tizen 5.5
+ */
enum class AccessibleNodeInterface {
ACTION = 0x0001,
COLLECTION = 0X0002,
TABLECELL = 0X1000,
};
+/**
+ * @brief NodeFeatureProperties enum class
+ * @since_tizen 5.5
+ */
enum class NodeFeatureProperties {
CHECKABLE = 0x0001,
CHECKED = 0X0002,
ACTIVE = 0X0800,
};
+/**
+ * @brief Point2d Class
+ * @since_tizen 5.5
+ */
template <typename T>
class Point2D {
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Point2D() : x{0}, y{0} {}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Point2D(const Point2D &src)
{
x = src.x;
y = src.y;
}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Point2D(const T &x, const T &y)
{
this->x = x;
this->y = y;
}
+
+ /**
+ * @brief TBD
+ */
T x;
+
+ /**
+ * @brief TBD
+ */
T y;
};
+/**
+ * @brief Rect Class
+ * @since_tizen 5.5
+ */
template <typename T>
class Rect {
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Rect() : mTopLeft{0, 0}, mBottomRight{0, 0} {}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Rect(const Point2D<T> &tl, const Point2D<T> &br)
: mTopLeft(tl), mBottomRight(br)
{
}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Rect(const T &x1, const T &y1, const T &x2, const T &y2)
: mTopLeft{x1, y1}, mBottomRight{x2, y2}
{
}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Rect(const Rect<T> &src)
{
this->mTopLeft = Point2D<int>{src.mTopLeft};
this->mBottomRight = Point2D<int>{src.mBottomRight};
}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Point2D<T> midPoint() const
{
return Point2D<T>{mTopLeft.x + static_cast<T>(width() / 2),
mTopLeft.y + static_cast<T>(height() / 2)};
}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
T width() const { return mBottomRight.x - mTopLeft.x; }
- T height() const { return mBottomRight.y - mTopLeft.y; }
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+ T height() const { return mBottomRight.y - mTopLeft.y; }
+
+ /**
+ * @brief TBD
+ */
Point2D<T> mTopLeft;
+
+ /**
+ * @brief TBD
+ */
Point2D<T> mBottomRight;
};
+/**
+ * @brief AccessibleNode Class
+ * @since_tizen 5.5
+ */
class AccessibleNode {
-public:
+public: // Constructor & Destructor
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
AccessibleNode();
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
AccessibleNode(AtspiAccessible *node);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
~AccessibleNode();
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::unique_ptr<AccessibleNode> get(AtspiAccessible *node);
public:
- int getChildCount() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+ int getChildCount() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<AccessibleNode> getChildAt(int index) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<AccessibleNode> getParent() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
AtspiAccessible *getAccessible() const;
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getDesc() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getText() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getPkg() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getRes() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getType() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getStyle() const;
- Rect<int> getBoundingBox() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+ Rect<int> getBoundingBox() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isCheckable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isChecked() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isClickable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isEnabled() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isFocusable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isFocused() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isLongClickable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isScrollable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isSelectable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isSelected() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isVisible() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isShowing() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isActive() const;
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void print(int) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void print(int, int) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void refresh() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void setValue(std::string text) const;
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isSupporting(AccessibleNodeInterface thisIface) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool hasFeatureProperty(NodeFeatureProperties prop) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void setFeatureProperty(NodeFeatureProperties prop, bool has) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void setFeatureProperty(AtspiStateType type) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::map<AtspiAccessible *, AccessibleNode *> mNodeMap;
private:
+ /**
+ * @brief TBD
+ */
unique_ptr_gobj<AtspiAccessible> mNode;
mutable std::string mText;
+
+ /**
+ * @brief TBD
+ */
mutable std::string mPkg;
+
+ /**
+ * @brief TBD
+ */
mutable std::string mRole;
+
+ /**
+ * @brief TBD
+ */
mutable std::string mDesc;
+
+ /**
+ * @brief TBD
+ */
mutable std::string mRes;
+
+ /**
+ * @brief TBD
+ */
mutable std::string mType;
+
+ /**
+ * @brief TBD
+ */
mutable std::string mStyle;
+ /**
+ * @brief TBD
+ */
mutable Rect<int> mBoundingBox;
- int mSupportingIfaces;
- mutable int mFeatureProperty;
+ /**
+ * @brief TBD
+ */
+ int mSupportingIfaces;
+
+ /**
+ * @brief TBD
+ */
+ mutable int mFeatureProperty;
+
+ /**
+ * @brief TBD
+ */
bool mIsAlive;
};
#include <string.h>
#include <memory>
+
#include "config.h"
+/**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
struct GobjDeletor {
- void operator() (gpointer ptr) const { if (ptr) g_object_unref(ptr); }
+ void operator()(gpointer ptr) const
+ {
+ if (ptr) g_object_unref(ptr);
+ }
};
+/**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
struct GarrayDeletor {
- void operator() (GArray *ptr) const { if (ptr) g_array_free(ptr, 1); }
+ void operator()(GArray *ptr) const
+ {
+ if (ptr) g_array_free(ptr, 1);
+ }
};
-template<class T> using unique_ptr_gobj = std::unique_ptr<T, GobjDeletor>;
-template<class T> using unique_ptr_garray = std::unique_ptr<T, GarrayDeletor>;
+/**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+template <class T>
+using unique_ptr_gobj = std::unique_ptr<T, GobjDeletor>;
+
+/**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+template <class T>
+using unique_ptr_garray = std::unique_ptr<T, GarrayDeletor>;
-template<class T>
+/**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+template <class T>
unique_ptr_gobj<T> make_gobj_unique(T *ptr)
{
return unique_ptr_gobj<T>(ptr);
}
-template<class T>
+/**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+template <class T>
unique_ptr_garray<T> make_garray_unique(T *ptr)
{
return unique_ptr_garray<T>(ptr);
}
-template<class T>
+/**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+template <class T>
unique_ptr_gobj<T> make_gobj_ref_unique(T *ptr)
{
g_object_ref(ptr);
return unique_ptr_gobj<T>(ptr);
}
-char* state_to_char(AtspiStateType state);
+/**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+char *state_to_char(AtspiStateType state);
#endif
\ No newline at end of file
+/**
+ * @brief WindowActivateInfoType enum class
+ * @since_tizen 5.5
+ */
enum class WindowActivateInfoType {
DEFAULT_LABEL_ENALBED = 0x00,
DEFAULT_LABEL_ENALBED_WITHOUT_WINDOW = 0x01,
KEYBOARD = 0x04,
};
+/**
+ * @brief IAtspiEvents Interface
+ * @since_tizen 5.5
+ */
class IAtspiEvents {
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual ~IAtspiEvents() {}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual void onWindowActivated(AtspiAccessible * node,
WindowActivateInfoType type) = 0;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual void onWindowDeactivated(AtspiAccessible *node) = 0;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual void onWindowCreated(AtspiAccessible *node) = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual void onWindowDestroyed(AtspiAccessible *node) = 0;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual void onVisibilityChanged(AtspiAccessible *node,
bool visible) = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual void onObjectDefunct(AtspiAccessible *node) = 0;
};
+/**
+ * @brief AccessibleWatcher class
+ * @since_tizen 5.5
+ */
class AccessibleWatcher : public IAtspiEvents {
private:
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
AccessibleWatcher();
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static const AccessibleWatcher *getInstance();
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual ~AccessibleWatcher();
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<AccessibleNode> getRootNode() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::vector<std::unique_ptr<AccessibleNode>> getTopNode() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void onWindowActivated(AtspiAccessible * node,
WindowActivateInfoType type) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void onWindowDeactivated(AtspiAccessible *node) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void onWindowCreated(AtspiAccessible *node) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void onWindowDestroyed(AtspiAccessible *node) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void onVisibilityChanged(AtspiAccessible *node,
bool visible) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void onObjectDefunct(AtspiAccessible *node) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void printDbgInformation() const;
private:
void clearWindowList() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static void onAtspiWindowEvent(AtspiEvent *event, void *user_data);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool removeFromActivatedList(AtspiAccessible *node);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool addToActivatedList(AtspiAccessible *node);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool removeFromWindowSet(AtspiAccessible *node);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool addToWindowSet(AtspiAccessible *node);
+
private:
+ /**
+ * @brief TBD
+ */
static AtspiEventListener * listener;
+
+ /**
+ * @brief TBD
+ */
mutable std::list<AtspiAccessible *> mActivatedWindowList;
+
+ /**
+ * @brief TBD
+ */
mutable std::list<AtspiAccessible *> mActivatedApplicationList;
+
+ /**
+ * @brief TBD
+ */
mutable std::set<AtspiAccessible *> mWindowSet;;
+ /**
+ * @brief TBD
+ */
GDBusProxy * mDbusProxy;
+
+ /**
+ * @brief TBD
+ */
std::map<AtspiAccessible *, AccessibleNode *> mAccessibleNode;
+
+ /**
+ * @brief TBD
+ */
mutable std::mutex mLock;
};
#include <memory>
#include <vector>
+/**
+ * @brief Comparer class
+ * @since_tizen 5.5
+ */
class Comparer {
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Comparer(const UiDevice *device, const std::shared_ptr<UiSelector> selector,
const bool &earlyReturn);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
~Comparer();
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::unique_ptr<AccessibleNode> findObject(const UiDevice * device,
const std::shared_ptr<UiSelector> selector,
const AccessibleNode *root);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::vector<std::unique_ptr<AccessibleNode>> findObjects(
const UiDevice *device, const std::shared_ptr<UiSelector> selector,
const AccessibleNode *root);
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::vector<std::unique_ptr<AccessibleNode>> findObjects(const AccessibleNode *root);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::vector<std::unique_ptr<AccessibleNode>> findObjects(
const AccessibleNode *root, const int &index, const int &depth,
std::list<std::shared_ptr<PartialMatch>> &partialMatches);
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<PartialMatch> accept(const AccessibleNode *node,
const std::shared_ptr<UiSelector> selector,
const int &index, const int &depth,
const int &relDepth);
private:
+ /**
+ * @brief TBD
+ */
const UiDevice *mDevice;
+
+ /**
+ * @brief TBD
+ */
const std::shared_ptr<UiSelector> mSelector;
+
+ /**
+ * @brief TBD
+ */
bool mEarlyReturn;
};
#ifdef GBS_BUILD
#include <efl_util.h>
#endif
-
+/**
+ * @brief TizenImpl Class
+ * @since_tizen 5.5
+ */
class TizenImpl : public IDevice {
public:
TizenImpl();
#include "config.h"
#include <string>
-
+/**
+ * @brief TypeRequestType enum class
+ * @since_tizen 5.5
+ */
enum class TypeRequestType {
WALLCLOCK,
MONOTONIC,
};
-
+/**
+ * @brief IDevice interface
+ * @since_tizen 5.5
+ */
class IDevice {
public:
+ /**
+ * @brief TBD virtual dtor
+ * @since_tizen 5.5
+ */
virtual ~IDevice() {}
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool click(const int x, const int y) = 0;
+
+ /**
+ * @brief TBD click method
+ * @since_tizen 5.5
+ */
virtual bool click(const int x, const int y, const unsigned int intv) = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool drag(const int sx, const int sy, const int ex, const int ey,
const int steps, const int durationMs) = 0;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool touchDown(const int x, const int y) = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool touchMove(const int x, const int y) = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool touchUp(const int x, const int y) = 0;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+
virtual bool wheelUp(int amount, const int durationMs) = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool wheelDown(int amount, const int durationMs) = 0;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool pressBack() = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool pressHome() = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool pressMenu() = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool pressVolUp() = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool pressVolDown() = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool pressPower() = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool pressKeyCode(std::string keycode) = 0;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool takeScreenshot(std::string path, float scale, int quality) = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual long long getSystemTime(TypeRequestType type) = 0;
};
#endif
\ No newline at end of file
#include <vector>
class UiObject;
-
+/**
+ * @brief ISearchable interface
+ * @since_tizen 5.5
+ */
class ISearchable {
public:
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual ~ISearchable() {}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual bool hasObject(const std::shared_ptr<UiSelector> selector) const = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual std::unique_ptr<UiObject> findObject(
const std::shared_ptr<UiSelector> selector) const = 0;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual std::vector<std::unique_ptr<UiObject>> findObjects(
const std::shared_ptr<UiSelector> selector) const = 0;
};
#include "AccessibleNode.h"
#include "UiSelector.h"
-
+/**
+ * @brief PartialMatch class
+ * @since_tizen 5.5
+ */
class PartialMatch {
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
PartialMatch();
- const std::shared_ptr<UiSelector> mSelector;
- const int mDepth;
- std::list<std::shared_ptr<PartialMatch>> mPartialMatches;
-
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
PartialMatch(const std::shared_ptr<UiSelector> selector, const int absDepth);
+
+public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void update(const AccessibleNode *node, int index, int depth,
std::list<std::shared_ptr<PartialMatch>> &partialMatches);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool finalizeMatch();
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void debugPrint();
public:
static std::shared_ptr<PartialMatch> accept(const AccessibleNode *node,
const std::shared_ptr<UiSelector> selector,
int index, int depth);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::shared_ptr<PartialMatch> accept(const AccessibleNode *node,
const std::shared_ptr<UiSelector> selector,
int index, int absoluteDepth,
int relativeDepth);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
private:
static bool checkCriteria(const std::shared_ptr<UiSelector> selector,
const AccessibleNode *node);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
+
static bool checkCriteria(const std::string *textA, const std::string textB);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static bool checkCriteria(const bool *boolA, const bool boolB);
+
+private:
+ /**
+ * @brief TBD
+ */
+ const std::shared_ptr<UiSelector> mSelector;
+
+ /**
+ * @brief TBD
+ */
+ const int mDepth;
+
+ /**
+ * @brief TBD
+ */
+ std::list<std::shared_ptr<PartialMatch>> mPartialMatches;
};
#endif
\ No newline at end of file
#include <string>
#include "UiSelector.h"
-
+/**
+ * @brief Sel class
+ * @since_tizen 5.5
+ */
class Sel {
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::shared_ptr<UiSelector> text(std::string text);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::shared_ptr<UiSelector> type(std::string text);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::shared_ptr<UiSelector> style(std::string text);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::shared_ptr<UiSelector> depth(int depth);
};
#include <functional>
#include <string>
-
+/**
+ * @brief DeviceType enum class
+ * @since_tizen 5.5
+ */
enum class DeviceType {
DEFAULT,
NUM_DEVICETYPE,
};
-
+/**
+ * @brief UiDevice class
+ * @since_tizen 5.5
+ */
class UiDevice : public IDevice, public ISearchable {
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool click(const int x, const int y) override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool click(const int x, const int y, const unsigned int intv) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool drag(const int sx, const int sy, const int ex, const int ey,
const int steps, const int durationMs) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool touchDown(const int x, const int y) override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool touchMove(const int x, const int y) override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool touchUp(const int x, const int y) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool wheelUp(int amount, const int durationMs) override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool wheelDown(int amount, const int durationMs) override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool pressBack() override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool pressHome() override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool pressMenu() override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool pressVolUp() override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool pressVolDown() override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool pressPower() override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool pressKeyCode(std::string keycode) override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool takeScreenshot(std::string path, float scale, int quality) override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
long long getSystemTime(TypeRequestType type) override;
public:
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool hasObject(const std::shared_ptr<UiSelector> selector) const override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<UiObject> findObject(
const std::shared_ptr<UiSelector> selector) const override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::vector<std::unique_ptr<UiObject>> findObjects(
const std::shared_ptr<UiSelector> selector) const override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool waitFor(
const std::function<bool(const ISearchable *)> condition) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<UiObject> waitFor(
const std::function<std::unique_ptr<UiObject>(const ISearchable *)>
condition) const;
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static UiDevice *getInstance(DeviceType type);
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::vector<std::unique_ptr<AccessibleNode>> getWindowRoot() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool waitForIdle() const;
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiDevice();
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiDevice(DeviceType type, IDevice *impl);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual ~UiDevice();
private:
+ /**
+ * @brief TBD
+ */
DeviceType mType;
+ /**
+ * @brief TBD
+ */
IDevice * mDeviceImpl;
+ /**
+ * @brief TBD
+ */
const Waiter *mWaiter;
};
#include <vector>
class UiDevice;
-
+/**
+ * @brief UiObject class
+ * @since_tizen 5.5
+ */
class UiObject : public ISearchable {
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiObject(const UiDevice *device, const std::shared_ptr<UiSelector> selector,
const AccessibleNode *node);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiObject(const UiDevice *device, const std::shared_ptr<UiSelector> selector,
std::unique_ptr<AccessibleNode> node);
-
// UiObject(const UiObject &src); // copy constroctur
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiObject(UiObject &&src); // move constructor
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiObject();
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
virtual ~UiObject();
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::shared_ptr<UiSelector> getSelector();
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool hasObject(const std::shared_ptr<UiSelector> selector) const override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<UiObject> findObject(
const std::shared_ptr<UiSelector> selector) const override;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::vector<std::unique_ptr<UiObject>> findObjects(
const std::shared_ptr<UiSelector> selector) const override;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool waitFor(
const std::function<bool(const ISearchable *)> condition) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<UiObject> waitFor(
const std::function<std::unique_ptr<UiObject>(const ISearchable *)>
condition) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool waitFor(const std::function<bool(const UiObject *)> condition) const;
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiObject * getParent() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
int getChildCount() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::vector<std::unique_ptr<UiObject>> getChildren() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getContentDescription() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getApplicationPackage() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getResourceName() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::string getText() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void setText(std::string text);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
const Rect<int> getBoundingBox() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isCheckable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isChecked() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isClickable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isEnabled() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isFocusable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isFocused() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isLongClickable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isScrollable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isSelectable() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isSelected() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isVisible() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isShowing() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
bool isActive() const;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void click() const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void longClick(const unsigned int intv = LOGNCLICK_INTERVAL) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
void refresh() const;
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
const AccessibleNode *getAccessibleNode() const;
- static const unsigned int LOGNCLICK_INTERVAL = 50;
private:
+ /**
+ * @brief TBD
+ */
const UiDevice * mDevice;
+
+ /**
+ * @brief TBD
+ */
std::shared_ptr<UiSelector> mSelector;
+
+ /**
+ * @brief TBD
+ */
std::unique_ptr<AccessibleNode> mNode;
+
+ /**
+ * @brief TBD
+ */
const Waiter * mWaiter;
//std::unique_ptr<AccessibleNode> mNode_src;
+
+ /**
+ * @brief TBD
+ */
+ static const unsigned int LOGNCLICK_INTERVAL = 50;
};
#endif
\ No newline at end of file
#include <string>
#include <vector>
#include <memory>
-
+/**
+ * @brief UiSelector class
+ * @since_tizen 5.5
+ */
class UiSelector {
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector();
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector(UiSelector &selector);
// UiSelector(const UiSelector &src);
// UiSelector &operator= (const UiSelector& src);
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *id(std::string text);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *text(std::string text);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *pkg(std::string text);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *type(std::string text);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *style(std::string text);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *depth(int depth);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *depth(int minDepth, int maxDepth);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *minDepth(int depth);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *maxDepth(int depth);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isChecked(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isCheckable(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isClickable(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isEnabled(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isFocused(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isFocusable(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isScrollable(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isSelected(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isShowing(bool cond);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *isActive(bool cond);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *res(std::string text);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *desc(std::string text);
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
UiSelector *hasChild(std::shared_ptr<UiSelector> child);
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<std::string> mId;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<std::string> mText;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<std::string> mPkg;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<std::string> mType;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<std::string> mStyle;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<int> mMinDepth;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<int> mMaxDepth;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIschecked;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIscheckable;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIsclickable;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIsenabled;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIsfocused;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIsfocusable;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIsscrollable;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIsselected;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIsshowing;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<bool> mIsactive;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<std::string> mRes;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::unique_ptr<std::string> mDesc;
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
std::vector<std::shared_ptr<UiSelector>> mChild;
};
#include <functional>
#include "ISearchable.h"
#include "UiSelector.h"
-
+/**
+ * @brief Until class
+ * @since_tizen 5.5
+ */
class Until {
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Until();
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Until(const std::shared_ptr<UiSelector> selector);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Until(const Until &src);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Until(const Until &&src);
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
~Until();
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::function<bool(const ISearchable *)> hasObject(
const std::shared_ptr<UiSelector> selector);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::function<std::unique_ptr<UiObject>(const ISearchable *)>
findObject(const std::shared_ptr<UiSelector> selector);
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
static std::function<bool(const UiObject *)> checkable(
const bool isCheckable);
};
#include "ISearchable.h"
#include <functional>
-
+/**
+ * @brief Waiter class
+ * @since_tizen 5.5
+ */
class Waiter {
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Waiter();
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
Waiter(const ISearchable *searchableObject,
const UiObject * uiObject = nullptr); // : mObject{object}
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
~Waiter();
public:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
template <typename R>
R waitFor(const std::function<R(const ISearchable *)> condition) const;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
template <typename R>
R waitFor(const std::function<R(const UiObject *)> object) const;
private:
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
const ISearchable *mSearchableObject;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
const UiObject * mUiObject;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
const int WAIT_INTERVAL_MS;
+
+ /**
+ * @brief TBD
+ * @since_tizen 5.5
+ */
const int WAIT_TIMEOUT_MS;
};
--- /dev/null
+/**
+ * @page libaurum libaurum
+ *
+ * Here is a page with some descriptions libaurum expalined
+ *
+ */
--- /dev/null
+/**
+ * @page aurum-bootstrap org.tizen.aurum-bootstrap
+ * this is all about aurum-bootstrap
+ *
+ *
+ */
\ No newline at end of file
syntax = "proto3";
package aurum;
+/**
+ * @page protocol Protocol
+ * Here is a page with some descriptions about protocol explained
+ */
service Bootstrap {
rpc sync(ReqEmpty) returns (RspEmpty) {}
rpc killServer(ReqEmpty) returns (RspEmpty) {}
-
rpc findElement(ReqFindElement) returns (RspFindElement) {}
-
rpc getValue(ReqGetValue) returns (RspGetValue) {}
rpc setValue(ReqSetValue) returns (RspSetValue) {}
rpc getSize(ReqGetSize) returns (RspGetSize) {}
rpc clear(ReqClear) returns (RspClear) {}
rpc getAttribute(ReqGetAttribute) returns (RspGetAttribute) {}
-
rpc click(ReqClick) returns (RspClick) {}
rpc longClick(ReqClick) returns (RspClick) {}
rpc flick(ReqFlick) returns (RspFlick) {}
-
rpc touchDown(ReqTouchDown) returns (RspTouchDown) {}
rpc touchMove(ReqTouchMove) returns (RspTouchMove) {}
rpc touchUp(ReqTouchUp) returns (RspTouchUp) {}
-
rpc installApp(stream ReqInstallApp) returns (RspInstallApp) {}
rpc removeApp(ReqRemoveApp) returns (RspRemoveApp) {}
rpc getAppInfo(ReqGetAppInfo) returns (RspGetAppInfo) {}
rpc launchApp(ReqLaunchApp) returns (RspLaunchApp) {}
rpc closeApp(ReqCloseApp) returns (RspCloseApp) {}
-
rpc getDeviceTime(ReqGetDeviceTime) returns (RspGetDeviceTime) {}
rpc getLocation(ReqGetLocation) returns (RspGetLocation) {}
rpc sendKey(ReqKey) returns (RspKey) {}