1e509ee18Sopenharmony_ci/*
2e509ee18Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
3e509ee18Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4e509ee18Sopenharmony_ci * you may not use this file except in compliance with the License.
5e509ee18Sopenharmony_ci * You may obtain a copy of the License at
6e509ee18Sopenharmony_ci *
7e509ee18Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8e509ee18Sopenharmony_ci *
9e509ee18Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10e509ee18Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11e509ee18Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12e509ee18Sopenharmony_ci * See the License for the specific language governing permissions and
13e509ee18Sopenharmony_ci * limitations under the License.
14e509ee18Sopenharmony_ci */
15e509ee18Sopenharmony_ci
16e509ee18Sopenharmony_ci#include "agent/css_impl.h"
17e509ee18Sopenharmony_ci
18e509ee18Sopenharmony_ci#include "base/pt_events.h"
19e509ee18Sopenharmony_ci#include "protocol_channel.h"
20e509ee18Sopenharmony_ci
21e509ee18Sopenharmony_cinamespace panda::ecmascript::tooling {
22e509ee18Sopenharmony_civoid CssImpl::DispatcherImpl::Dispatch(const DispatchRequest &request)
23e509ee18Sopenharmony_ci{
24e509ee18Sopenharmony_ci    Method method = GetMethodEnum(request.GetMethod());
25e509ee18Sopenharmony_ci    LOG_DEBUGGER(INFO) << "dispatch [" << request.GetMethod() << "] to CssImpl";
26e509ee18Sopenharmony_ci    switch (method) {
27e509ee18Sopenharmony_ci        case Method::DISABLE:
28e509ee18Sopenharmony_ci            Disable(request);
29e509ee18Sopenharmony_ci            break;
30e509ee18Sopenharmony_ci        default:
31e509ee18Sopenharmony_ci            SendResponse(request, DispatchResponse::Fail("Unknown method: " + request.GetMethod()));
32e509ee18Sopenharmony_ci            break;
33e509ee18Sopenharmony_ci    }
34e509ee18Sopenharmony_ci}
35e509ee18Sopenharmony_ci
36e509ee18Sopenharmony_ciCssImpl::DispatcherImpl::Method CssImpl::DispatcherImpl::GetMethodEnum(const std::string& method)
37e509ee18Sopenharmony_ci{
38e509ee18Sopenharmony_ci    if (method == "disable") {
39e509ee18Sopenharmony_ci        return Method::DISABLE;
40e509ee18Sopenharmony_ci    } else {
41e509ee18Sopenharmony_ci        return Method::UNKNOWN;
42e509ee18Sopenharmony_ci    }
43e509ee18Sopenharmony_ci}
44e509ee18Sopenharmony_ci
45e509ee18Sopenharmony_civoid CssImpl::DispatcherImpl::Disable(const DispatchRequest &request)
46e509ee18Sopenharmony_ci{
47e509ee18Sopenharmony_ci    DispatchResponse response = DispatchResponse::Ok();
48e509ee18Sopenharmony_ci    SendResponse(request, response);
49e509ee18Sopenharmony_ci}
50e509ee18Sopenharmony_ci}  // namespace panda::ecmascript::tooling