1 // Copyright 2015 Samsung Electronics Co, Ltd. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef WRT_EXTENSION_EXTENSION_INSTANCE_H_
6 #define WRT_EXTENSION_EXTENSION_INSTANCE_H_
11 #include "extension/xwalk/XW_Extension.h"
17 class ExtensionInstance {
19 typedef std::function<void(const std::string&)> MessageCallback;
21 ExtensionInstance(Extension* extension, XW_Instance xw_instance);
22 virtual ~ExtensionInstance();
24 void HandleMessage(const std::string& msg);
25 void HandleSyncMessage(const std::string& msg);
27 void SetPostMessageCallback(MessageCallback callback);
28 void SetSendSyncReplyCallback(MessageCallback callback);
31 friend class ExtensionAdapter;
33 void PostMessageToJS(const std::string& msg);
34 void SyncReplyToJS(const std::string& reply);
36 Extension* extension_;
37 XW_Instance xw_instance_;
40 MessageCallback post_message_callback_;
41 MessageCallback send_sync_reply_callback_;
46 #endif // WRT_EXTENSION_EXTENSION_INSTANCE_H_