diff options
Diffstat (limited to 'include/rba/RBAViewContentState.hpp')
-rw-r--r-- | include/rba/RBAViewContentState.hpp | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/include/rba/RBAViewContentState.hpp b/include/rba/RBAViewContentState.hpp new file mode 100644 index 0000000..be15d02 --- /dev/null +++ b/include/rba/RBAViewContentState.hpp @@ -0,0 +1,119 @@ +// Copyright (c) 2018 DENSO CORPORATION. All rights reserved. +/** + * VIew content state class + */ + +#ifndef RBAVIEWCONTENTSTATE_HPP +#define RBAVIEWCONTENTSTATE_HPP + +#include <string> + +#ifdef _MSC_VER +#ifdef _WINDLL +#define DLL_EXPORT __declspec(dllexport) +#else +#define DLL_EXPORT __declspec(dllimport) +#endif +#else +#define DLL_EXPORT +#endif + +namespace rba +{ + +class RBAViewContent; + +/** + * @class RBAViewContentState + * Define the state of view contents. + */ +class DLL_EXPORT RBAViewContentState +{ +protected: + RBAViewContentState()=default; + RBAViewContentState(const RBAViewContentState&)=delete; + RBAViewContentState(RBAViewContentState&&)=delete; + RBAViewContentState& operator=(const RBAViewContentState&)=delete; + RBAViewContentState& operator=(RBAViewContentState&&)=delete; + ~RBAViewContentState()=default; + +public: + /** + * @brief Returns the name of the view contents state. + * @return view contents state name. + */ + virtual std::string getName() const=0; + + /** + * @brief Returns the priority. + * @return priority value + */ + virtual std::int32_t getPriority() const=0; + + /** + * @brief Returns the view content. + * @return view content + */ + virtual const RBAViewContent* getOwner() const=0; + + /** + * @brief Returns the order. + * @return order value + * @detail The order is a number of sequence of the entry view content state + * by request. The order value is an integer value starting from 1 and + * incremented in order, and the order value of the view content state + * without view request is set to 0.\n + * The order of the view content state does not include the output request + * of the sound content state. + */ + virtual std::int32_t getOrder() const=0; + + /** + * @brief Returns the unique character string of the view contents state. + * @return Unique character string of the view contents state. + * + * Unique character string is + * view content name + CONTEXT_SEPARATER + view content state name. + * Use the unique character string as a context name. + */ + virtual std::string getUniqueName() const=0; + + /** + * @brief Returns the name of the view content from context name. + * @param context the context name + * @return name of the view content + */ + static std::string getContentNameByContext(const std::string& context); + + /** + * @brief Returns the state of the view content from context name. + * @param context the context name + * @return state of the view content + */ + static std::string getContentStateNameByContext(const std::string& context); + + /** + * @brief Check if argument is The unique character string(context name). + * @param context the context name + * @return true: unique character string(context name) + * @return false: Not unique character string(context name) + */ + static bool isUniqueName(const std::string& context); + +public: + /** + * @brief Defines the default priority value. + */ + const static std::int32_t PRIORITY_EDEFAULT = 0; + + /** + * @brief Defines the separator for separating view content name and view content state name. + * And be the character to connect it. + */ + const static char CONTEXT_SEPARATER = '/'; + +}; + +} + +#endif |