1cc290419Sopenharmony_ci/*
2cc290419Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3cc290419Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4cc290419Sopenharmony_ci * you may not use this file except in compliance with the License.
5cc290419Sopenharmony_ci * You may obtain a copy of the License at
6cc290419Sopenharmony_ci *
7cc290419Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8cc290419Sopenharmony_ci *
9cc290419Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10cc290419Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11cc290419Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12cc290419Sopenharmony_ci * See the License for the specific language governing permissions and
13cc290419Sopenharmony_ci * limitations under the License.
14cc290419Sopenharmony_ci */
15cc290419Sopenharmony_ci
16cc290419Sopenharmony_ci#ifndef REGISTER_HDC_CONNECT_H
17cc290419Sopenharmony_ci#define REGISTER_HDC_CONNECT_H
18cc290419Sopenharmony_ci
19cc290419Sopenharmony_ci#include <string>
20cc290419Sopenharmony_ci#include "define_register.h"
21cc290419Sopenharmony_cinamespace Hdc {
22cc290419Sopenharmony_ci#ifdef __cplusplus
23cc290419Sopenharmony_ci#if __cplusplus
24cc290419Sopenharmony_ciextern "C" {
25cc290419Sopenharmony_ci#endif
26cc290419Sopenharmony_ci#endif /* End of #ifdef __cplusplus */
27cc290419Sopenharmony_civoid StartConnect(const std::string& processName, const std::string& pkgName, bool isDebug, Callback cb);
28cc290419Sopenharmony_civoid StopConnect();
29cc290419Sopenharmony_ci#ifdef __cplusplus
30cc290419Sopenharmony_ci#if __cplusplus
31cc290419Sopenharmony_ci}
32cc290419Sopenharmony_ci#endif
33cc290419Sopenharmony_ci#endif /* End of #ifdef __cplusplus */
34cc290419Sopenharmony_ci
35cc290419Sopenharmony_ciclass ConnectManagement {
36cc290419Sopenharmony_cipublic:
37cc290419Sopenharmony_ci    ConnectManagement() = default;
38cc290419Sopenharmony_ci    ~ConnectManagement() {}
39cc290419Sopenharmony_ci    void SetProcessName(const std::string& processName);
40cc290419Sopenharmony_ci    std::string GetProcessName() const;
41cc290419Sopenharmony_ci    void SetPkgName(const std::string& pkgName);
42cc290419Sopenharmony_ci    std::string GetPkgName() const;
43cc290419Sopenharmony_ci    void SetDebug(bool isDebug);
44cc290419Sopenharmony_ci    bool GetDebug() const;
45cc290419Sopenharmony_ci    void SetCallback(Callback cb);
46cc290419Sopenharmony_ci    Callback GetCallback() const;
47cc290419Sopenharmony_ci
48cc290419Sopenharmony_ciprivate:
49cc290419Sopenharmony_ci    std::string processName_;
50cc290419Sopenharmony_ci    std::string pkgName_;
51cc290419Sopenharmony_ci    bool isDebug_;
52cc290419Sopenharmony_ci    Callback cb_;
53cc290419Sopenharmony_ci};
54cc290419Sopenharmony_ci} // namespace Hdc
55cc290419Sopenharmony_ci
56cc290419Sopenharmony_ci#endif // REGISTER_HDC_CONNECT_H
57