1/*
2 * Copyright (c) 2021 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#ifndef OHOS_WINDOW_MANAGER_AGENT_H
17#define OHOS_WINDOW_MANAGER_AGENT_H
18
19#include "window_manager.h"
20#include "zidl/window_manager_agent_stub.h"
21
22namespace OHOS {
23namespace Rosen {
24class WindowManagerAgent : public WindowManagerAgentStub {
25public:
26    WindowManagerAgent() = default;
27    ~WindowManagerAgent() = default;
28
29    void UpdateFocusChangeInfo(const sptr<FocusChangeInfo>& focusChangeInfo, bool focused) override;
30    void UpdateSystemBarRegionTints(DisplayId displayId, const SystemBarRegionTints& props) override;
31    void NotifyAccessibilityWindowInfo(const std::vector<sptr<AccessibilityWindowInfo>>& infos,
32        WindowUpdateType type) override;
33    void UpdateWindowVisibilityInfo(const std::vector<sptr<WindowVisibilityInfo>>& visibilityInfos) override;
34    void UpdateWindowModeTypeInfo(WindowModeType type) override;
35    void UpdateWindowDrawingContentInfo(
36        const std::vector<sptr<WindowDrawingContentInfo>>& windowDrawingContentInfos) override;
37    void UpdateCameraFloatWindowStatus(uint32_t accessTokenId, bool isShowing) override;
38    void NotifyWaterMarkFlagChangedResult(bool showWaterMark) override;
39    void UpdateVisibleWindowNum(const std::vector<VisibleWindowNumInfo>& visibleWindowNumInfo) override;
40    void NotifyGestureNavigationEnabledResult(bool enable) override;
41    void UpdateCameraWindowStatus(uint32_t accessTokenId, bool isShowing) override {};
42    void NotifyWindowStyleChange(WindowStyleType type) override;
43    void NotifyWindowPidVisibilityChanged(const sptr<WindowPidVisibilityInfo>& info) override;
44    void UpdatePiPWindowStateChanged(const std::string& bundleName, bool isForeground) override {}
45};
46} // namespace Rosen
47} // namespace OHOS
48#endif // OHOS_WINDOW_MANAGER_AGENT_H
49