#ifndef WRT_SRC_IPC_MESSAGE_SUPPORT
#define WRT_SRC_IPC_MESSAGE_SUPPORT
-#include <memory>
-#include <map>
#include <string>
#include <WKBundle.h>
-#include <EWebKit2.h>
-
-typedef void (*AsyncReplyCallback)(unsigned int, void*, const char*);
namespace IPCMessageSupport {
-
-static const char * const REPLY_ASYNC = "ToInjectedBundle::REPLY_ASYNC";
-static const char * const TIZEN_CHANGE_USERAGENT = "tizen://changeUA";
-static const char * const TIZEN_DELETE_ALL_COOKIES = "tizen://deleteAllCookies";
-
-class AsyncConnection
-{
- public:
- AsyncReplyCallback replyCallback;
- void* data;
-
- AsyncConnection(AsyncReplyCallback r, void* d) :
- replyCallback(r),
- data(d)
- {
- }
-};
-
-typedef std::shared_ptr<AsyncConnection> AsyncConnectionPtr;
-typedef std::map<unsigned int, AsyncConnectionPtr> AsyncConnectionMap;
-
-class AsyncConnectionManager
-{
- private:
- AsyncConnectionMap m_connectionMap;
-
- public:
- ~AsyncConnectionManager();
-
- // Singleton
- static AsyncConnectionManager &instance();
-
- int addConnection(AsyncConnectionPtr connection);
- bool removeConnection(int handle);
- AsyncConnectionPtr getConnection(int handle);
-
-};
-
void setWKBundleRef(WKBundleRef bundleRef);
void setXwindowHandle(unsigned int handle);
const char* sendMessageToUiProcess(const char* name, const char* body);
-int sendAsyncMessageToUiProcess(const char* name, const char* body, AsyncReplyCallback replyCallback, void* data);
-void* ignoreAsyncMessageReply(int handle);
-void replyAsyncMessageToWebProcess(Ewk_Context* ewkContext, int handle, const char* body);
}
#endif // WRT_SRC_IPC_MESSAGE_SUPPORT
\ No newline at end of file