// Licensed to the Software Freedom Conservancy (SFC) under one1// or more contributor license agreements. See the NOTICE file2// distributed with this work for additional information3// regarding copyright ownership. The SFC licenses this file4// to you under the Apache License, Version 2.0 (the "License");5// you may not use this file except in compliance with the License.6// You may obtain a copy of the License at7//8// http://www.apache.org/licenses/LICENSE-2.09//10// Unless required by applicable law or agreed to in writing, software11// distributed under the License is distributed on an "AS IS" BASIS,12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13// See the License for the specific language governing permissions and14// limitations under the License.1516#ifndef WEBDRIVER_IE_COMMANDHANDLER_H_17#define WEBDRIVER_IE_COMMANDHANDLER_H_1819#include <map>20#include <string>2122#include "command_handler.h"23#include "command.h"24#include "response.h"2526#include "CustomTypes.h"2728namespace webdriver {2930// Forward declaration of classes to avoid31// circular include files.32class IECommandExecutor;3334class IECommandHandler : public CommandHandler<IECommandExecutor> {35public:36IECommandHandler(void);37virtual ~IECommandHandler(void);3839protected:40virtual void ExecuteInternal(const IECommandExecutor& executor,41const ParametersMap& command_parameters,42Response* response);43int GetElement(const IECommandExecutor& executor,44const std::string& element_id,45ElementHandle* element_wrapper);46Json::Value RecreateJsonParameterObject(const ParametersMap& command_parameters);47};4849} // namespace webdriver5051#endif // WEBDRIVER_IE_COMMANDHANDLER_H_525354