2 * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef MEDIACONTROLLER_MEDIACONTROLLER_INSTANCE_H_
18 #define MEDIACONTROLLER_MEDIACONTROLLER_INSTANCE_H_
22 #include "common/extension.h"
23 #include "mediacontroller/mediacontroller_client.h"
24 #include "mediacontroller/mediacontroller_server.h"
27 namespace mediacontroller {
29 class MediaControllerInstance : public common::ParsedInstance {
31 MediaControllerInstance();
32 virtual ~MediaControllerInstance();
36 void MediaControllerManagerCreateServer(const picojson::value& args, picojson::object& out);
37 void MediaControllerServerUpdatePlaybackState(const picojson::value& args, picojson::object& out);
38 void MediaControllerServerUpdatePlaybackPosition(const picojson::value& args,
39 picojson::object& out);
40 void MediaControllerServerUpdatePlaybackAgeRating(const picojson::value& args,
41 picojson::object& out);
42 void MediaControllerServerUpdateRepeatMode(const picojson::value& args, picojson::object& out);
43 void MediaControllerServerUpdateRepeatState(const picojson::value& args, picojson::object& out);
44 void MediaControllerServerUpdateShuffleMode(const picojson::value& args, picojson::object& out);
45 void MediaControllerServerUpdatePlaybackContentType(const picojson::value& args,
46 picojson::object& out);
47 void MediaControllerServerUpdateMetadata(const picojson::value& args, picojson::object& out);
48 void MediaControllerServerAddChangeRequestPlaybackInfoListener(const picojson::value& args,
49 picojson::object& out);
50 void MediaControllerServerRemoveChangeRequestPlaybackInfoListener(const picojson::value& args,
51 picojson::object& out);
53 void MediaControllerServerAddSearchRequestListener(const picojson::value& args,
54 picojson::object& out);
55 void MediaControllerServerRemoveSearchRequestListener(const picojson::value& args,
56 picojson::object& out);
58 void MediaControllerServerReplyCommand(const picojson::value& args, picojson::object& out);
59 void MediaControllerServerAddCommandListener(const picojson::value& args, picojson::object& out);
60 void MediaControllerServerRemoveCommandListener(const picojson::value& args,
61 picojson::object& out);
62 void MediaControllerServerCreatePlaylist(const picojson::value& args, picojson::object& out);
63 void MediaControllerServerSavePlaylist(const picojson::value& args, picojson::object& out);
64 void MediaControllerServerDeletePlaylist(const picojson::value& args, picojson::object& out);
65 void MediaControllerServerUpdatePlaybackItem(const picojson::value& args, picojson::object& out);
66 void MediaControllerServerGetAllPlaylists(const picojson::value& args, picojson::object& out);
67 void MediaControllerServerUpdateIconURI(const picojson::value& args, picojson::object& out);
68 void MediaControllerServerSavePlaybackAbilities(const picojson::value& args,
69 picojson::object& out);
70 void MediaControllerServerSetDisplayModeAbility(const picojson::value& args,
71 picojson::object& out);
72 void MediaControllerServerSetDisplayRotationAbility(const picojson::value& args,
73 picojson::object& out);
74 void MediaControllerServerSetSimpleAbility(const picojson::value& args, picojson::object& out);
75 void MediaControllerServerGetAllClientsInfo(const picojson::value& args, picojson::object& out);
78 void MediaControllerClientInfoSendEvent(const picojson::value& args, picojson::object& out);
81 void MediaControllerManagerGetClient(const picojson::value& args, picojson::object& out);
82 void MediaControllerClientFindServers(const picojson::value& args, picojson::object& out);
83 void MediaControllerClientGetLatestServerInfo(const picojson::value& args, picojson::object& out);
84 void MediaControllerClientGetPlaybackInfo(const picojson::value& args, picojson::object& out);
85 void MediaControllerClientGetPlaybackAbility(const picojson::value& args, picojson::object& out);
86 void MediaControllerClientGetDisplayModeAbility(const picojson::value& args,
87 picojson::object& out);
88 void MediaControllerClientGetDisplayRotationAbility(const picojson::value& args,
89 picojson::object& out);
90 void MediaControllerClientGetSimpleAbility(const picojson::value& args, picojson::object& out);
91 void MediaControllerClientAddAbilityChangeListener(const picojson::value& args,
92 picojson::object& out);
93 void MediaControllerClientRemoveAbilityChangeListener(const picojson::value& args,
94 picojson::object& out);
95 void MediaControllerClientFindSubscribedServers(const picojson::value& args,
96 picojson::object& out);
97 void MediaControllerClientSetCustomEventListener(const picojson::value& args,
98 picojson::object& out);
99 void MediaControllerClientUnsetCustomEventListener(const picojson::value& args,
100 picojson::object& out);
101 void MediaControllerClientSendEventReply(const picojson::value& args, picojson::object& out);
104 void MediaControllerServerInfoSendPlaybackState(const picojson::value& args,
105 picojson::object& out);
106 void MediaControllerServerInfoSendPlaybackPosition(const picojson::value& args,
107 picojson::object& out);
108 void MediaControllerServerInfoSendRepeatMode(const picojson::value& args, picojson::object& out);
109 void MediaControllerServerInfoSendRepeatState(const picojson::value& args, picojson::object& out);
110 void MediaControllerServerInfoSendShuffleMode(const picojson::value& args, picojson::object& out);
111 void MediaControllerServerInfoSendSearchRequest(const picojson::value& args,
112 picojson::object& out);
113 void MediaControllerServerInfoSendCommand(const picojson::value& args, picojson::object& out);
114 void MediaControllerServerInfoAddServerStatusChangeListener(const picojson::value& args,
115 picojson::object& out);
116 void MediaControllerServerInfoRemoveServerStatusChangeListener(const picojson::value& args,
117 picojson::object& out);
118 void MediaControllerServerInfoAddPlaybackInfoChangeListener(const picojson::value& args,
119 picojson::object& out);
120 void MediaControllerServerInfoRemovePlaybackInfoChangeListener(const picojson::value& args,
121 picojson::object& out);
122 void MediaControllerServerInfoSendPlaybackItem(const picojson::value& args,
123 picojson::object& out);
124 void MediaControllerServerInfoAddPlaylistUpdatedListener(const picojson::value& args,
125 picojson::object& out);
126 void MediaControllerServerInfoRemovePlaylistUpdatedListener(const picojson::value& args,
127 picojson::object& out);
128 void MediaControllerServerInfoGetAllPlaylists(const picojson::value& args, picojson::object& out);
129 void MediaControllerServerInfoGetIconURI(const picojson::value& args, picojson::object& out);
130 void MediaControllerServerInfoPlaybackInfoSendPlaybackAction(const picojson::value& args,
131 picojson::object& out);
132 void MediaControllerServerInfoPlaybackInfoSendPlaybackPosition(const picojson::value& args,
133 picojson::object& out);
134 void MediaControllerServerInfoPlaybackInfoSendShuffleMode(const picojson::value& args,
135 picojson::object& out);
136 void MediaControllerServerInfoPlaybackInfoSendRepeatState(const picojson::value& args,
137 picojson::object& out);
140 void MediaControllerAbilitiesInfoSubscribe(const picojson::value& args, picojson::object& out);
141 void MediaControllerAbilitiesInfoUnsubscribe(const picojson::value& args, picojson::object& out);
144 void MediaControllerPlaylistAddItem(const picojson::value& args, picojson::object& out);
145 void MediaControllerPlaylistGetItems(const picojson::value& args, picojson::object& out);
148 void MediaControllerSubtitlesUpdateEnabled(const picojson::value& args, picojson::object& out);
149 void MediaControllerSubtitlesAddChangeRequestListener(const picojson::value& args,
150 picojson::object& out);
151 void MediaControllerSubtitlesRemoveChangeRequestListener(const picojson::value& args,
152 picojson::object& out);
153 void MediaControllerSubtitlesInfoGetEnabled(const picojson::value& args, picojson::object& out);
154 void MediaControllerSubtitlesInfoSendRequest(const picojson::value& args, picojson::object& out);
155 void MediaControllerSubtitlesInfoAddModeChangeListener(const picojson::value& args,
156 picojson::object& out);
157 void MediaControllerSubtitlesInfoRemoveModeChangeListener(const picojson::value& args,
158 picojson::object& out);
161 void MediaControllerMode360UpdateEnabled(const picojson::value& args, picojson::object& out);
162 void MediaControllerMode360AddChangeRequestListener(const picojson::value& args,
163 picojson::object& out);
164 void MediaControllerMode360RemoveChangeRequestListener(const picojson::value& args,
165 picojson::object& out);
166 void MediaControllerMode360InfoGetEnabled(const picojson::value& args, picojson::object& out);
167 void MediaControllerMode360InfoSendRequest(const picojson::value& args, picojson::object& out);
168 void MediaControllerMode360InfoAddModeChangeListener(const picojson::value& args,
169 picojson::object& out);
170 void MediaControllerMode360InfoRemoveModeChangeListener(const picojson::value& args,
171 picojson::object& out);
174 void MediaControllerDisplayModeUpdateType(const picojson::value& args, picojson::object& out);
175 void MediaControllerDisplayModeAddChangeRequestListener(const picojson::value& args,
176 picojson::object& out);
177 void MediaControllerDisplayModeRemoveChangeRequestListener(const picojson::value& args,
178 picojson::object& out);
179 void MediaControllerDisplayModeInfoGetType(const picojson::value& args, picojson::object& out);
180 void MediaControllerDisplayModeInfoSendType(const picojson::value& args, picojson::object& out);
181 void MediaControllerDisplayModeInfoAddModeChangeListener(const picojson::value& args,
182 picojson::object& out);
183 void MediaControllerDisplayModeInfoRemoveModeChangeListener(const picojson::value& args,
184 picojson::object& out);
187 void MediaControllerDisplayRotationUpdate(const picojson::value& args, picojson::object& out);
188 void MediaControllerDisplayRotationAddChangeRequestListener(const picojson::value& args,
189 picojson::object& out);
190 void MediaControllerDisplayRotationRemoveChangeRequestListener(const picojson::value& args,
191 picojson::object& out);
192 void MediaControllerDisplayRotationInfoGet(const picojson::value& args, picojson::object& out);
193 void MediaControllerDisplayRotationInfoSend(const picojson::value& args, picojson::object& out);
194 void MediaControllerDisplayRotationInfoAddChangeListener(const picojson::value& args,
195 picojson::object& out);
196 void MediaControllerDisplayRotationInfoRemoveChangeListener(const picojson::value& args,
197 picojson::object& out);
200 void MediaControllerPlaylistsGetPlaylist(const picojson::value& args, picojson::object& out);
203 void MediaControllerPlaylistsInfoSendPlaybackItem(const picojson::value& args,
204 picojson::object& out);
205 void MediaControllerPlaylistsInfoGetPlaylist(const picojson::value& args, picojson::object& out);
207 std::shared_ptr<MediaControllerClient> client_;
208 std::shared_ptr<MediaControllerServer> server_;
209 std::map<std::string, PlaylistHandleMap> server_playlist_map_;
212 } // namespace mediacontroller
213 } // namespace extension
215 #endif // MEDIACONTROLLER_MEDIACONTROLLER_INSTANCE_H_