• 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 #include "cj_avsession_controller_ffi.h"
17 
18 #include "avsession_errors.h"
19 #include "cj_avsession_controller_impl.h"
20 #include "cj_avsession_impl.h"
21 #include "avsession_log.h"
22 #include "cj_lambda.h"
23 
24 #define CJ_AVSESSION_CONTROLLER_IMPL_STRING \
25     OHOS::AVSession::CJAVSessionControllerImpl::GetInstance(std::string(sessionId))
26 
27 extern "C" {
FfiMultimediaAVSessionControllerDestroy(char * sessionId)28 int32_t FfiMultimediaAVSessionControllerDestroy(char *sessionId)
29 {
30     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
31     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->Destroy();
32 }
33 
FfiMultimediaAVSessionControllerGetAVCallState(char * sessionId,CAVCallState * avCallState)34 int32_t FfiMultimediaAVSessionControllerGetAVCallState(char* sessionId, CAVCallState* avCallState)
35 {
36     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
37     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetAVCallState(*avCallState);
38 }
39 
FfiMultimediaAVSessionControllerGetAVCallMetaData(char * sessionId,CAVCallMetaData * avCallMetadata)40 int32_t FfiMultimediaAVSessionControllerGetAVCallMetaData(char* sessionId, CAVCallMetaData* avCallMetadata)
41 {
42     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
43     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetAVCallMetaData(*avCallMetadata);
44 }
45 
FfiMultimediaAVSessionControllerGetAVPlaybackState(char * sessionId,CAVPlaybackState * avPlaybackState)46 int32_t FfiMultimediaAVSessionControllerGetAVPlaybackState(char *sessionId, CAVPlaybackState* avPlaybackState)
47 {
48     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
49     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetAVPlaybackState(*avPlaybackState);
50 }
51 
FfiMultimediaAVSessionControllerGetAVMetaData(char * sessionId,CAVMetaData * avMetadata)52 int32_t FfiMultimediaAVSessionControllerGetAVMetaData(char* sessionId, CAVMetaData* avMetadata)
53 {
54     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
55     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetAVMetaData(*avMetadata);
56 }
57 
FfiMultimediaAVSessionControllerGetOutputDevice(char * sessionId,COutputDeviceInfo * outputDeviceInfo)58 int32_t FfiMultimediaAVSessionControllerGetOutputDevice(char* sessionId, COutputDeviceInfo* outputDeviceInfo)
59 {
60     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
61     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetOutputDevice(*outputDeviceInfo);
62 }
63 
FfiMultimediaAVSessionControllerGetRealPlaybackPosition(char * sessionId,int64_t * position)64 int32_t FfiMultimediaAVSessionControllerGetRealPlaybackPosition(char* sessionId, int64_t* position)
65 {
66     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
67     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetRealPlaybackPosition(*position);
68 }
69 
FfiMultimediaAVSessionControllerIsActive(char * sessionId,bool * isActive)70 int32_t FfiMultimediaAVSessionControllerIsActive(char* sessionId, bool* isActive)
71 {
72     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
73     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->IsActive(*isActive);
74 }
75 
FfiMultimediaAVSessionControllerGetValidCommands(char * sessionId,CArray * commands)76 int32_t FfiMultimediaAVSessionControllerGetValidCommands(char* sessionId, CArray* commands)
77 {
78     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
79     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetValidCommands(*commands);
80 }
81 
FfiMultimediaAVSessionControllerGetAVQueueItems(char * sessionId,CArray * items)82 int32_t FfiMultimediaAVSessionControllerGetAVQueueItems(char* sessionId, CArray* items)
83 {
84     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
85     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetAVQueueItems(*items);
86 }
87 
FfiMultimediaAVSessionControllerGetAVQueueTitle(char * sessionId,char ** title)88 int32_t FfiMultimediaAVSessionControllerGetAVQueueTitle(char* sessionId, char** title)
89 {
90     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
91     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetAVQueueTitle(*title);
92 }
93 
FfiMultimediaAVSessionControllerGetExtras(char * sessionId,CArray * extras)94 int32_t FfiMultimediaAVSessionControllerGetExtras(char* sessionId, CArray* extras)
95 {
96     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
97     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetExtras(*extras);
98 }
99 
FfiMultimediaAVSessionControllerGetLaunchAbility(char * sessionId,int64_t * abilityId)100 int32_t FfiMultimediaAVSessionControllerGetLaunchAbility(char *sessionId, int64_t* abilityId)
101 {
102     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
103     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->GetLaunchAbility(*abilityId);
104 }
105 
FfiMultimediaAVSessionControllerSendCommonCommand(char * sessionId,char * command,CArray * args)106 int32_t FfiMultimediaAVSessionControllerSendCommonCommand(char *sessionId, char* command, CArray* args)
107 {
108     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
109     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->SendCommonCommand(command, *args);
110 }
111 
FfiMultimediaAVSessionControllerSendControlCommand(char * sessionId,CAVSessionCommand * command)112 int32_t FfiMultimediaAVSessionControllerSendControlCommand(
113     char *sessionId, CAVSessionCommand* command)
114 {
115     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
116     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->SendControlCommand(*command);
117 }
118 
FfiMultimediaAVSessionControllerSkipToQueueItem(char * sessionId,int32_t * itemId)119 int32_t FfiMultimediaAVSessionControllerSkipToQueueItem(char *sessionId, int32_t* itemId)
120 {
121     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
122     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->SkipToQueueItem(*itemId);
123 }
124 
FfiMultimediaAVSessionControllerSendAVKeyEvent(char * sessionId,CKeyEvent * eventPtr)125 int32_t FfiMultimediaAVSessionControllerSendAVKeyEvent(char *sessionId, CKeyEvent* eventPtr)
126 {
127     if (sessionId == nullptr) { return OHOS::AVSession::ERR_INVALID_PARAM; }
128     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->SendAVKeyEvent(*eventPtr);
129 }
130 
FfiMultimediaAVSessionControllerOn(char * sessionId,int32_t type,int64_t id)131 int32_t FfiMultimediaAVSessionControllerOn(char *sessionId, int32_t type, int64_t id)
132 {
133     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->OnEvent(type, id);
134 }
135 
FfiMultimediaAVSessionControllerOff(char * sessionId,int32_t type)136 int32_t FfiMultimediaAVSessionControllerOff(char *sessionId, int32_t type)
137 {
138     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->OffEvent(type);
139 }
140 
FfiMultimediaAVSessionControllerOnCallMetadataChange(char * sessionId,int32_t type,CParameters * filter,int64_t id)141 int32_t FfiMultimediaAVSessionControllerOnCallMetadataChange(
142     char *sessionId, int32_t type, CParameters* filter, int64_t id)
143 {
144     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->OnEventCallMetadataChange(type, filter, id);
145 }
146 
FfiMultimediaAVSessionControllerOnCallStateChange(char * sessionId,int32_t type,CParameters * filter,int64_t id)147 int32_t FfiMultimediaAVSessionControllerOnCallStateChange(
148     char *sessionId, int32_t type, CParameters* filter, int64_t id)
149 {
150     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->OnEventCallStateChange(type, filter, id);
151 }
152 
FfiMultimediaAVSessionControllerOnPlaybackStateChange(char * sessionId,int32_t type,CParameters * filter,int64_t id)153 int32_t FfiMultimediaAVSessionControllerOnPlaybackStateChange(
154     char *sessionId, int32_t type, CParameters* filter, int64_t id)
155 {
156     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->OnEventPlaybackStateChange(type, filter, id);
157 }
158 
FfiMultimediaAVSessionControllerOnMetaDataChange(char * sessionId,int32_t type,CParameters * filter,int64_t id)159 int32_t FfiMultimediaAVSessionControllerOnMetaDataChange(
160     char *sessionId, int32_t type, CParameters* filter, int64_t id)
161 {
162     return CJ_AVSESSION_CONTROLLER_IMPL_STRING->OnEventMetaDataChang(type, filter, id);
163 }
164 }