Implements WatchBase
[platform/core/appfw/widget-viewer.git] / watch-holder-base / src / sharable_watch_base_interface.hh
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 #ifndef WATCH_HOLDER_BASE_SRC_SHARABLE_WATCH_BASE_INTERFACE_HH_
18 #define WATCH_HOLDER_BASE_SRC_SHARABLE_WATCH_BASE_INTERFACE_HH_
19
20 #include <bundle_cpp.h>
21 #include <screen_connector_remote_surface/handle.h>
22
23 #include <string>
24 #include <memory>
25
26 namespace watch_holder {
27
28 class ISharableWatchBase {
29  public:
30   virtual void Resume() = 0;
31   virtual void Pause() = 0;
32   virtual std::shared_ptr<screen_connector::WlBuffer>
33       GetCurrentImage() const = 0;
34   virtual bool IsBound() const = 0;
35   virtual std::string GetAppId() const = 0;
36   virtual int GetPid() const = 0;
37   virtual tizen_base::Bundle GetExtra() const = 0;
38   virtual bool IsFaulted() const = 0;
39   virtual void BlockUpdate(bool enable) = 0;
40 };
41
42 }  // namespace watch_holder
43
44 #endif  // WATCH_HOLDER_BASE_SRC_SHARABLE_WATCH_BASE_INTERFACE_HH_