# RBA Interface Specification
### Version 1.0
### 2020/02/28
### Table of Contents
[**1. Purpose of this document**](#anchor0)
[**2. Arbitration Policy Type class**](#anchor1)
2.1. Definition name
2.2. Overview
2.3. Class member
[**3. Arbitrator Logic class**](#anchor2)
3.1. Definition name
3.2. Overview
3.3. Class member
[**4. Area class**](#anchor3)
4.1. Definition name
4.2. Overview
4.3. Class member
[**5. Base Point class**](#anchor4)
5.1. Definition name
5.2. Overview
5.3. Class member
[**6. Content Loser Type class**](#anchor5)
6.1. Definition name
6.2. Overview
6.3. Class member
[**7. Display class**](#anchor6)
7.1. Definition name
7.2. Overview
7.3. Class member
[**8. Json Parser class**](#anchor7)
8.1. Definition name
8.2. Overview
8.3. Class member
[**9. Model class**](#anchor8)
9.1. Definition name
9.2. Overview
9.3. Class member
[**10. Position Container class**](#anchor9)
10.1. Definition name
10.2. Overview
10.3. Class member
[**11. Result class**](#anchor10)
11.1. Definition name
11.2. Overview
11.3. Class member
[**12. Arbitration Result Status Type class**](#anchor11)
12.1. Definition name
12.2. Overview
12.3. Class member
[**13. Scene class**](#anchor12)
13.1. Definition name
13.2. Overview
13.3. Class member
[**14. Size class**](#anchor13)
14.1. Definition name
14.2. Overview
14.3. Class member
[**15. Sound Content class**](#anchor14)
15.1. Definition name
15.2. Overview
15.3. Class member
[**16. Sound Content State class**](#anchor15)
16.1. Definition name
16.2. Overview
16.3. Class member
[**17. View Action class**](#anchor16)
17.1. Definition name
17.2. Overview
17.3. Class member
[**18. View Action Type class**](#anchor17)
18.1. Definition name
18.2. Overview
18.3. Class member
[**19. View Content class**](#anchor18)
19.1. Definition name
19.2. Overview
19.3. Class member
[**20. View Content State class**](#anchor19)
20.1. Definition name
20.2. Overview
20.3. Class member
[**21. Zone class**](#anchor20)
21.1. Definition name
21.2. Overview
21.3. Class member
# **1. Purpose**
This document describes the interface specifications for RBA(Rule -based Arbitration).
Chapter 2 explains each interface.
# **2. Arbitration Policy Type class**
**2.1. Definition name**
RBAArbitrationPolicy : std::uint8_t
**2.2. Overview**
Type of arbitration policy.
**2.3. Class member**
**DEFAULT**
@brief
Same as PRIORITY_LAST_COME_FIRST.
**FIRST_COME_FIRST**
@brief
First Come First Arbitration.
@details
Give priority to first come request.
**LAST_COME_FIRST**
@brief
Last Come First Arbitration.
@details
Give priority to last come request.
**PRIORITY_FIRST_COME_FIRST**
@brief
Priority and First Come First Arbitration.
@details
Follow the Priority of Contents.
If same priority then give priority to first come request.
**PRIORITY_LAST_COME_FIRST**
@brief
Priority and Last Come First Arbitration.
@details
Follow the Priority of Contents.
If same priority then give priority to last come request.
# **3. Arbitrator Logic class**
**3.1. Definition name**
DLL_EXPORT RBAArbitrator
**3.2. Overview**
An object that performs arbitration processing based on rules generated from a model.
Set the model generated using rba::RBAJsonParser in the constructor.
**3.3. Class member**
**RBAArbitrator(RBAModel\* newModel);**
@brief
Arbitrator logic constructor.
@param newModel
Processing model.
The model is generated by rba::RBAJsonParser.
**virtual ~RBAArbitrator() noexcept;**
@brief
Arbitrator logic destructor.
**void setModel(RBAModel\* newModel);**
@brief
Sets the model for arbitration.
The model is generated by rba::RBAJsonParser.
@param newModel
The model for arbitration.
@details
Replace the model with newModel.
An arbitrator has only one model at all times.
Model can be generated by using rba::RBAJsonParser. nullptr can not be set.
**const RBAModel\* getModel() const;**
@brief
Returns the model for arbitration.
@return
The model for arbitration.
@details
Because the arbitrator always has a model, this API never returns nullptr.
**void initialize(std::list\& contexts);**
@brief
Set initial requirements of contents and scenes.
@param contexts
Context list of contents and scenes requests.
Following is the structure of context name.
/
Example of context name:
TEL/Calling
TPMS/NORMAL
AutoDriveScene
You can omit "/ " if content has only one state.
@details
After arbitrator creation or calling clearArbitration(), you can set initial state of contents and scenes for first arbitration.
This API does not execute arbitration.
The information of arbitration result will be empty.
Don't call this API after starting arbitration until calling clearArbitration().
**Example**
```cpp
RBAJsonParser parser;
rba::RBAModel* model = parser.parse(JSONFILE_PATH);
rba::RBAArbitrator* arb = new rba::RBAArbitrator(model);
std::list\ defaultContents = {
"CONTENT_A/NORMAL",
"CONTENT_B/NORMAL",
"CONTENT_C/NORMAL",
"CONTENT_D/NORMAL",
};
arb->initialize(defaultContents);
std::unique_ptr\ result = arb->execute();
```
**std::unique_ptr\ execute(const std::string& contextName="", bool require=true);**
@brief
Executes arbitration with one requirement.
@param contextName
Context string of arbitration request.
Display request or sound request :
"/"
If the content has only one state, the \ can be omitted.
Scene request :
""
@param require
true : request displaying / outputting content or scene on (default)
false : withdraw a request or scene off.
@return
The result of arbitration.
@details
Execute Arbitration with one requirement of a content or scene without properties.
The arbitration result as the return value will be generated at every arbitration and will not be changed by another arbitration.
Context indicates a content state or a scene.
If the content or scene is not defined in the model, the arbitration will not executed and the state of the arbitration result will be UNKNWON_CONTENT_STATE.
In this case, other property values are undefined.
If the context is empty, this API just execute arbitration.
**Exapmle**
```cpp
RBAJsonParser parser;
rba::RBAModel* model = parser.parse(JSONFILE_PATH);
rba::RBAArbitrator* arb = new rba::RBAArbitrator(model);
std::unique_ptr\ result = arb->execute("CONTENT_A/NORMAL", true);
if (result->getStatusType() != rba::RBAResultStatusType::SUCCESS) {
std::cout << "ERROR: Unknown context" << std::endl;
}
```
**std::unique_ptr\ execute(std::list\& contexts, bool require=true);**
@brief
Executes arbitration with multiple requirements.
@param contexts
List of contexts.
@param require
true : request displaying / outputting content or scene on (default)
false : withdraw a request or scene off.
@return
The result of arbitration.
@details
Execute Arbitration with multiple requirements of contents or scenes.
Contents and Scenes can be mixed in the list.
Display / Outputting request and withdraw request, scene on and scene off request can not be mixed.
The arbitration result as the return value will be generated at every arbitration and will not be changed by another arbitration.
Context indicates a content state or a scene.
If the content or scene is not defined in the model, the arbitration will not executed and the state of the arbitration result will be UNKNWON_CONTENT_STATE.
In this case, other property values are undefined.
If the context is empty, this API just execute arbitration.
Request order is the with the list. Beginning of the list will be treated as the first coming request.
**Exapmle**
```cpp
RBAJsonParser parser;
rba::RBAModel* model = parser.parse(JSONFILE_PATH);
rba::RBAArbitrator* arb = new rba::RBAArbitrator(model);
std::list\ contents = {
"CONTENT_A/NORMAL",
"CONTENT_B/NORMAL",
"CONTENT_C/NORMAL",
"CONTENT_D/NORMAL",
};
std::unique_ptr\ result = arb->execute(contents, true);
if (result->getStatusType() != rba::RBAResultStatusType::SUCCESS) {
std::cout << "ERROR: Unknown context" << std::endl;
}
```
**std::unique_ptr\ execute(const std::string& sceneName, std::list\>& properties);**
@brief
Executes arbitration with a requirement of scene and scene properties.
@param sceneName
The Scene name of arbitration reauest.
@param properties
The list of pairs of property name and value.
@return
The result of arbitration.
@details
Sets the scene indicated by sceneName to the property specified by properties, and execute arbitration processing.
If sceneName is empty, this API just execute arbitration.
If the required scene is not defined in the model, the arbitration will not executed and the state of the arbitration result will be UNKNWON_CONTENT_STATE.
Even If there is a property not defined in the model, the arbitration will be executed.
@note
You cannot set scene off and property at the same time, by this API.
Use setScene() to set scene off and properties, and then call execute(const std::string&,bool) without specifying arguments.
Or Use setScene() to set properties, and then call execute(scene name,false).
**Example**
```cpp
RBAJsonParser parser;
rba::RBAModel* model = parser.parse(JSONFILE_PATH);
rba::RBAArbitrator* arb = new rba::RBAArbitrator(model);
std::list> properties;
properties.push_back(std::make_pair("Prop1", 10));
properties.push_back(std::make_pair("Prop2", 20));
std::unique_ptr result = arb->execute("Scene1", properties);
if (result->getStatusType() != rba::RBAResultStatusType::SUCCESS) {
std::cout << "ERROR: Unknown context" << std::endl;
}
```
**std::unique_ptr\ setResultContentState(const std::string& allocatableName, const std::string& contextName);**
@brief
Replaces the result of arbitration.
@param allocatableName
Area or zone name.
@param contextName
Context string of arbitration request.
@return
The result of arbitration.
@details
Replace allocated a content state to area or zone of the last arbitration result.
If the allocatableName or contextName is undefined, return the errror code from the method getStatusType() of result.
If the contextName is non-active, activate the content request.
This API execute the "Request handling on lost" process and the "Execution expression" process, and doesn't execute the check of constraint expression process.
Therefore, this API can lead the result that does not satisfy the constraints.
If the specified area or zone by allocatableName is hidden, mute or attenuated, these statuses will be kept.
@deprecated
Because there is a possibility that the result does not satisfy the constraints, please use execute() instead of this API.
**Example**
```cpp
RBAJsonParser parser;
rba::RBAModel* model = parser.parse(JSONFILE_PATH);
rba::RBAArbitrator* arb = new rba::RBAArbitrator(model);
std::unique_ptr\ result = arb->execute("CONTENT_A/NORMAL", true);
std::unique_ptr\ result_replaced =
arb->setResultContentState("AREA_A", "CONTENT_B/NORMAL");
if (result_replaced->getStatusType() != rba::RBAResultStatusType::SUCCESS) {
std::cout << "ERROR" << std::endl;
}
```
**std::unique_ptr\ cancelArbitration();**
@brief
Cancel last arbitration.
@return
The result of arbitration.
@details
Cancel last arbitration and restore internal state immediately.
This API returns the restored result but the ViewActions will be empty.
Do not execute this function more than once continuously.
In that case, an error occurs.
Even when executed without performing arbitration processing, an error occurs.
In case of error, the status of the arbitration result is set to CANCEL_ERROR.
**Example**
```cpp
RBAJsonParser parser;
rba::RBAModel* model = parser.parse(JSONFILE_PATH);
rba::RBAArbitrator* arb = new rba::RBAArbitrator(model);
std::unique_ptr\ result = arb->execute("CONTENT_A/NORMAL", true);
std::unique_ptr\ result_back = arb->cancelArbitration();
if (result_replaced->getStatusType() != rba::RBAResultStatusType::SUCCESS) {
std::cout << "ERROR" << std::endl;
}
```
**void clearArbitration();**
@brief
Clear internal states of arbitration.
@details
Initialize internal states of arbitration (ex. Previous arbitration result, request of content states, etc...) and set to the initial state.
@note
This API is intended for setting up initial state of unit tests.
**Example**
```cpp
std::unique_ptr\ result1 = arb->execute("CONTENT_A/NORMAL", true);
std::unique_ptr\ result2 = arb->execute("CONTENT_B/NORMAL", true);
// reset display requests
arb->clearArbitration();
std::unique_ptr\ result2 = arb->execute("CONTENT_C/NORMAL", true);
std::unique_ptr\ result3 = arb->execute("CONTENT_D/NORMAL", true);
```
**bool setScene(const std::string& sceneName, bool require, std::list>& properties);**
@brief
Sets scene ON/OFF requests and properties.
@param sceneName
The Scene name of arbitration reauest.
@param require
true : Valid request
false : Invalid request
@param properties
The pair of property name and value.
@return
true: Success
false: Unknown scene
@details
Sets the scene indicated by sceneName to the property specified by properties, and without execute arbitration processing.
Returns true if the scene set succeeded.
If an unknown scene name is specified, false is returned.
@note
This API is intended for setting up initial state of unit tests or setting global scene and scene properties.
**Example**
```cpp
std::list> props;
props.push_back(std::make_pair("PropertyA", 10);
props.push_back(std::make_pair("PropertyB", -3);
res = arb->setScene("SCENE_A", true, props);
if (res == false) {
// Unknwon scene
}
```
**bool setContentState(const std::string& contextName, bool require);**
@brief
Sets content requests or scene ON/OFF request.
@param contextName
Context string of arbitration request.
@param require
true : request displaying / outputting content or scene on (default)
false : withdraw a request or scene off.
@return
true: Success
false: Unknown context
@details
Sets a display request for the context without arbitration.
Returns true if the request setting is succeeded.
If an unknown context name is specified, false is returned.
@note
This API is intended for setting up initial state of unit tests.
While initialize() has only the function to turn on the request, this API can turn off the request.
It is used for switch of each requests when initialization setting of unit test.
**Example**
```cpp
res = arb->setContentState("ContentA/NORMAL", true);
if (res == false) {
// Unknwon context
}
```
**bool setAllocatableResult(const std::string& allocatableName, const std::string& contextName);**
@brief
Allocates content state to area or zone.
@param allocatableName
Name of area or zone.
@param contextName
Context string of content state.
contextName : "/"
If the content has only one state, the \ can be omitted.
@return
true: Success
false: Unknown area, zone or context
@details
Allocates the content state to the area or zone.
Arbitration and post arbitration will not be executed.
The display / outputting request of the specified content state will be active.
The statuses of hidden, mute and attenuated will not be changed.
Returns true if the request setting is succeeded.
If an unknown context name is specified, false is returned.
@note
This API is intended for setting up initial state of unit tests.
In setResultContentState(), in addition to content state assignment, evaluation of the action determination process at the time of arbitration losing and control execution expression is performed, whereas in this API only content state assignment is performed.
@deprecated
Since there is a possibility of contradiction with the constraint, it is recommended not to use it except unit test.
**Example**
```cpp
res = arb->setAllocatableResult("AreaA", "ContentA/NORMAL");
if (res == false) {
// Unknwon area, zone or context
}
```
# **4. Area class**
**4.1. Definition name**
DLL_EXPORT RBAArea
**4.2. Overview**
Defines a Frame for displaying the view content.
At run time, at most one view content is allocated to one area.
**4.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the name of the area.
@return
Area name.
**virtual std::int32_t getX() const=0;**
@brief
Returns the x-axis value of the base point of the area.
@return
X-axis Value of the base point.
**virtual std::int32_t getY() const=0;**
@brief
Returns the y-axis value of the base point of the area.
@return
Y-axis Value of the base point.
**virtual std::int32_t getZorder() const=0;**
@brief
Returns the z-order value.
An area with a large z-order value is displayed on the front of an area with small z-order value.
@return
Z-order value.
**virtual const std::list& getContents() const=0;**
@brief
Returns the list of content which can be displayed on this area.
@return
List of content.
**virtual const std::list& getSizes() const=0;**
@brief
Returns the list of size defined to this area.
Since multiple size can be defined, returns a list of size.
@return
List of size.
**virtual RBAArbitrationPolicy getArbitrationPolicy() const=0;**
@brief
Returns the arbitration policy value defined to this area.
@return
Arbitration policy value.
# **5. Base Point class**
**5.1. Definition name**
RBABasePoint : std::uint8_t
**5.2. Overview**
Base point for object having size. For example Area.
**5.3. Class member**
**LEFT_TOP**
@brief
Defines Left-Top coordinate as the base point of (x, y)
The rectangle is represented by (x, y)-(x+width, y+height)
**LEFT_MIDDLE**
@brief
Defines Left-Middle coordinate as the base point of (x, y)
The rectangle is represented by (x, y-height/2)-(x+width, y+height/2)
**LEFT_BOTTOM**
@brief
Defines Left-Bottom coordinate as the base point of (x, y)
The rectangle is represented by (x, y-height)-(x+width, y)
**RIGHT_TOP**
@brief
Defines Right-Top coordinate as the base point of (x, y)
The rectangle is represented by (x-width, y)-(x, y+height)
**RIGHT_MIDDLE**
@brief
Defines Right-Middle coordinate as the base point of (x, y)
The rectangle is represented by (x-width, y-height/2)-(x, y+height/2)
**RIGHT_BOTTOM**
@brief
Defines Right-Bottom coordinate as the base point of (x, y)
The rectangle is represented by (x-width, y-height)-(x, y)
**CENTER_TOP**
@brief
Defines Center-Top coordinate as the base point of (x, y)
The rectangle is represented by (x-width/2, y)-(x+width/2, y+height)
**CENTER_MIDDLE**
@brief
Defines Center-Middle coordinate as the base point of (x, y)
The rectangle is represented by (x-width/2, y-height/2)- (x+width/2, y+height/2)
**CENTER_BOTTOM**
@brief
Defines Center-Bottom coordinate as the base point of (x, y)
The rectangle is represented by (x-width/2, y-height)-(x+width/2, y)
# **6. Content Loser Type class**
**6.1. Definition name**
RBAContentLoserType : std::uint8_t
**6.2. Overview**
Type of behavior when content loses the arbitration.
**6.3. Class member**
**GOOD_LOSER=0**
@brief
Always cancels its request when losing arbitration.
**DO_NOT_GIVEUP_UNTIL_WIN**
@brief
Cancels its request only if it lost the arbitration in the displaying state.
**NEVER_GIVEUP**
@brief
Never cancels its request.
# **7. Display class**
**7.1. Definition name**
RBADisplay
**7.2. Overview**
Defines a screen layout of the display.
You can define multiple displays for Multi-Display products.
Display defines a set of areas which are laid out on it.
**7.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the name of display.
@return
Display name.
**virtual const RBASize\* getSize() const=0;**
@brief
Returns the size of display.
@return
Size
**virtual const std::list& getAreas() const=0;**
@brief
Returns areas which are allocated to the display.
@return
List of area.
# **8. Json Parser class**
**8.1. Definition name**
DLL_EXPORT RBAJsonParser
**8.2. Overview**
Provides the facility that loads a model file in JSON format and generate a Model object.
**8.3. Class member**
**RBAModel\* parse(const std::string& filename);**
@brief
Loads a JSON file and generates a model object.
@param filename
Path of JSON file.
@return
Model
If the file is not found, returns nullptr.
**Example**
```cpp
rba::RBAJsonParser parser;
rba::RBAModel* model = parser.parse("RBAModel.json");
if (model == nullptr) {
std::cout << "ERRROR: Could not read JSON file" << std::endl;
return 1;
}
rba::RBAArbitrator* arb = new rba::RBAArbitrator(model);
```
# **9. Model class**
**9.1. Definition name**
DLL_EXPORT RBAModel
**9.2. Overview**
Defines the arbitration rule model which is used by Arbitrator.
The model consists of model elements such as areas, zones, contens, scenes, constraint expressions, and so on.
Elements can be searched by name, and the list of elements for each type can be retrieved.
**9.3. Class member**
**virtual const RBAArea\* findArea(const std::string& areaName) const=0;**
@brief
Search for area with a name.
@param areaName
Area name.
@return
Area
@details
If the area name does not exist, returns nullptr.
**virtual const RBAViewContent\* findViewContent(const std::string& contName) const=0;**
@brief
Search for view content with a name.
@param contName
Content name.
@return
Content
@details
If the content name does not exist, returns nullptr.
**virtual const RBAViewContentState\* findViewContentState(const std::string& stateName) const=0;**
@brief
Search for view content state with a name.
@param stateName
Content state name.
@return
State of view content.
@details
If the content state name does not exist, returns nullptr.
**virtual const RBASize\* findSize(const std::string& sizeName) const=0;**
@brief
Search for size with a name.
@param sizeName
Name of the search size.
@return
Size
@details
Specify the name of the search size as follows.
In the case of the size linked to the area: /
In the case of the size linked to the content: /
If the name of the search size does not exist, returns nullptr.
**virtual const RBAZone\* findZone(const std::string& zoneName) const=0;**
@brief
Search for zone with a name.
@param zoneName
Zone name.
@return
Zone
@details
If the zone name does not exist, returns nullptr.
**virtual const RBASoundContent\* findSoundContent(const std::string& contName) const=0;**
@brief
Search for sound content with a name.
@param stateName
Content state name.
@return
Sound content state.
@details
If the content name does not exist, returns nullptr.
**virtual const RBASoundContentState\* findSoundContentState(const std::string& stateName) const=0;**
@brief
Search for sound content state with a name.
@param stateName
Content state name.
@return
Sound content state.
@details
If the content state name does not exist, returns nullptr.
**virtual const RBAScene\* findScene(const std::string& sceneName) const=0;**
@brief
Search for scene with a name.
@param sceneName
Scene name.
@return
Scene
@details
If the scene name does not exist, returns nullptr.
**virtual const RBADisplay\* findDisplay(const std::string& displayName) const=0;**
@brief
Search for display with a name.
@param displayName
Display name.
@return
Display
@details
If the display name does not exist, returns nullptr.
**virtual const std::list& getAreas() const=0;**
@brief
Returns all the areas.
@return
List of areas.
**virtual const std::list& getViewContents() const=0;**
@brief
Returns all the view contents.
@return
List of contents.
**virtual const std::list& getViewContentStates() const=0;**
@brief
Returns all the view content states.
@return
List of view content states.
**virtual const std::list& getSizes() const=0;**
@brief
Returns all the sizes.
@return
List of sizes.
**virtual const std::list& getZones() const=0;**
@brief
Returns all the zones.
@return
List of zones.
**virtual const std::list& getSoundContents() const=0;**
@brief
Returns all the sound contents.
@return
List of sound contents.
**virtual const std::list& getSoundContentStates() const=0;**
@brief
Returns all the sound content states.
@return
List of sound content states.
**virtual const std::list& getScenes() const=0;**
@brief
Returns all the scenes.
@return
List of scenes.
**virtual const std::list& getDisplays() const=0;**
@brief
Returns all the displays.
@return
List of displays.
**virtual const RBAModelElement\* findModelElement(const std::string& elementName) const=0;**
@brief
Search for Model element with a name.
@param elementName
Model element name.
@return
Model element.
@details
If the Model element name does not exist, returns nullptr.
**virtual const std::list& getAreaSets() const=0;**
@brief
Returns all the sets of areas.
@return
List of sets of areas.
**virtual const std::list& getViewContentSets() const=0;**
@brief
Returns all the sets of view contents.
@return
List of sets of view contents.
**virtual const std::list& getPositionContainers() const=0;**
@brief
Returns all the position containers.
@return
List of sets of position containers.
**virtual std::list& getConstraints()=0;**
@brief
Returns all the constraints.
@return
List of constraints.
**virtual std::list& getPostConstraints()=0;**
@brief
Returns all the post constraints.
@return
List of post constraints.
# **10. Position Container class**
**10.1. Definition name**
RBAPositionContainer
**10.2. Overview**
Get the type and position of the area to be displayed.
**10.3. Class member**
**virtual std::int32_t getX() const=0;**
@brief
Get X coordinate.
@return
X coordinate value.
**virtual std::int32_t getY() const=0;**
@brief
Get Y coordinate.
@return
Y coordinate value.
**virtual RBABasePoint getBasePoint() const=0;**
@brief
Get a base point.
@return
Base point.
**virtual const RBAArea\* getArea() const=0;**
@brief
Get allocated area.
@return
Assigned area.
**const static std::int32_t X_EDEFAULT=0;**
@brief
Default value of X coordinate.
**const static std::int32_t Y_EDEFAULT=0;**
@brief
Default value of Y coordinate.
**const static RBABasePoint BASE_POINT_EDEFAULT= RBABasePoint::LEFT_TOP;**
@brief
Base point default value.
# **11. Result class**
**11.1. Definition name**
DLL_EXPORT RBAResult
**11.2. Overview**
Stores an arbitration result.
The Arbitrator allocates Contents to Areas.
Related information of those can be acquired from RBAResult.
The arbitration result indicates which content is allocated to each area / zone.
Also, snapshot information and view action information (only display results) indicating the difference from the last arbitration are included.
**11.3. Class member**
**virtual const std::list& getVisibleAreas() const=0;**
@brief
Returns the displaying areas determined by the last arbitration.
@return
List of visible areas.
**virtual const std::list& getSoundingZones() const=0;**
@brief
Returns the outputting zones determined by the last arbitration.
@return
List of sounding zones.
**virtual const std::list& getVisibleContentStates() const=0;**
@brief
Returns the view content states to be displayed determined by the last arbitration.
@return
List of visible view content states.
**virtual const std::list& getSoundingContentStates() const=0;**
@brief
Returns the sound content states to be output determined by the last arbitration.
@return
List of sound content states to be output.
@details
The list contains sound contents to be attenuated.
**virtual const std::list& getActiveViewContentStates() const=0;**
@brief
Returns the active view content states at the last arbitration result.
@return
List of active view content states.
@details
The active view content states are those that have been requested to display so far.
They do not include the view content state whose request has been withdrawn or canceled.
**virtual const std::list& getActiveSoundContentStates() const=0;**
@brief
Returns the active sound content states at the last arbitration result.
@return
List of active sound content states.
@details
The active sound content states are those that have been requested to output so far.
They do not include the sound content state whose request has been withdrawn or canceled.
**virtual const std::list& getActiveScenes() const=0;**
@brief
Returns the active scenes at the last arbitration.
@return
List of active scenes.
@details
The active scenes are those that have been requested for ON so far.
They do not include scenes requested for OFF afterwards.
**virtual const std::list& getInvisibleAreas() const=0;**
@brief
Returns the invisible areas determined by the last arbitration.
@return
List of invisible areas.
@details
Returns the areas which are not displayed out of all areas.
The list contains areas to be hidden.
**virtual const std::list& getUnsoundingZones() const=0;**
@brief
Returns the unsounding zones determined by the last arbitration.
@return
List of unsounding zones.
@details
Returns the zones which are not output out of all zones.
The list contains zones to be muted.
**virtual const std::list& getHiddenAreas() const=0;**
@brief
Returns the area that is hidden state and content has been allocated.
@return
List of areas.
@details
Returns the area which become to be invisible.
The area invisible in the previous time is not included.
The hidden state is a state in which the area must be hidden by a constraint expression.
**virtual const std::list& getMuteZones() const=0;**
@brief
Returns the zone that is muted state and content has been allocated.
@return
List of muted zones.
@details
Retuens the zones that is defeted and canceled sound contents.
The muted state is a state in which the zone must be muted by a constraint expression.
**virtual const std::list& getAttenuatedZones() const=0;**
@brief
Returns the attenuated zones determined by the last arbitration.
@return
List of attenuated zones.
**virtual const std::list& getCanceledViewContents() const=0;**
@brief
Returns the canceled view contents determined by the last arbitration.
@return
List of canceled view contents.
@details
Reterns list of view contents which are canceled by Request handling on lost definition such as Loser Type and Post Constraints.
The list does not contain contents which are withdrawn.
**virtual const std::list& getCanceledSoundContents() const=0;**
@brief
Returns the canceled sound contents determined by the last arbitration.
@return
List of canceled sound contents.
@details
Reterns list of sound contents which are canceled by Request handling on lost definition such as Loser Type and Post Constraints.
The list does not contain contents which are withdrawn.
**virtual const std::list& getStandbyViewContents() const=0;**
@brief
Returns the stand by view contents due to defeated at the last arbitration.
@return
List of stand by view contents.
@details
Returns list of view contents which are active but not allocated to any area.
The list does not contains which are canceled contents or are allocated to hidden area.
**virtual const std::list& getStandbySoundContents() const=0;**
@brief
Returns the stand by sound contents due to defeated at the last arbitration.
@return
List of stand by sound contents.
@details
Returns list of sound contents which are active but not allocated to any area.
The list does not contains which are canceled contents or are allocated to muted area.
**virtual const RBAViewContentState\* getContentState(const RBAArea\* area) const=0;**
@brief
Returns the view content state assigned to the area of the last arbitration.
@param area
Area
@return
The view content state assign to the area.
@details
If no view content state is allocated to the area, nullptr is returnd.
If area is not defined in the Model or nullptr, nullptr is returnd.
**virtual const RBASoundContentState\* getContentState(const RBAZone\* zone) const=0;**
@brief
Returns the sound content state assigned to the zone of the last arbitration.
@param zone
Zone
@return
The sound content state assign to the zone.
@details
If no sound content state is allocated to the zone, nullptr is returned.
If zone is not defined in the Model or nullptr, nullptr is returnd.
**virtual const std::list getArea(const RBAViewContentState\* state) const=0;**
@brief
Returns the area to which the view content state is allocated at the last arbitration.
@param state
View content state.
@return
The areas to which the view content state.
@details
If the view content state is not assigned to any area, empty list is returned.
If state is not defined in the Model or nullptr, empty list is returned.
**virtual const std::list getZone(const RBASoundContentState\* state) const=0;**
@brief
Get the zone to which the sound content state is allocated of the last arbitration.
@param state
Sound content state.
@return
The zones to which the sound content state is allocated.
@details
If the sound content state is not assigned to any zone, empty list is retuened.
If state is not defined in the Model or nullptr, empty list is returned.
**virtual const std::list getArea(const RBAViewContent\* content)const=0;**
@brief
Returns the area to which the view content is allocated of the last arbitration.
@param content
View content.
@return
The areas to which the view content is allocated.
@details
If the view content is not assigned to any area, empty list is returned.
If content is not defined in the Model or nullptr, empty list is returned.
This API is the same as getArea(RBAViewContentState*) except for the type of argument.
**virtual const std::list getZone(const RBASoundContent\* content) const=0;**
@brief
Returns the zone to which the sound content state is allocated of the last arbitration.
@param content
Sound content.
@return
The zones to which the sound content is allocated.
@details
If the sound content is not assigned to any area, nullptr is returned.
If content is not defined in the Model or nullptr, empty list is returned.
This API is the same as getZone(RBASoundContentState*) except for the type of argument.
**virtual const RBASize\* getSize(const RBAArea\* area) const=0;**
@brief
Returns the size of the area determined in the last arbitration.
@param area
Area
@return
The size of the area.
@details
Area may have multiple sizes and its size will vary by the allocated content.
This API returns the size which are matched with allocated content.
If no content is allocated to the area, returns nullptr.
If area is not defined in the Model or nullptr, returns nullptr.
Returns nullptr if nullptr is specified for area.
**virtual bool isActive(const RBAScene\* scene) const=0;**
@brief
Returns true if the scene is ON at the last arbitration.
@param scene
Reference scene to be checked.
@return
true: the scene is ON
false: the scene is OFF
@details
If scene is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for scene.
**virtual bool isActive(const RBAViewContent\* content) const=0;**
@brief
Returns true if the view content is active.
@param state
Reference view content to be checked.
@return
true: Active
false: Not active
@details
If content is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for content.
**virtual bool isActive(const RBASoundContent\* content) const=0;**
@brief
Returns true if the sound content is active.
@param state
Reference sound content to be checked.
@return
true: Active
false: Not active
@details
If content is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for content.
**virtual bool isVisible(const RBAArea\* area) const=0;**
@brief
Returns true if the area is visible of the last arbitration.
@param area
Reference area to be checked.
@return
true: Visible
false: Not visible
@details
Returns false if the area is hidden.
If area is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for area.
**virtual bool isSounding(const RBAZone\* zone) const=0;**
@brief
Returns true if the zone is sounding of the last arbitration.
@param zone
Reference zone to be checked.
@return
true: Sounding
false: Not sounding
@details
Returns false if the zone is muted.
If zone is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for zone.
**virtual bool isVisible(const RBAViewContentState\* state) const=0;**
@brief
Returns true if the view content state is visible of the last arbitration.
@param state
Reference view content state to be checked.
@return
true: state is allocated to visible area.
false: state is not allocated to visible area.
@details
If all of the areas to which the content is allocated are hidden, returns false.
If state is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for state.
**virtual bool isSounding(const RBASoundContentState\* state) const=0;**
@brief
Returns true if the sound content state is sounding of the last arbitration.
@param state
Reference sound content state to be check.
@return
true: state is allocated to outputting zone.
false: state is not allocated to outputting zone.
@details
If all of the zones to which the content is allocated are muted, returns false.
If state is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for state.
**virtual const RBAViewContentState\* getViewContentState(const RBAArea\* area) const=0;**
@brief
Returns the view content state allocated to the area of the last arbitration.
@param area
Area
@return
The view content state allocated to the area.
@details
Even if the area is hidden, Returns the allocated content state.
If no visible view content state is allocated the area, nullptr is returnd.
If area is not defined in the Model or nullptr, returns nullptr.
Returns nullptr if nullptr is specified for area.
**virtual const RBASoundContentState\* getSoundContentState(const RBAZone\* zone) const=0;**
@brief
Returns the sounding sound content state assigned to the zone of the last arbitration.
@param zone
Zone
@return
The sounding sound content state assign to the zone.
@details
Even if the zone is muted, Returns the allocated content state.
If no sounding sound content state is allocated the area, nullptr is returnd.
If zone is not defined in the Model or nullptr, returns nullptr.
Returns nullptr if nullptr is specified for zone.
**virtual bool isHidden(const RBAArea\* area) const=0;**
@brief
Returns true if the area is hidden state of the last arbitration.
@param area
Reference area to be checked.
@return
true: Hidden
false: Not hidden
@Details
The hidden state is a state in which the area must be hidden by a constraint expression.
In the hidden state, it returns true even if the content is not assigned.
If area is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for area.
**virtual bool isMute(const RBAZone\* zone) const=0;**
@brief
Returns true if the zone is muted state of the last arbitration.
@param zone
Reference zone to be checked.
@return
true: Muted
false: Not muted
@details
The muted state is a state in which the zone must be muted by a constraint expression.
In the muted state, it returns true even if the content is not assigned.
If zone is not defined in the Model or nullptr, returns nullptr.
Returns false if nullptr is specified for zone.
**virtual bool isAttenuated(const RBAZone\* zone) const=0;**
@brief
Returns true if the zone is attenuated of the last arbitration.
@param zone
Reference zone to be check.
@return
true: Attenuated
false: Not attenuated
@details
If zone is not defined in the Model or nullptr, returns nullptr.
Returns false if nullptr is specified for zone.
**virtual bool isCancel(const RBAViewContentState\* state) const=0;**
@brief
Returns true if the view content state is canceled at the last arbitration.
@param state
Reference view content state to be checked.
@return
true: Canceled
false: Not canceled or Not request view content state
@details
If state is not active, returns false.
If state is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for state.
**virtual bool isCancel(const RBASoundContentState\* state) const=0;**
@brief
Returns true if the sound content state is canceled at the last arbitration.
@param state
Reference view content state to be checked.
@return
true: Canceled
false: Not canceled
@details
If state is not active, returns false.
If state is not defined in the Model or nullptr, returns false.
Returns false if nullptr is specified for state.
**virtual const std::list& getViewActions() const=0;**
@brief
Returns information of view status changes (the view actions) of the last arbitration.
@return
List of view actions.
@details
ViewAction is an information of differences between the last arbitration result and its previous result.
There is no difference between hidden and not displayed for visible status.
**virtual RBAResultStatusType getStatusType() const=0;**
@brief
Returns the result status type of the last arbitration.
@return
SUCCESS: Success
UNKNOWN_CONTENT_STATE: Failed (The reuqest is unknown)
CANCEL_ERROR: Cancel arbitrration error
**virtual bool satisfiesConstraints() const=0;**
@brief
Returns satisfied status of all online constraints.
@return
true: All online constraints check result is OK, and arbitration finished.
false: All online constraints check result is NG, and arbitration finished.
**virtual std::int32_t getSceneProperty(const RBAScene\* scene, const std::string& propertyName) const=0;**
@brief
Returns the property value of scene.
@return
Property value.
@details
If the scene or propertyName is not defined in the Model, returns -99.
Returns -99 if a property name not defined in the model is specified in propertyName.
**virtual const std::list& getPreVisibleAreas() const=0;**
@brief
Returns the displaying areas of the previous arbitration.
@return
List of visible areas.
**virtual const std::list& getPreSoundingZones() const=0;**
@brief
Returns the outputting sounding zones of the previous arbitration.
@return
List of sounding zones.
**virtual const std::list& getPreVisibleContentStates() const=0;**
@brief
Returns the view content states to be displayed of the previous arbitration.
@return
List of visible view content states.
**virtual const std::list& getPreSoundingContentStates() const=0;**
@brief
Returns the sound content states to be outputted of the previous arbitration.
@return
List of sounding sound content states.
@details
The list contains attenuated content states.
**virtual const std::list& getPreActiveViewContentStates() const=0;**
@brief
Returns the active view content states of the previous arbitration result.
@return
List of active view content states.
@details
The active view content states are those that have been requested to display so far.
They do not include the view content state whose request has been withdrawn or canceled.
**virtual const std::list& getPreActiveSoundContentStates() const=0;**
@brief
Returns the active sound content states of the previous arbitration result.
@return
List of active sound content states.
@details
The active sound content states are those that have been requested to output so far.
They do not include the sound content state whose request has been withdrawn or canceled.
**virtual const std::list& getPreActiveScenes() const=0;**
@brief
Returns the active scenes of the previous arbitration.
@return
List of active scenes.
@details
The active scenes are those that have been requested for ON so far.
They do not include scenes requested for OFF afterwards.
**virtual const std::list& getPreInvisibleAreas() const=0;**
@brief
Returns the invisible areas of the previous arbitration.
@return
List of invisible areas.
@details
Returns the areas which are not displayed out of all areas.
The hidden area is also acquired.
**virtual const std::list& getPreUnsoundingZones() const=0;**
@brief
Returns the unsounding zones of the previous arbitration.
@return
List of unsounding zones.
@details
Returns the zones which are not outputted out of all zones.
Muted zones are also acquired.
**virtual const std::list& getPreHiddenAreas() const=0;**
@brief
Returns the areas which have become invisible at the previous arbitration.
@return
List of areas.
@details
Returns the area which become to be invisible.
**virtual const std::list& getPreMuteZones() const=0;**
@brief
Get the muted zones of the previous arbitration.
@return
List of muted zones.
@details
Retuens the zones that is defeted and canceled sound contents.
**virtual const std::list& getPreAttenuatedZones() const=0;**
@brief
Returns the attenuated zones of the previous arbitration.
@return
List of attenuated zones.
**virtual const std::list& getPreCanceledViewContents() const=0;**
@brief
Returns the canceled view contents of the previous arbitration.
@return
List of canceled view contents.
@details
In the previous arbitration process, the display content that has been canceled by the losing action is acquired.
Due to the display withdrawal request, those for which the display request has been withdrawn are not acquired.
**virtual const std::list& getPreCanceledSoundContents() const=0;**
@brief
Returns the canceled sound contents of the previous arbitration.
@return
List of canceled sound contents.
@details
In the previous arbitration process, the voice content that has been canceled by the losing action is acquired.
A request whose output request has been withdrawn by the output withdrawal request is not acquired.
**virtual const std::list& getPreStandbyViewContents() const=0;**
@brief
Returns the stand by view contents due to defeated at the previous arbitration.
@return
List of stand by view contents.
@details
There is a display request, and the display content that has not been allocated to the area is acquired.
Due to the losing action, the display content whose request has been canceled or the display content which has been allocated to the area but has the area hidden is not obtained.
**virtual const std::list& getPreStandbySoundContents() const=0;**
@brief
Returns the stand by sound contents due to defeated at previous arbitration.
@return
List of stand by sound contents.
@details
There is an output request, and the audio content not assigned to the zone is acquired.
Due to the losing action, the audio content whose request has been canceled or the audio content assigned to the zone but the zone has been muted are not obtained.
**virtual const RBAViewContentState\* getPreContentState(const RBAArea\* area) const=0;**
@brief
Returns the view content state assigned to the area of the previous arbitration.
@param area
Area
@return
The view content state assign to the area.
@details
If no view content state is allocated to the area, nullptr is returnd.
If an area that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, nullptr is returned.
If nullptr is specified in area, nullptr is returned.
**virtual const RBASoundContentState\* getPreContentState(const RBAZone\* zone) const=0;**
@brief
Returns the sound content state assigned to the zone of the previous arbitration.
@param zone
Zone
@return
The sound content state assign to the zone.
@details
If no sound content state is allocated to the zone, nullptr is returned.
If a zone that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, nullptr is returned.
If nullptr is specified in zone, nullptr is returned.
**virtual const std::list getPreArea(const RBAViewContentState\* state) const=0;**
@brief
Returns the area to which the view content state is allocated of the previous arbitration.
@param state
View content state.
@return
The areas to which the view content state.
@details
If no display content state has been assigned to the area, an empty list is returned.
If a state that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, an empty list is returned.
If nullptr is specified for state, an empty list is returned.
**virtual const std::list getPreZone(const RBASoundContentState\* state) const=0;**
@brief
Get the zone to which the sound content state is allocated of the previous arbitration.
@param state
Sound content state.
@return
The zones to which the sound content state is allocated.
@details
Returns an empty list if no audio content state has been assigned to the zone.
If a state that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, an empty list is returned.
If nullptr is specified for state, an empty list is returned.
**virtual const std::list getPreArea(const RBAViewContent\* content) const=0;**
@brief
Returns the area to which the view content is allocated of the previous arbitration.
@param content
View content.
@return
The areas to which the view content is allocated.
@details
If no display content has been assigned to the area, an empty list is returned.
If content that has no definition is specified in the model set in the arbitration FW that has performed arbitration processing, an empty list is returned.
If nullptr is specified for content, an empty list is returned.
The only difference from getArea (RBAViewContentState *) is the type of the argument. If the request is for the same content, the return value always matches.
**virtual const std::list getPreZone(const RBASoundContent\* content) const=0;**
@brief
Returns the zone to which the sound content state is allocated of the previous arbitration.
@param content
Sound content.
@return
The zones to which the sound content is allocated.
@details
If no audio content has been assigned to the zone, return an empty list.
If content that has no definition is specified in the model set in the arbitration FW that has performed arbitration processing, an empty list is returned.
If nullptr is specified for content, an empty list is returned.
The only difference from getZone (RBASoundContentState *) is the type of the argument. If the request is for the same content, the return value always matches.
**virtual const RBASize\* getPreSize(const RBAArea\* area) const=0;**
@brief
Returns the size of the area determined in the previous arbitration.
@param area
Area
@return
The size of the area.
@details
A plurality of sizes can be defined for the area, and the size changes according to the display content.
Respond the size according to the display content allocated to the area.
Returns nullptr if no display content has been assigned to the area.
If an area that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, nullptr is returned.
If nullptr is specified in area, nullptr is returned.
**virtual bool isPreActive(const RBAScene\* scene) const=0;**
@brief
Returns true if the scene is active of the previous arbitration.
@param scene
Reference scene to be checked.
@return
true: Active
false: Not active
@details
The active scene is the scene requested to ON.
If a scene with no definition in the model set in the arbitration FW that has performed the arbitration process is specified, false is returned.
Returns false if nullptr is specified in scene.
**virtual bool isPreActive(const RBAViewContent\* content) const=0;**
@brief
Returns true if the view content is active of the previous arbitration.
@param state
Reference view content to be checked.
@return
true: Active
false: Not active
@details
The active view content is the content requested to be displayed.
If a display content with no definition in the model set in the arbitration FW that performed the arbitration process is specified, false is returned.
Returns false if nullptr is specified for content.
**virtual bool isPreActive(const RBASoundContent\* content) const=0;**
@brief
Returns true if the sound content is active of the previous arbitration.
@param state
Reference sound content to be checked.
@return
true: Active
false: Not active
@details
The active sound content is the content requested to be outputted.
If an audio content that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, false is returned.
Returns false if nullptr is specified for content.
**virtual bool isPreVisible(const RBAArea\* area) const=0;**
@brief
Returns true if the area is visible of the previous arbitration.
@param area
Reference area to be checked.
@return
true: Visible
false: Not visible
@details
The concealed area returns false.
If an area that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, false is returned.
Returns false if nullptr is specified for area.
**virtual bool isPreSounding(const RBAZone\* zone) const=0;**
@brief
Returns true if the zone is sounding of the previous arbitration.
@param zone
Reference zone to be checked.
@return
true: Sounding
false: Not sounding
@details
Areas that have been muted return false.
If a zone that is not defined in the model set in the arbitration FW that performed the arbitration process is specified, false is returned.
Returns false if nullptr is specified in zone.
**virtual bool isPreVisible(const RBAViewContentState\* state) const=0;**
@brief
Returns true if the view content state is visible of the previous arbitration.
@param state
Reference view content state to be checked.
@return
true: state is allocated to visible area.
false: state is not allocated to visible area.
@details
Returns false if it is only assigned to a hidden area.
If an area that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, false is returned.
Returns false if nullptr is specified for state.
**virtual bool isPreSounding(const RBASoundContentState\* state) const=0;**
@brief
Returns true if the sound content state is sounding of the previous arbitration.
@param state
Reference sound content state to check.
@return
true: state is allocated to outputting zone.
false: state is not allocated to outputting zone.
@details
Returns false if assigned only to a muted zone.
If a state that is not defined in the model set in the arbitration FW that performed the arbitration process is specified, false is returned.
Returns false if nullptr is specified for state.
**virtual const RBASoundContentState\* getPreSoundContentState(const RBAZone\* zone) const=0;**
@brief
Returns the sounding sound content state assigned to the zone of the previous arbitration.
@param zone
Zone
@return
The sounding sound content state assign to the zone.
@details
When a zone is muted, Returns the content state.
If no sounding sound content state is allocated the area, nullptr is returnd.
If a zone that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, nullptr is returned.
If nullptr is specified in zone, nullptr is returned.
**virtual bool isPreHidden(const RBAArea\* area) const=0;**
@brief
Returns true if the area is hidden of the previous arbitration.
@param area
Reference area to be checked.
@return
true: Hidden
false: Not hidden
@details
If an area that is not defined in the model set in the arbitration FW that has performed arbitration processing is specified, false is returned.
Returns false if nullptr is specified for area.
**virtual bool isPreMute(const RBAZone\* zone) const=0;**
@brief
Returns true if the zone is muted of the previous arbitration.
@param zone
Reference zone to be checked.
@return
true: Muted
false: Not muted
@details
If a zone that is not defined in the model set in the arbitration FW that performed the arbitration process is specified, false is returned.
Returns false if nullptr is specified in zone.
**virtual bool isPreAttenuated(const RBAZone\* zone) const=0;**
@brief
Returns true if the zone is attenuated of the previous arbitration.
@param zone
Reference zone to be checked.
@return
true: Attenuated
false: Not attenuated
@details
If a zone that is not defined in the model set in the arbitration FW that performed the arbitration process is specified, false is returned.
Returns false if nullptr is specified in zone.
**virtual bool isPreCancel(const RBAViewContentState\* state) const=0;**
@brief
Returns true if the view content state is canceled of the previous arbitration.
@param state
Reference view content state to be checked.
@return
true: Canceled
false: Not canceled or Not request view content state
@details
If the display content state for which there was no display request before the arbitration process is specified in state, false is returned.
If a state that is not defined in the model set in the arbitration FW that performed the arbitration process is specified, false is returned.
Returns false if nullptr is specified for state.
**virtual bool isPreCancel(const RBASoundContentState\* state) const=0;**
@brief
Returns true if the sound content state is canceled of the previous arbitration.
@param state
Reference view content state to be checked.
@return
true: Canceled
false: Not canceled
@details
If the audio content state for which no output request was made before the arbitration process is specified in state, false is returned.
If a state that is not defined in the model set in the arbitration FW that performed the arbitration process is specified, false is returned.
Returns false if nullptr is specified for state.
**virtual std::string getLog() const=0;**
@brief
Returns the log of the last arbitration.
@return
Log string.
**virtual bool hasDisplayingArea(const RBADisplay\* display) const=0;**
@brief
Get the display state of the display.
@param display
Display to check.
@return
true: Something is displayed
false: Nothing is displayed
# **12. Arbitration Result Status Type class**
**12.1. Definition name**
RBAResultStatusType : std::uint8_t
**12.2. Overview**
Status of the arbitration result.
**12.3. Class member**
**SUCCESS**
@brief
Success
**FAILED**
@brief
Failed
**UNKNOWN_CONTENT_STATE**
@brief
Unknown context or content state.
**CANCEL_ERROR**
@brief
Cancel arbitration error.
# **13. Scene class**
**13.1. Definition name**
RBAScene
**13.2. Overview**
Express the state(Including system state) at that time comprehensively.
Used scene for switch area/zone and view/sound content state.
And plural RBA model(project) can share arbitration result by definitions global scene.
**13.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the scene name.
@return
Scene name.
**virtual bool isGlobal() const=0;**
@brief
Returns the global scene status.
@return
Global scene status.
**virtual const std::list\& getPropertyNames() const=0;**
@brief
Returns List of the scene property name.
@return
List of the scene property name.
**virtual std::int32_t getPropertyValue(const std::string& propertyName) const=0;**
@brief
Returns Default value of the scene property.
@param propertyName
Scene property name.
@return
Default value of the scene property.
# **14. Size class**
**14.1. Definition name**
DLL_EXPORT RBASize
**14.2. Overview**
Size definitions for object such as areas or view contents.
Each object can define plural size.
Can refer to size from object.
**14.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the name of the size.
@return
Size name.
**virtual std::int32_t getWidth() const=0;**
@brief
Returns the width of the size.
@return
Width of the size.
**virtual std::int32_t getHeight() const=0;**
@brief
Returns the height of the size.
@return
Height of the size.
**const static std::int32_t WIDTH_EDEFAULT = 0;**
@brief
Default width of size.
**const static std::int32_t HEIGHT_EDEFAULT = 0;**
@brief
Default height of size.
# **15. Sound Content class**
**15.1. Definition name**
DLL_EXPORT RBASoundContent
**15.2. Overview**
Define the object of sound content.
Sound content has plural status.
When sound contents connected to a zone, active status is output.
Object has zone definitions, that can output itself.
Each object can define plural zone which can output sound contents.
**15.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the name of the sound content.
@return
Sound content name.
**virtual const std::list& getContentStates() const=0;**
@brief
Returns the state of the sound content.
@return
List of the sound content state.
**virtual const std::list& getZones() const=0;**
@brief
Returns the zone of the sound content.
@return
List of the zone.
**virtual RBAContentLoserType getLoserType() const=0;**
@brief
Returns the loser type.
@return
Loser type.
**const static RBAContentLoserType LOSER_TYPE_EDEFAULT = RBAContentLoserType::NEVER_GIVEUP;**
@brief
Defines the default loser type.
# **16. Sound Content State class**
**16.1. Definition name**
DLL_EXPORT RBASoundContentState
**16.2. Overview**
Define the state of sound contents.
**16.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the name of the sound contents state.
@return
Sound contents state name.
**virtual std::int32_t getPriority() const=0;**
@brief
Returns the priority.
@return
Priority value.
**virtual const RBASoundContent\* getOwner() const=0;**
@brief
Returns the sound content.
@return
Sound content.
**virtual std::int32_t getOrder() const=0;**
@brief
Returns the order.
@return
Order value.
@details
The order is a number of sequence of the entry sound content state by request.
The order value is an integer value starting from 1 and incremented in order, and the order value of the sound content state without sound request is set to 0.
The order of the sound content state does not include the output request of the view content state.
**virtual std::string getUniqueName() const=0;**
@brief
Returns the unique character string of the sound contents state.
@return
Unique character string of the sound contents state.
@details
Unique character string is sound content name + CONTEXT_SEPARATER + sound content state name.
Use the unique character string as a context name.
**static std::string getContentNameByContext(const std::string& context);**
@brief
Returns the name of the sound content from context name.
@param context
The context name.
@return
Name of the sound content.
**static std::string getContentStateNameByContext(const std::string& context);**
@brief
Returns the state of the sound content from context name.
@param context
The context name.
@return
State of the sound content.
**static bool isUniqueName(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)
false: Not unique character string(context name)
**const static std::int32_t PRIORITY_EDEFAULT = 0;**
@brief
Defines the default priority value.
**const static char CONTEXT_SEPARATER = '/';**
@brief
Defines the separator for separating sound content name and sound content state name.
And be the character to connect it.
# **17. View Action class**
**17.1. Definition name**
DLL_EXPORT RBAViewAction
**17.2. Overview**
Define the change information of view contents.
Change information has 2 type.
The contents transition, that view contents change for an area.
The contents move, that the view content displayed area changes.
**17.3. Class member**
**virtual const RBAArea\* getArea() const;**
@brief
Returns the area of the contents transition.
@return
Area of the contents transition.
**virtual const RBAViewContent\* getFromContent() const;**
@brief
Returns previously displayed the view content.
Used when change information type is the contents transition(TRANSITION_REPLACE).
@return
Previously displayed the view content.
@details
If the change information type is not the contents transition(TRANSITION_REPLACE), returns nullptr.
**virtual const RBAViewContent\* getToContent() const;**
@brief
Returns subsequently displayed the view content.
Used when change information type is the contents transition(TRANSITION_REPLACE).
@return
Subsequently displayed the view content.
@details
If the change information type is not the contents transition(TRANSITION_REPLACE), returns nullptr.
**virtual const RBAViewContentState\* getFromContentState() const;**
@brief
Returns previously displayed the view content state.
Used when change information type is the contents transition(TRANSITION_REPLACE).
@return
Previously displayed the view content state.
@details
If the change information type is not the contents transition(TRANSITION_REPLACE), returns nullptr.
**virtual const RBAViewContentState\* getToContentState() const;**
@brief
Returns subsequently displayed the view content state.
Used when change information type is the contents transition(TRANSITION_REPLACE).
@return
Subsequently displayed the view content state.
@details
If the change information type is not the contents transition(TRANSITION_REPLACE), returns nullptr.
**virtual const RBAArea\* getFromArea() const;**
@brief
Returns previously displayed the area.
Used when change information type is the contents move(MOVE).
@return
Previously displayed the area.
@details
If the change information type is not the contents move(MOVE), returns nullptr.
**virtual const RBAArea\* getToArea() const;**
@brief
Returns subsequently displayed the area.
Used when change information type is the contents move(MOVE).
@return
Subsequently displayed the area.
@details
If the change information type is not the contents move(MOVE), returns nullptr.
**virtual const RBAViewContent\* getContent() const;**
@brief
Returns view content of change information.
@return
View content of change information.
@details
If getViewActionType() == TRANSITION_ADD, returns display view content.
If getViewActionType() == TRANSITION_REMOVE, returns hide view content.
If getViewActionType() == TRANSITION_REPLACE, returns nullptr.
If getViewActionType() == MOVE, returns view content which changes the area.
**virtual const RBAViewContentState\* getContentState() const;**
@brief
Returns view content state of change information.
@return
View content state of change information.
@details
If getViewActionType() == TRANSITION_ADD, returns display view content state.
If getViewActionType() == TRANSITION_REMOVE, returns hide view content state.
If getViewActionType() == TRANSITION_REPLACE, returns nullptr.
If getViewActionType() == MOVE, returns view content state which changes the area.
**virtual RBAViewActionType getViewActionType() const=0;**
@brief
Returns view action type.
@return
View action type.
**virtual bool operator==(const RBAViewAction& viewAction)=0;**
@brief
Equal operator.
@return
true: equal
false: not equal
# **18. View Action Type class**
**18.1. Definition name**
RBAViewActionType : std::uint8_t
**18.2. Overview**
Indicates the type of view action.
**18.3. Class member**
**TRANSITION_ADD**
@brief
The content transition(ADD) : content is displayed in the area.
**TRANSITION_REMOVE**
@brief
The content transition(REMOVE) : content is deleted from the area.
**TRANSITION_REPLACE**
@brief
The content transition(REPLACE) : content is replaced on the area.
**MOVE**
@brief
The content move(MOVE) : The display of content changes to another area.
# **19. View Content class**
**19.1. Definition name**
RBAViewContent
**19.2. Overview**
Define the object of view content.
View content has plural status.
When view contents connected to a area, active status is displayed.
Each object can define plural area which can displayed view contents.
**19.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the name of the view content.
@return
View content name.
**virtual const std::list& getContentStates() const=0;**
@brief
Returns the state of the view content.
@return
List of view content state.
**virtual const std::list& getAreas() const=0;**
@brief
Returns the area of the view content.
@return
List of the area.
**virtual const std::list& getSizes() const=0;**
@brief
Returns the list of size assignment to this content.
@return
List of size.
**virtual RBAContentLoserType getLoserType() const=0;**
@brief
Returns the loser type.
@return
Loser type.
**const static RBAContentLoserType LOSER_TYPE_EDEFAULT =
RBAContentLoserType::NEVER_GIVEUP;**
@brief
Defines the default loser type.
# **20. View Content State class**
**20.1. Definition name**
DLL_EXPORT RBAViewContentState
**20.2. Overview**
Define the state of view contents.
**20.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the name of the view contents state.
@return
View contents state name.
**virtual std::int32_t getPriority() const=0;**
@brief
Returns the priority.
@return
Priority value.
**virtual const RBAViewContent\* getOwner() const=0;**
@brief
Returns the view content.
@return
View content.
**virtual std::int32_t getOrder() const=0;**
@brief
Returns the order.
@return
Order value.
@details
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.
The order of the view content state does not include the output request of the sound content state.
**virtual std::string getUniqueName() const=0;**
@brief
Returns the unique character string of the view contents state.
@return
Unique character string of the view contents state.
@details
Unique character string is view content name + CONTEXT_SEPARATER + view content state name.
Use the unique character string as a context name.
**static std::string getContentNameByContext(const std::string& context);**
@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 getContentStateNameByContext(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 bool isUniqueName(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)
false: Not unique character string(context name)
**const static std::int32_t PRIORITY_EDEFAULT = 0;**
@brief
Defines the default priority value.
**const static char CONTEXT_SEPARATER = '/';**
@brief
Defines the separator for separating view content name and view content state name.
And be the character to connect it.
# **21. Zone class**
**21.1. Definition name**
DLL_EXPORT RBAZone
**21.2. Overview**
Defines a Frame for outputting sound content.
At run time, at most one sound content is allocated to one zone.
This class has arbitration policy definitions, because it is executed for each zone.
**21.3. Class member**
**virtual std::string getName() const=0;**
@brief
Returns the name of the zone.
@return
Zone name.
**virtual std::int32_t getPriority() const=0;**
@brief
Returns the priority.
@return
Priority value.
**virtual const std::list& getContents() const=0;**
@brief
Returns the list of content which can be output in this zone.
@return
List of content.
**virtual RBAArbitrationPolicy getArbitrationPolicy() const=0;**
@brief
Returns the arbitration policy value defined to this zone.
@return
Arbitration policy value.