const char BluetoothContext::name[] = "tizen.bluetooth";
+const char* BluetoothContext::entry_points[] = { NULL };
+
extern const char kSource_bluetooth_api[];
const char* BluetoothContext::GetJavaScript() {
// ExtensionAdapter implementation.
static const char name[];
static const char* GetJavaScript();
+ static const char* entry_points[];
void HandleMessage(const char* message);
void HandleSyncMessage(const char* message);
#include "common/extension_adapter.h"
#include <iostream>
+#include "common/XW_Extension_EntryPoints.h"
namespace {
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
XW_GetInterface get_interface,
const char* name,
const char* api,
+ const char** entry_points,
XW_CreatedInstanceCallback created,
XW_DestroyedInstanceCallback destroyed,
XW_HandleMessageCallback handle_message,
}
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;
}
namespace internal {
int32_t InitializeExtension(XW_Extension extension,
- XW_GetInterface get_interface,
- const char* name,
- const char* api,
- XW_CreatedInstanceCallback created,
- XW_DestroyedInstanceCallback destroyed,
- XW_HandleMessageCallback handle_message,
- XW_HandleSyncMessageCallback handle_sync_message);
+ 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);
int32_t ExtensionAdapter<T>::Initialize(XW_Extension extension,
XW_GetInterface get_interface) {
return internal::InitializeExtension(
- extension, get_interface, T::name, T::GetJavaScript(),
+ extension, get_interface, T::name, T::GetJavaScript(), T::entry_points,
DidCreateInstance, DidDestroyInstance, HandleMessage, HandleSyncMessage);
}
const char DownloadContext::name[] = "tizen.download";
+const char* DownloadContext::entry_points[] = {
+ "tizen.DownloadRequest",
+ NULL
+};
+
// This will be generated from download_api.js.
extern const char kSource_download_api[];
// ExtensionAdapter implementation.
static const char name[];
static const char* GetJavaScript();
+ static const char* entry_points[];
void HandleMessage(const char* message);
void HandleSyncMessage(const char* message);
const char FilesystemContext::name[] = "tizen.filesystem";
+const char* FilesystemContext::entry_points[] = { NULL };
+
extern const char kSource_filesystem_api[];
const char* FilesystemContext::GetJavaScript() {
/* ExtensionAdapter implementation */
static const char name[];
static const char* GetJavaScript();
+ static const char* entry_points[];
void HandleMessage(const char* message);
void HandleSyncMessage(const char* message);
const char NetworkBearerSelectionContext::name[] =
"tizen.networkbearerselection";
+const char* NetworkBearerSelectionContext::entry_points[] = { NULL };
+
const char* NetworkBearerSelectionContext::GetJavaScript() {
return kSource_network_bearer_selection_api;
}
// ExtensionAdapter implementation.
static const char name[];
static const char* GetJavaScript();
+ static const char* entry_points[];
void HandleMessage(const char* message);
void HandleSyncMessage(const char* message) {}
}
const char SystemInfoContext::name[] = "tizen.systeminfo";
+const char* SystemInfoContext::entry_points[] = { NULL };
// This will be generated from system_info_api.js.
extern const char kSource_system_info_api[];
// ExtensionAdapter implementation.
static const char name[];
static const char* GetJavaScript();
+ static const char* entry_points[];
static SysInfoClassMap classes_;
void HandleMessage(const char* message);
void HandleSyncMessage(const char* message);