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 "ohos_adapter/bridge/ark_media_avsession_metadata_adapter_wrapper.h"
17 
18 #include "base/bridge/ark_web_bridge_macros.h"
19 
20 namespace OHOS::ArkWeb {
21 
ArkMediaAVSessionMetadataAdapterWrapper(ArkWebRefPtr<ArkMediaAVSessionMetadataAdapter> ref)22 ArkMediaAVSessionMetadataAdapterWrapper::ArkMediaAVSessionMetadataAdapterWrapper(
23     ArkWebRefPtr<ArkMediaAVSessionMetadataAdapter> ref)
24     : ctocpp_(ref)
25 {}
26 
SetTitle(const std::string & title)27 void ArkMediaAVSessionMetadataAdapterWrapper::SetTitle(const std::string& title)
28 {
29     ArkWebString str = ArkWebStringClassToStruct(title);
30     ctocpp_->SetTitle(str);
31     ArkWebStringStructRelease(str);
32 }
33 
GetTitle()34 std::string ArkMediaAVSessionMetadataAdapterWrapper::GetTitle()
35 {
36     ArkWebString title = ctocpp_->GetTitle();
37     std::string result = ArkWebStringStructToClass(title);
38     ArkWebStringStructRelease(title);
39     return result;
40 }
41 
SetArtist(const std::string & artist)42 void ArkMediaAVSessionMetadataAdapterWrapper::SetArtist(const std::string& artist)
43 {
44     ArkWebString str = ArkWebStringClassToStruct(artist);
45     ctocpp_->SetArtist(str);
46     ArkWebStringStructRelease(str);
47 }
48 
GetArtist()49 std::string ArkMediaAVSessionMetadataAdapterWrapper::GetArtist()
50 {
51     ArkWebString artist = ctocpp_->GetArtist();
52     std::string result = ArkWebStringStructToClass(artist);
53     ArkWebStringStructRelease(artist);
54     return result;
55 }
56 
SetAlbum(const std::string & album)57 void ArkMediaAVSessionMetadataAdapterWrapper::SetAlbum(const std::string& album)
58 {
59     ArkWebString str = ArkWebStringClassToStruct(album);
60     ctocpp_->SetAlbum(str);
61     ArkWebStringStructRelease(str);
62 }
63 
GetAlbum()64 std::string ArkMediaAVSessionMetadataAdapterWrapper::GetAlbum()
65 {
66     ArkWebString album = ctocpp_->GetAlbum();
67     std::string result = ArkWebStringStructToClass(album);
68     ArkWebStringStructRelease(album);
69     return result;
70 }
71 
72 } // namespace OHOS::ArkWeb
73