'target_name': 'tizen_application',
'type': 'loadable_module',
'sources': [
- '../common/extension.cc',
- '../common/extension.h',
'application.cc',
'application.h',
'application_api.js',
'../common/pkg-config.gypi',
],
'sources': [
- '../common/extension.cc',
- '../common/extension.h',
'bluetooth_api.js',
'bluetooth_extension.cc',
'bluetooth_extension.h',
'bookmark_extension.h',
'bookmark_instance.cc',
'bookmark_instance.h',
- '../common/extension.h',
- '../common/extension.cc',
],
# Evas.h is used in favorites.h.
'callhistory.h',
'callhistory_mobile.cc',
'callhistory_props.h',
- '../common/extension.cc',
- '../common/extension.h',
],
}],
],
'<(SHARED_INTERMEDIATE_DIR)',
],
'sources': [
- 'extension_adapter.cc',
- 'extension_adapter.h',
+ 'extension.cc',
+ 'extension.h',
'picojson.h',
'utils.h',
'XW_Extension.h',
+++ /dev/null
-// 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.
-
-#include "common/extension_adapter.h"
-
-#include <iostream>
-#include "common/XW_Extension_EntryPoints.h"
-
-namespace {
-
-XW_Extension g_extension = 0;
-
-const XW_CoreInterface* g_core = NULL;
-const XW_MessagingInterface* g_messaging = NULL;
-const XW_Internal_SyncMessagingInterface* g_sync_messaging = NULL;
-const XW_Internal_EntryPointsInterface* g_entry_points = NULL;
-
-} // namespace
-
-namespace internal {
-
-int32_t InitializeExtension(XW_Extension extension,
- XW_GetInterface get_interface,
- const char* name,
- const char* api,
- const char** entry_points,
- XW_CreatedInstanceCallback created,
- XW_DestroyedInstanceCallback destroyed,
- XW_HandleMessageCallback handle_message,
- XW_HandleSyncMessageCallback handle_sync_message) {
- if (g_extension != 0) {
- std::cerr << "Can't initialize same extension multiple times!\n";
- return XW_ERROR;
- }
-
- g_extension = extension;
-
- g_core = reinterpret_cast<const XW_CoreInterface*>(
- get_interface(XW_CORE_INTERFACE));
- if (!g_core) {
- std::cerr << "Can't initialize extension: error getting Core interface.\n";
- return XW_ERROR;
- }
- g_core->SetExtensionName(extension, name);
- g_core->SetJavaScriptAPI(extension, api);
- g_core->RegisterInstanceCallbacks(extension, created, destroyed);
-
- g_messaging = reinterpret_cast<const XW_MessagingInterface*>(
- get_interface(XW_MESSAGING_INTERFACE));
- if (!g_messaging) {
- std::cerr <<
- "Can't initialize extension: error getting Messaging interface.\n";
- return XW_ERROR;
- }
- g_messaging->Register(extension, handle_message);
-
- g_sync_messaging =
- reinterpret_cast<const XW_Internal_SyncMessagingInterface*>(
- get_interface(XW_INTERNAL_SYNC_MESSAGING_INTERFACE));
- if (!g_sync_messaging) {
- std::cerr <<
- "Can't initialize extension: error getting Messaging interface.\n";
- return XW_ERROR;
- }
- g_sync_messaging->Register(extension, handle_sync_message);
-
- g_entry_points = reinterpret_cast<const XW_Internal_EntryPointsInterface*>(
- get_interface(XW_INTERNAL_ENTRY_POINTS_INTERFACE));
- if (!g_entry_points) {
- std::cerr << "NOTE: Entry points interface not available in this version "
- << "of Crosswalk, ignoring entry point data for extensions.\n";
- } else {
- g_entry_points->SetExtraJSEntryPoints(extension, entry_points);
- }
-
- return XW_OK;
-}
-
-void PostMessage(XW_Instance instance, const char* message) {
- g_messaging->PostMessage(instance, message);
-}
-
-void SetSyncReply(XW_Instance instance, const char* reply) {
- g_sync_messaging->SetSyncReply(instance, reply);
-}
-
-} // namespace internal
+++ /dev/null
-// 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.
-
-#ifndef COMMON_EXTENSION_ADAPTER_H_
-#define COMMON_EXTENSION_ADAPTER_H_
-
-#include <cstdlib>
-#include <map>
-#include "common/XW_Extension.h"
-#include "common/XW_Extension_SyncMessage.h"
-
-namespace internal {
-
-int32_t InitializeExtension(XW_Extension extension,
- XW_GetInterface get_interface,
- const char* name,
- const char* api,
- const char** entry_points,
- XW_CreatedInstanceCallback created,
- XW_DestroyedInstanceCallback destroyed,
- XW_HandleMessageCallback handle_message,
- XW_HandleSyncMessageCallback handle_sync_message);
-
-void PostMessage(XW_Instance instance, const char* message);
-void SetSyncReply(XW_Instance instance, const char* reply);
-
-} // namespace internal
-
-class ContextAPI {
- public:
- explicit ContextAPI(XW_Instance instance) : instance_(instance) {}
-
- void PostMessage(const char* message) {
- internal::PostMessage(instance_, message);
- }
- void SetSyncReply(const char* reply) {
- internal::SetSyncReply(instance_, reply);
- }
-
- private:
- XW_Instance instance_;
-};
-
-template <class T>
-class ExtensionAdapter {
- public:
- static int32_t Initialize(XW_Extension extension,
- XW_GetInterface get_interface);
-
- private:
- static void DidCreateInstance(XW_Instance instance);
- static void DidDestroyInstance(XW_Instance instance);
-
- static void HandleMessage(XW_Instance instance, const char* message);
- static void HandleSyncMessage(XW_Instance instance, const char* message);
-
- typedef std::map<XW_Instance, T*> InstanceMap;
- static InstanceMap g_instances;
-};
-
-template <class T>
-typename ExtensionAdapter<T>::InstanceMap ExtensionAdapter<T>::g_instances;
-
-template <class T>
-int32_t ExtensionAdapter<T>::Initialize(XW_Extension extension,
- XW_GetInterface get_interface) {
- return internal::InitializeExtension(
- extension, get_interface, T::name, T::GetJavaScript(), T::entry_points,
- DidCreateInstance, DidDestroyInstance, HandleMessage, HandleSyncMessage);
-}
-
-template <class T>
-void ExtensionAdapter<T>::DidCreateInstance(XW_Instance instance) {
- g_instances[instance] = new T(new ContextAPI(instance));
-}
-
-template <class T>
-void ExtensionAdapter<T>::DidDestroyInstance(XW_Instance instance) {
- delete g_instances[instance];
- g_instances.erase(instance);
-}
-
-template <class T>
-void ExtensionAdapter<T>::HandleMessage(XW_Instance instance,
- const char* message) {
- g_instances[instance]->HandleMessage(message);
-}
-
-
-template <class T>
-void ExtensionAdapter<T>::HandleSyncMessage(XW_Instance instance,
- const char* message) {
- g_instances[instance]->HandleSyncMessage(message);
-}
-
-#define DEFINE_XWALK_EXTENSION(NAME) \
- int32_t XW_Initialize(XW_Extension extension, \
- XW_GetInterface get_interface) { \
- return ExtensionAdapter<NAME>::Initialize(extension, get_interface); \
- }
-
-#endif // COMMON_EXTENSION_ADAPTER_H_
'content_filter.h',
'content_instance.cc',
'content_instance.h',
- '../common/extension.cc',
- '../common/extension.h',
],
'includes': [
'../common/pkg-config.gypi',
'target_name': 'tizen_download',
'type': 'loadable_module',
'sources': [
- '../common/extension.cc',
- '../common/extension.h',
'download_api.js',
'download_extension.cc',
'download_extension.h',
],
},
'sources': [
- '../common/extension.cc',
- '../common/extension.h',
'filesystem_api.js',
'filesystem_extension.cc',
'filesystem_extension.h',
'mediaserver_instance.h',
'mediaserver_manager.cc',
'mediaserver_manager.h',
- '../common/extension.cc',
- '../common/extension.h',
],
'includes': [
'../common/pkg-config.gypi',
'messageport_extension.h',
'messageport_instance.cc',
'messageport_instance.h',
- '../common/extension.cc',
- '../common/extension.h',
],
},
],
'target_name': 'tizen_network_bearer_selection',
'type': 'loadable_module',
'sources': [
- '../common/extension.cc',
- '../common/extension.h',
'network_bearer_selection_api.js',
'network_bearer_selection_connection_tizen.cc',
'network_bearer_selection_connection_tizen.h',
'notification_parameters.h',
'picojson_helpers.cc',
'picojson_helpers.h',
- '../common/extension.h',
- '../common/extension.cc',
],
'conditions': [
'power_instance_tizen.cc',
'power_instance_tizen.h',
'power_types.h',
- '../common/extension.h',
- '../common/extension.cc',
],
'includes': [
'../common/pkg-config.gypi',
'speech_extension.h',
'speech_instance.cc',
'speech_instance.h',
- '../common/extension.cc',
- '../common/extension.h',
],
},
{
'system_info_wifi_network.h',
'system_info_wifi_network_desktop.cc',
'system_info_wifi_network_tizen.cc',
- '../common/extension.cc',
- '../common/extension.h',
],
},
],
'system_setting_instance.h',
'system_setting_instance_desktop.cc',
'system_setting_instance_tizen.cc',
- '../common/extension.h',
- '../common/extension.cc',
],
'conditions': [
['tizen == 1', {
'time_extension.h',
'time_instance.cc',
'time_instance.h',
- '../common/extension.h',
- '../common/extension.cc',
],
'conditions': [
[ 'tizen == 1', {
'tizen_api.js',
'tizen_extension.cc',
'tizen_extension.h',
- '../common/extension.cc',
- '../common/extension.h',
],
},
],
'utils_api.js',
'utils_extension.cc',
'utils_extension.h',
- '../common/extension.cc',
- '../common/extension.h',
],
},
],