From ebec47a2012068d73647412749075e6a6bbb43b9 Mon Sep 17 00:00:00 2001
From: Piotr Czaja
Date: Fri, 12 Dec 2014 14:49:53 +0100
Subject: [PATCH] [TVWindow] Stubs
Change-Id: I729f6d26fdb493d757a04a797e20db51c3317e00
Signed-off-by: Piotr Czaja
---
packaging/webapi-plugins.spec | 5 ++++
src/tizen-wrt.gyp | 1 +
src/tvwindow/tvwindow.gyp | 31 ++++++++++++++++++++
src/tvwindow/tvwindow_api.js | 47 ++++++++++++++++++++++++++++++
src/tvwindow/tvwindow_extension.cc | 36 +++++++++++++++++++++++
src/tvwindow/tvwindow_extension.h | 29 ++++++++++++++++++
src/tvwindow/tvwindow_instance.cc | 35 ++++++++++++++++++++++
src/tvwindow/tvwindow_instance.h | 31 ++++++++++++++++++++
src/tvwindow/tvwindow_manager.cc | 19 ++++++++++++
src/tvwindow/tvwindow_manager.h | 28 ++++++++++++++++++
10 files changed, 262 insertions(+)
create mode 100644 src/tvwindow/tvwindow.gyp
create mode 100644 src/tvwindow/tvwindow_api.js
create mode 100644 src/tvwindow/tvwindow_extension.cc
create mode 100644 src/tvwindow/tvwindow_extension.h
create mode 100644 src/tvwindow/tvwindow_instance.cc
create mode 100644 src/tvwindow/tvwindow_instance.h
create mode 100644 src/tvwindow/tvwindow_manager.cc
create mode 100644 src/tvwindow/tvwindow_manager.h
diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec
index 2f0ca547..39bcac56 100644
--- a/packaging/webapi-plugins.spec
+++ b/packaging/webapi-plugins.spec
@@ -143,6 +143,7 @@ Source0: %{name}-%{version}.tar.gz
%define tizen_feature_wi_fi_support 0
%define tizen_feature_tv_display_support 1
%define tizen_feature_tvchannel_support 1
+%define tizen_feature_tvwindow_support 1
%endif # tizen_profile_tv
@@ -232,6 +233,10 @@ Requires: sync-agent
BuildRequires: pkgconfig(tvs-api)
%endif
+%if 0%{?tizen_feature_tvwindow_support}
+BuildRequires: pkgconfig(tvs-api)
+%endif
+
%if 0%{?tizen_feature_exif_support}
BuildRequires: pkgconfig(libexif)
%endif
diff --git a/src/tizen-wrt.gyp b/src/tizen-wrt.gyp
index a57d1041..c7aa0752 100644
--- a/src/tizen-wrt.gyp
+++ b/src/tizen-wrt.gyp
@@ -49,6 +49,7 @@
'tvaudio/tvaudio.gyp:*',
'tvchannel/tvchannel.gyp:*',
'tvinputdevice/tvinputdevice.gyp:*',
+ 'tvwindow/tvwindow.gyp:*',
],
},
], # end tv
diff --git a/src/tvwindow/tvwindow.gyp b/src/tvwindow/tvwindow.gyp
new file mode 100644
index 00000000..3e0619ae
--- /dev/null
+++ b/src/tvwindow/tvwindow.gyp
@@ -0,0 +1,31 @@
+{
+ 'includes':[
+ '../common/common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'tizen_tvwindow',
+ 'type': 'loadable_module',
+ 'variables': {
+ 'packages': [
+ 'tvs-api',
+ ],
+ },
+ 'dependencies': [
+ '../tizen/tizen.gyp:tizen',
+ ],
+ 'includes': [
+ '../common/pkg-config.gypi',
+ ],
+ 'sources': [
+ 'tvwindow_api.js',
+ 'tvwindow_extension.cc',
+ 'tvwindow_extension.h',
+ 'tvwindow_manager.cc',
+ 'tvwindow_manager.h',
+ 'tvwindow_instance.cc',
+ 'tvwindow_instance.h',
+ ],
+ },
+ ],
+}
diff --git a/src/tvwindow/tvwindow_api.js b/src/tvwindow/tvwindow_api.js
new file mode 100644
index 00000000..fc90d385
--- /dev/null
+++ b/src/tvwindow/tvwindow_api.js
@@ -0,0 +1,47 @@
+//Copyright (c) 2013 Intel Corporation. All rights reserved.
+//Use of this source code is governed by a BSD-style license that can be
+//found in the LICENSE file.
+
+extension.setMessageListener(function(msg) {
+
+});
+
+//TVWindowManager interface
+function TVWindowManager() {
+ if (!(this instanceof TVWindowManager)) {
+ throw new TypeError;
+ }
+}
+
+
+TVWindowManager.prototype.getAvailableWindows = function(successCallback, errorCallback)
+ {
+ return undefined;
+};
+
+TVWindowManager.prototype.setSource = function(videosource, successCallback, errorCallback, type)
+ {
+ return undefined;
+};
+
+TVWindowManager.prototype.getSource = function(type)
+ {
+ return undefined;
+};
+
+TVWindowManager.prototype.show = function(successCallback, errorCallback, rectangle, type)
+ {
+ return undefined;
+};
+
+TVWindowManager.prototype.hide = function(successCallback, errorCallback, type)
+ {
+ return undefined;
+};
+
+TVWindowManager.prototype.getRect = function(successCallback, errorCallback, unit, type)
+ {
+ return undefined;
+};
+
+exports = new TVWindowManager();
diff --git a/src/tvwindow/tvwindow_extension.cc b/src/tvwindow/tvwindow_extension.cc
new file mode 100644
index 00000000..ab42886f
--- /dev/null
+++ b/src/tvwindow/tvwindow_extension.cc
@@ -0,0 +1,36 @@
+// Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "tvwindow/tvwindow_extension.h"
+#include "tvwindow/tvwindow_instance.h"
+
+// This will be generated from datasync_api.js.
+extern const char kSource_tvwindow_api[];
+
+namespace extension {
+namespace tvwindow {
+
+TVWindowExtension::TVWindowExtension() {
+ SetExtensionName("tizen.tvwindow");
+ SetJavaScriptAPI(kSource_tvwindow_api);
+}
+
+TVWindowExtension::~TVWindowExtension() {}
+
+TVWindowManager& TVWindowExtension::manager() {
+ // Initialize API on first request
+ return TVWindowManager::getInstance();
+}
+
+common::Instance* TVWindowExtension::CreateInstance() {
+ return new TVWindowInstance(*this);
+}
+
+} // namespace tvwindow
+} // namespace extension
+
+// entry point
+common::Extension* CreateExtension() {
+ return new extension::tvwindow::TVWindowExtension;
+}
diff --git a/src/tvwindow/tvwindow_extension.h b/src/tvwindow/tvwindow_extension.h
new file mode 100644
index 00000000..abdf270c
--- /dev/null
+++ b/src/tvwindow/tvwindow_extension.h
@@ -0,0 +1,29 @@
+// Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SRC_TVWINDOW_TVWINDOW_EXTENSION_H_
+#define SRC_TVWINDOW_TVWINDOW_EXTENSION_H_
+
+#include "common/extension.h"
+#include "tvwindow/tvwindow_manager.h"
+
+namespace extension {
+namespace tvwindow {
+
+class TVWindowExtension : public common::Extension {
+ public:
+ TVWindowExtension();
+ virtual ~TVWindowExtension();
+
+ TVWindowManager& manager();
+
+ private:
+ // common::Extension implementation.
+ virtual common::Instance* CreateInstance();
+};
+
+} // namespace tvwindow
+} // namespace extension
+
+#endif // SRC_TVWINDOW_TVWINDOW_EXTENSION_H_
diff --git a/src/tvwindow/tvwindow_instance.cc b/src/tvwindow/tvwindow_instance.cc
new file mode 100644
index 00000000..a5261872
--- /dev/null
+++ b/src/tvwindow/tvwindow_instance.cc
@@ -0,0 +1,35 @@
+// Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "tvwindow/tvwindow_instance.h"
+#include "common/logger.h"
+#include "tizen/tizen.h"
+#include "common/picojson.h"
+
+namespace extension {
+namespace tvwindow {
+
+TVWindowInstance::TVWindowInstance(TVWindowExtension const& extension) {
+ LOGD("Entered");
+}
+
+TVWindowInstance::~TVWindowInstance() {
+ LOGD("Entered");
+}
+
+void TVWindowInstance::HandleMessage(const char* msg) {
+ // this is stub, no async messages
+ LOGD("Entered");
+}
+
+void TVWindowInstance::HandleSyncMessage(const char* msg) {
+ LOGD("Entered %s", msg);
+ picojson::object answer;
+ answer["answer"] = picojson::value(true);
+
+ SendSyncReply(picojson::value(answer).serialize().c_str());
+}
+
+} // namespace tvwindow
+} // namespace extension
diff --git a/src/tvwindow/tvwindow_instance.h b/src/tvwindow/tvwindow_instance.h
new file mode 100644
index 00000000..058b3dce
--- /dev/null
+++ b/src/tvwindow/tvwindow_instance.h
@@ -0,0 +1,31 @@
+// Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SRC_TVWINDOW_TVWINDOW_INSTANCE_H_
+#define SRC_TVWINDOW_TVWINDOW_INSTANCE_H_
+
+#include
+
+#include "common/extension.h"
+#include "common/picojson.h"
+
+#include "tvwindow/tvwindow_extension.h"
+
+namespace extension {
+namespace tvwindow {
+
+class TVWindowInstance : public common::ParsedInstance {
+ public:
+ explicit TVWindowInstance(TVWindowExtension const& extension);
+ virtual ~TVWindowInstance();
+
+ private:
+ virtual void HandleMessage(const char* msg);
+ virtual void HandleSyncMessage(const char* msg);
+};
+
+} // namespace tvwindow
+} // namespace extension
+
+#endif // SRC_TVWINDOW_TVWINDOW_INSTANCE_H_
diff --git a/src/tvwindow/tvwindow_manager.cc b/src/tvwindow/tvwindow_manager.cc
new file mode 100644
index 00000000..64631d5a
--- /dev/null
+++ b/src/tvwindow/tvwindow_manager.cc
@@ -0,0 +1,19 @@
+// Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "tvwindow/tvwindow_manager.h"
+
+namespace extension {
+namespace tvwindow {
+
+TVWindowManager::TVWindowManager() {
+ LOGD("Enter");
+}
+
+TVWindowManager& TVWindowManager::getInstance() {
+ static TVWindowManager manager;
+ return manager;
+}
+} // namespace tvwindow
+} // namespace extension
diff --git a/src/tvwindow/tvwindow_manager.h b/src/tvwindow/tvwindow_manager.h
new file mode 100644
index 00000000..8185cdb7
--- /dev/null
+++ b/src/tvwindow/tvwindow_manager.h
@@ -0,0 +1,28 @@
+// Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SRC_TVWINDOW_TVWINDOW_MANAGER_H_
+#define SRC_TVWINDOW_TVWINDOW_MANAGER_H_
+
+#include "common/logger.h"
+
+namespace extension {
+namespace tvwindow {
+
+class TVWindowManager {
+ public:
+ static TVWindowManager& getInstance();
+
+ private:
+ TVWindowManager();
+ // Not copyable, assignable, movable
+ TVWindowManager(TVWindowManager const&);
+ void operator=(TVWindowManager const&);
+ TVWindowManager(TVWindowManager &&);
+};
+
+} // namespace tvwindow
+} // namespace extension
+
+#endif // SRC_TVWINDOW_TVWINDOW_MANAGER_H_
--
2.34.1