• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 DISC_SERVER_PROXY_H
17 
18 #include <stdint.h>
19 #include "discovery_service.h"
20 
21 #ifdef __cplusplus
22 #if __cplusplus
23 extern "C" {
24 #endif
25 #endif
26 
27 int32_t DiscServerProxyInit(void);
28 void DiscServerProxyDeInit(void);
29 
30 /**
31  * @brief The publishing service is started in the IPC communication,
32  * and the agent is called to start the publishing service.
33  * @see {@link ServerIpcUnPublishService}
34  * @param[in] pkgName Indicates the pointer to the service package name, which can contain a maximum of 64 bytes.
35  * @param[in] info Indicates the pointer to the service publishing information.
36  * For details, see {@link PublishInfo}.
37  * @return <b>SOFTBUS_OK</b> if the service ipc is successfully published.
38  */
39 int32_t ServerIpcPublishService(const char *pkgName, const PublishInfo *info);
40 
41 /**
42  * @brief Unpublish the service in the IPC communication, call the proxy to stop publishing the service.
43  * @see {@link ServerIpcPublishService}
44  * @param[in] pkgName Indicates the pointer to the service package name, which can contain a maximum of 64 bytes.
45  * @param[in] publishId Indicates the service ID.
46  * @return <b>SOFTBUS_OK</b> if the service ipc is successfully unpublished.
47  */
48 int32_t ServerIpcUnPublishService(const char *pkgName, int32_t publishId);
49 
50 /**
51  * @brief The active discovery service is started in the IPC communication,
52  * and the agent is called to start the active discovery service.
53  * @see {@link ServerIpcStopDiscovery}
54  * @param[in] pkgName Indicates the pointer to the subscribe package name,
55  * which can contain a maximum of 64 bytes.
56  * @param[in] info Indicates the pointer to the service publishing information.
57  * For details, see {@link SubscribeInfo}.
58  * @return <b>SOFTBUS_OK</b> if the service ipc is successfully start discovery.
59  */
60 int32_t ServerIpcStartDiscovery(const char *pkgName, const SubscribeInfo *info);
61 
62 /**
63  * @brief Stop the discovery service in IPC communication and call the agent to stop the discovery service.
64  * @see {@link ServerIpcStartDiscovery}
65  * @param[in] pkgName Indicates the pointer to the subscribe package name,
66  * which can contain a maximum of 64 bytes.
67  * @param[in] subscribeId Indicates the subscribe ID.
68  * @return <b>SOFTBUS_OK</b> if the service ipc is successfully stop discovery.
69  */
70 int32_t ServerIpcStopDiscovery(const char *pkgName, int32_t subscribeId);
71 
72 #ifdef __cplusplus
73 #if __cplusplus
74 }
75 #endif /* __cplusplus */
76 #endif /* __cplusplus */
77 
78 #endif // !DISC_SERVER_PROXY_H
79