Skip to content

Commit 097d34f

Browse files
committed
Merge branch 'WD_1.X_dev' of https://portal-ua.globallogic.com/git/wd into WD_1.X_dev
2 parents fbf8aaa + 2175c60 commit 097d34f

15 files changed

+288
-42
lines changed

inc/commands/cisco_player_commands.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,23 @@ class CISCO_MuteCommand : public ElementCommand
8383
DISALLOW_COPY_AND_ASSIGN(CISCO_MuteCommand);
8484
};
8585

86+
87+
class CISCO_PlaybackSpeedCommand : public ElementCommand
88+
{
89+
public:
90+
CISCO_PlaybackSpeedCommand(const std::vector<std::string>& path_segments,
91+
const base::DictionaryValue* parameters);
92+
virtual ~CISCO_PlaybackSpeedCommand();
93+
94+
virtual bool DoesGet() const OVERRIDE;
95+
virtual bool DoesPost() const OVERRIDE;
96+
virtual void ExecuteGet(Response* const response) OVERRIDE;
97+
virtual void ExecutePost(Response* const response) OVERRIDE;
98+
99+
private:
100+
DISALLOW_COPY_AND_ASSIGN(CISCO_PlaybackSpeedCommand);
101+
};
102+
86103
}
87104

88105
#endif // CISCO_VOLUMECOMMAND_H

inc/extension_qt/qml_view_executor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ class QQmlViewCmdExecutor : public QViewCmdExecutor {
9999
virtual void SetPlayingPosition(const ElementId& element, double, Error** error) NOT_SUPPORTED_IMPL;
100100
virtual void SetMute(const ElementId& element, bool, Error**error) NOT_SUPPORTED_IMPL;
101101
virtual void GetMute(const ElementId& element, bool*, Error**error) NOT_SUPPORTED_IMPL;
102+
virtual void SetPlaybackSpeed(const ElementId& element, double, Error**) NOT_SUPPORTED_IMPL;;
103+
virtual void GetPlaybackSpeed(const ElementId& element, double*, Error**) NOT_SUPPORTED_IMPL;;
102104
virtual void VisualizerSource(std::string* source, Error** error) NOT_SUPPORTED_IMPL;
103105
virtual void VisualizerShowPoint(Error** error) NOT_SUPPORTED_IMPL;
104106

inc/extension_qt/qml_web_view_executor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ class QmlWebViewCmdExecutor : public ViewCmdExecutor {
119119
virtual void SetPlayingPosition(const ElementId& element, double, Error**);
120120
virtual void SetMute(const ElementId& element, bool, Error**);
121121
virtual void GetMute(const ElementId& element, bool*, Error**);
122+
virtual void SetPlaybackSpeed(const ElementId& element, double*, Error**);
123+
virtual void GetPlaybackSpeed(const ElementId& element, double*, Error**);
122124
virtual void VisualizerSource(std::string* source, Error** error);
123125
virtual void VisualizerShowPoint(Error** error);
124126
virtual void GetAlertMessage(std::string* text, Error** error) NOT_SUPPORTED_IMPL;

inc/extension_qt/quick2_view_executor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ class Quick2ViewCmdExecutor : public QWindowViewCmdExecutor {
103103
virtual void SetPlayingPosition(const ElementId& element, double, Error** error);
104104
virtual void SetMute(const ElementId& element, bool, Error**error);
105105
virtual void GetMute(const ElementId& element, bool*, Error**error);
106+
virtual void SetPlaybackSpeed(const ElementId& element, double, Error**);
107+
virtual void GetPlaybackSpeed(const ElementId& element, double*, Error**);
106108
virtual void VisualizerSource(std::string* source, Error** error) NOT_SUPPORTED_IMPL;
107109
virtual void VisualizerShowPoint(Error** error) NOT_SUPPORTED_IMPL;
108110

inc/extension_qt/web_view_executor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ class QWebViewCmdExecutor : public QViewCmdExecutor {
112112
virtual void SetPlayerVolume(const ElementId& element, double, Error**);
113113
virtual void GetPlayingPosition(const ElementId& element, double*, Error**);
114114
virtual void SetPlayingPosition(const ElementId& element, double, Error**);
115+
virtual void SetPlaybackSpeed(const ElementId& element, double, Error**);
116+
virtual void GetPlaybackSpeed(const ElementId& element, double*, Error**);
115117
virtual void SetMute(const ElementId& element, bool, Error**);
116118
virtual void GetMute(const ElementId& element, bool*, Error**);
117119

inc/extension_qt/widget_view_executor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ class QWidgetViewCmdExecutor : public QViewCmdExecutor {
146146
virtual void SetPlayingPosition(const ElementId& element, double, Error**error);
147147
virtual void SetMute(const ElementId& element, bool, Error**error);
148148
virtual void GetMute(const ElementId& element, bool*, Error**error);
149+
virtual void SetPlaybackSpeed(const ElementId& element, double, Error**);
150+
virtual void GetPlaybackSpeed(const ElementId& element, double*, Error**);
149151
virtual void VisualizerSource(std::string* source, Error** error);
150152
virtual void VisualizerShowPoint(Error** error) NOT_SUPPORTED_IMPL;
151153

inc/webdriver_route_patterns.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ class CommandRoutes {
9797
static const char kCiscoPlayerVolume[];
9898
static const char kCiscoPlayingPosition[];
9999
static const char kCiscoPlayerMute[];
100+
static const char kCiscoPlayerPlayingSpeed[];
100101
static const char kVisualizerSource[];
101102
static const char kVisualizerShowPoint[];
102103

inc/webdriver_view_executor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ class ViewCmdExecutor{
161161
virtual void SetPlayingPosition(const ElementId& element, const double reletivePos, Error** error) = 0;
162162
virtual void SetMute(const ElementId& element, bool, Error**) = 0;
163163
virtual void GetMute(const ElementId& element, bool*, Error**) = 0;
164+
virtual void SetPlaybackSpeed(const ElementId& element, double, Error**) = 0;
165+
virtual void GetPlaybackSpeed(const ElementId& element, double*, Error**) = 0;
164166
virtual void SetOrientation(const std::string &orientation, Error **error) = 0;
165167
virtual void GetOrientation(std::string *orientation, Error **error) = 0;
166168

src/webdriver/commands/cisco_player_commands.cc

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,4 +265,68 @@ void CISCO_MuteCommand::ExecutePost(Response * const response)
265265
response->SetError(error);
266266
}
267267

268+
CISCO_PlaybackSpeedCommand::CISCO_PlaybackSpeedCommand(
269+
const std::vector<std::string> &path_segments,
270+
const base::DictionaryValue *parameters)
271+
: ElementCommand(path_segments, parameters)
272+
{
273+
}
274+
275+
CISCO_PlaybackSpeedCommand::~CISCO_PlaybackSpeedCommand()
276+
{
277+
}
278+
279+
bool CISCO_PlaybackSpeedCommand::DoesGet() const
280+
{
281+
return true;
282+
}
283+
284+
bool CISCO_PlaybackSpeedCommand::DoesPost() const
285+
{
286+
return true;
287+
}
288+
289+
void CISCO_PlaybackSpeedCommand::ExecuteGet(Response * const response)
290+
{
291+
bool mute;
292+
Error* error = NULL;
293+
294+
session_->RunSessionTask(base::Bind(
295+
&ViewCmdExecutor::GetMute,
296+
base::Unretained(executor_.get()),
297+
element,
298+
&mute,
299+
&error));
300+
301+
if (error) {
302+
response->SetError(error);
303+
return;
304+
}
305+
306+
Value* value = Value::CreateBooleanValue(mute);
307+
response->SetValue(value);
308+
}
309+
310+
void CISCO_PlaybackSpeedCommand::ExecutePost(Response * const response)
311+
{
312+
bool mute;
313+
if (!GetBooleanParameter("mute", &mute)) {
314+
response->SetError(new Error(
315+
kBadRequest, "'mute' is missing or invalid"));
316+
return;
317+
}
318+
319+
Error* error = NULL;
320+
321+
session_->RunSessionTask(base::Bind(
322+
&ViewCmdExecutor::SetMute,
323+
base::Unretained(executor_.get()),
324+
element,
325+
mute,
326+
&error));
327+
328+
if (error)
329+
response->SetError(error);
330+
}
331+
268332
}

src/webdriver/extension_qt/quick2_view_executor.cc

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -987,6 +987,46 @@ void Quick2ViewCmdExecutor::GetMute(const ElementId &element, bool *mute, Error
987987
muteValue->GetAsBoolean(mute);
988988
}
989989

990+
void Quick2ViewCmdExecutor::SetPlaybackSpeed(const ElementId &element, double speed, Error **error)
991+
{
992+
QQuickView* view = getView(view_id_, error);
993+
if (NULL == view)
994+
return;
995+
996+
QQuickItem* pItem = getElement(element, error);
997+
if (NULL == pItem)
998+
return;
999+
1000+
QVariant speedVariant(speed);
1001+
bool isPropertyAssigned = pItem->setProperty("playbackRate", speedVariant);
1002+
1003+
if(!isPropertyAssigned){
1004+
(*error) = new Error(kUnknownError,
1005+
std::string("Error while executing comand: There is no such member or the parameters did not match"));
1006+
}
1007+
}
1008+
1009+
void Quick2ViewCmdExecutor::GetPlaybackSpeed(const ElementId &element, double *speed, Error **error)
1010+
{
1011+
QQuickView* view = getView(view_id_, error);
1012+
if (NULL == view)
1013+
return;
1014+
1015+
QQuickItem* pItem = getElement(element, error);
1016+
if (NULL == pItem)
1017+
return;
1018+
1019+
1020+
base::Value* positionValue = NULL;
1021+
GetAttribute(element, "playbackRate", &positionValue, error);
1022+
1023+
if( error != NULL && *error != NULL && (*error)->code() != kSuccess){
1024+
return;
1025+
}
1026+
1027+
positionValue->GetAsDouble(speed);
1028+
}
1029+
9901030
QQuickItem* Quick2ViewCmdExecutor::getFocusItem(QQuickView* view) {
9911031
QQuickItem* pFocusItem = view->activeFocusItem();
9921032
if (NULL != pFocusItem) return pFocusItem;

0 commit comments

Comments
 (0)