remote/network/RemoteCookieVisitor.cpp (55 lines of code) (raw):

#include "RemoteCookieVisitor.h" RemoteCookieVisitor::RemoteCookieVisitor(std::shared_ptr<ServerHandlerContext> service, thrift_codegen::RObject peer) : RemoteJavaObject<RemoteCookieVisitor>( service, peer.objId, [=](JavaService service) { service->CookieVisitor_Dispose(myPeerId); }) {} static int64_t toTimestamp(const CefBaseTime & time) { CefTime cef_time; cef_time_from_basetime(time, &cef_time); double timestamp = cef_time.GetDoubleT()*1000; return (int64_t)timestamp; } static void fromTimestamp(int64_t timestamp, CefBaseTime* result) { CefTime cef_time; cef_time.SetDoubleT((double)(timestamp/1000)); cef_time_to_basetime(&cef_time, result); } thrift_codegen::Cookie RemoteCookieVisitor::toThriftCookie(const CefCookie& c) { ::thrift_codegen::Cookie cookie; CefString tmp(&c.name); cookie.__set_name(CefString(&c.name).ToString()); cookie.__set_value(CefString(&c.value).ToString()); cookie.__set_domain(CefString(&c.domain).ToString()); cookie.__set_path(CefString(&c.path).ToString()); cookie.__set_secure(c.secure); cookie.__set_httponly(c.httponly); cookie.__set_creation(toTimestamp(c.creation)); cookie.__set_lastAccess(toTimestamp(c.last_access)); if (c.has_expires) cookie.__set_expires(toTimestamp(c.expires)); return cookie; } void RemoteCookieVisitor::toCefCookie(const thrift_codegen::Cookie& cookie, CefCookie& out) { CefString(&out.name) = cookie.name; CefString(&out.value) = cookie.value; CefString(&out.domain) = cookie.domain; CefString(&out.path) = cookie.path; out.secure = cookie.secure; out.httponly = cookie.httponly; CefBaseTime creation, lastAccess, expires; fromTimestamp(cookie.creation, &creation); fromTimestamp(cookie.lastAccess, &lastAccess); out.creation = creation; out.last_access = lastAccess; if (cookie.__isset.expires) { fromTimestamp(cookie.expires, &expires); out.expires = expires; } } bool RemoteCookieVisitor::Visit(const CefCookie& c, int count, int total, bool& deleteCookie) { return myCtx->javaService()->exec<bool>([&](JavaService s){ return s->CookieVisitor_Visit(myPeerId, toThriftCookie(c), count, total); }, false); }