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, picojson::object& out);
46 void MediaControllerServerUpdateMetadata(const picojson::value& args, picojson::object& out);
47 void MediaControllerServerAddChangeRequestPlaybackInfoListener(const picojson::value& args,
48 picojson::object& out);
49 void MediaControllerServerRemoveChangeRequestPlaybackInfoListener(const picojson::value& args,
50 picojson::object& out);
51 void MediaControllerServerAddCommandListener(const picojson::value& args, picojson::object& out);
52 void MediaControllerServerReplyCommand(const picojson::value& args, picojson::object& out);
53 void MediaControllerServerRemoveCommandListener(const picojson::value& args,
54 picojson::object& out);
55 void MediaControllerServerCreatePlaylist(const picojson::value& args, picojson::object& out);
56 void MediaControllerServerSavePlaylist(const picojson::value& args, picojson::object& out);
57 void MediaControllerServerDeletePlaylist(const picojson::value& args, picojson::object& out);
58 void MediaControllerServerUpdatePlaybackItem(const picojson::value& args, picojson::object& out);
59 void MediaControllerServerGetAllPlaylists(const picojson::value& args, picojson::object& out);
62 void MediaControllerManagerGetClient(const picojson::value& args, picojson::object& out);
63 void MediaControllerClientFindServers(const picojson::value& args, picojson::object& out);
64 void MediaControllerClientGetLatestServerInfo(const picojson::value& args, picojson::object& out);
65 void MediaControllerClientGetPlaybackInfo(const picojson::value& args, picojson::object& out);
66 void MediaControllerServerInfoSendPlaybackState(const picojson::value& args,
67 picojson::object& out);
68 void MediaControllerServerInfoSendPlaybackPosition(const picojson::value& args,
69 picojson::object& out);
70 void MediaControllerServerInfoSendRepeatMode(const picojson::value& args, picojson::object& out);
71 void MediaControllerServerInfoSendRepeatState(const picojson::value& args, picojson::object& out);
72 void MediaControllerServerInfoSendShuffleMode(const picojson::value& args, picojson::object& out);
73 void MediaControllerServerInfoSendCommand(const picojson::value& args, picojson::object& out);
74 void MediaControllerServerInfoAddServerStatusChangeListener(const picojson::value& args,
75 picojson::object& out);
76 void MediaControllerServerInfoRemoveServerStatusChangeListener(const picojson::value& args,
77 picojson::object& out);
78 void MediaControllerServerInfoAddPlaybackInfoChangeListener(const picojson::value& args,
79 picojson::object& out);
80 void MediaControllerServerInfoRemovePlaybackInfoChangeListener(const picojson::value& args,
81 picojson::object& out);
82 void MediaControllerServerInfoSendPlaybackItem(const picojson::value& args,
83 picojson::object& out);
84 void MediaControllerServerInfoAddPlaylistUpdateListener(const picojson::value& args,
85 picojson::object& out);
86 void MediaControllerServerInfoRemovePlaylistUpdateListener(const picojson::value& args,
87 picojson::object& out);
88 void MediaControllerServerInfoGetAllPlaylists(const picojson::value& args, picojson::object& out);
91 void MediaControllerPlaylistAddItem(const picojson::value& args, picojson::object& out);
92 void MediaControllerPlaylistGetItems(const picojson::value& args, picojson::object& out);
94 std::shared_ptr<MediaControllerClient> client_;
95 std::shared_ptr<MediaControllerServer> server_;
98 } // namespace mediacontroller
99 } // namespace extension
101 #endif // MEDIACONTROLLER_MEDIACONTROLLER_INSTANCE_H_