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 /**< @} */