• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 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_CJ_AVSESSION_CONTROLLER_FFI_H
17 #define OHOS_CJ_AVSESSION_CONTROLLER_FFI_H
18 
19 #include <cstdint>
20 
21 #include "cj_avsession_prototypes.h"
22 #include "cj_common_ffi.h"
23 
24 #ifndef FFI_EXPORT
25 #ifndef WINDOWS_PLATFORM
26 #define FFI_EXPORT __attribute__((visibility("default")))
27 #else
28 #define FFI_EXPORT __declspec(dllexport)
29 #endif
30 #endif
31 
32 #ifdef __cplusplus
33 #if __cplusplus
34 extern "C" {
35 #endif
36 #endif
37 
38 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerDestroy(char *sessionId);
39 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetAVCallState(char *sessionId, CAVCallState* avCallState);
40 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetAVCallMetaData(
41     char *sessionId, CAVCallMetaData* avCallMetadata);
42 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetAVPlaybackState(
43     char *sessionId, CAVPlaybackState* avPlaybackState);
44 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetAVMetaData(char *sessionId, CAVMetaData* avMetadata);
45 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetOutputDevice(
46     char *sessionId, COutputDeviceInfo* outputDeviceInfo);
47 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetRealPlaybackPosition(
48     char *sessionId, int64_t* position);
49 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerIsActive(char *sessionId, bool* isActive);
50 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetValidCommands(char *sessionId, CArray* commands);
51 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetAVQueueItems(char *sessionId, CArray* items);
52 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetAVQueueTitle(char *sessionId, char** title);
53 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetExtras(char *sessionId, CArray* extras);
54 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerGetLaunchAbility(char *sessionId, int64_t* abilityId);
55 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerSendCommonCommand(
56     char *sessionId, char* command, CArray* args);
57 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerSendControlCommand(
58     char *sessionId, CAVSessionCommand* command);
59 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerSendAVKeyEvent(char *sessionId, CKeyEvent* eventPtr);
60 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerSkipToQueueItem(char *sessionId, int32_t* itemId);
61 
62 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerOn(char *sessionId, int32_t type, int64_t id);
63 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerOff(char *sessionId, int32_t type);
64 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerOnCallMetadataChange(
65     char *sessionId, int32_t type, CParameters* filter, int64_t id);
66 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerOnCallStateChange(
67     char *sessionId, int32_t type, CParameters* filter, int64_t id);
68 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerOnPlaybackStateChange(
69     char *sessionId, int32_t type, CParameters* filter, int64_t id);
70 FFI_EXPORT int32_t FfiMultimediaAVSessionControllerOnMetaDataChange(
71     char *sessionId, int32_t type, CParameters* filter, int64_t id);
72 #ifdef __cplusplus
73 #if __cplusplus
74 }
75 #endif
76 #endif
77 #endif /* OHOS_CJ_SENSOR_FFI_H */
78 /**< @} */