15e81a82fSopenharmony_ci/*
25e81a82fSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
35e81a82fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
45e81a82fSopenharmony_ci * you may not use this file except in compliance with the License.
55e81a82fSopenharmony_ci * You may obtain a copy of the License at
65e81a82fSopenharmony_ci *
75e81a82fSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
85e81a82fSopenharmony_ci *
95e81a82fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
105e81a82fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
115e81a82fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125e81a82fSopenharmony_ci * See the License for the specific language governing permissions and
135e81a82fSopenharmony_ci * limitations under the License.
145e81a82fSopenharmony_ci * Description: Cast session implement class.
155e81a82fSopenharmony_ci * Author: zhangge
165e81a82fSopenharmony_ci * Create: 2022-07-19
175e81a82fSopenharmony_ci */
185e81a82fSopenharmony_ci
195e81a82fSopenharmony_ci#ifndef CAST_SESSION_COMMON_H
205e81a82fSopenharmony_ci#define CAST_SESSION_COMMON_H
215e81a82fSopenharmony_ci
225e81a82fSopenharmony_ci#include <array>
235e81a82fSopenharmony_ci#include "cast_engine_common.h"
245e81a82fSopenharmony_ci#include "cast_service_common.h"
255e81a82fSopenharmony_ci
265e81a82fSopenharmony_cinamespace OHOS {
275e81a82fSopenharmony_cinamespace CastEngine {
285e81a82fSopenharmony_cinamespace CastEngineService {
295e81a82fSopenharmony_cistruct CastRemoteDeviceInfo {
305e81a82fSopenharmony_ci    CastInnerRemoteDevice remoteDevice;
315e81a82fSopenharmony_ci    DeviceState deviceState;
325e81a82fSopenharmony_ci};
335e81a82fSopenharmony_ci
345e81a82fSopenharmony_cienum class SessionState : uint8_t {
355e81a82fSopenharmony_ci    DEFAULT,
365e81a82fSopenharmony_ci    DISCONNECTED,
375e81a82fSopenharmony_ci    CONNECTING,
385e81a82fSopenharmony_ci    CONNECTED,
395e81a82fSopenharmony_ci    PLAYING,
405e81a82fSopenharmony_ci    PAUSED,
415e81a82fSopenharmony_ci    DISCONNECTING,
425e81a82fSopenharmony_ci    STREAM,
435e81a82fSopenharmony_ci    AUTHING,
445e81a82fSopenharmony_ci    SESSION_STATE_MAX,
455e81a82fSopenharmony_ci};
465e81a82fSopenharmony_ci
475e81a82fSopenharmony_ciconst std::array<std::string, static_cast<size_t>(SessionState::SESSION_STATE_MAX)> SESSION_STATE_STRING = {
485e81a82fSopenharmony_ci    "DEFAULT", "DISCONNECTED", "CONNECTING", "CONNECTED", "PLAYING", "PAUSED", "DISCONNECTING", "STREAM",
495e81a82fSopenharmony_ci    "AUTHING"
505e81a82fSopenharmony_ci};
515e81a82fSopenharmony_ci} // namespace CastEngineService
525e81a82fSopenharmony_ci} // namespace CastEngine
535e81a82fSopenharmony_ci} // namespace OHOS
545e81a82fSopenharmony_ci
555e81a82fSopenharmony_ci#endif
56