summaryrefslogtreecommitdiff
path: root/uui/source/iahndl-cookies.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'uui/source/iahndl-cookies.cxx')
-rw-r--r--uui/source/iahndl-cookies.cxx195
1 files changed, 0 insertions, 195 deletions
diff --git a/uui/source/iahndl-cookies.cxx b/uui/source/iahndl-cookies.cxx
deleted file mode 100644
index 6bfeb8be2258..000000000000
--- a/uui/source/iahndl-cookies.cxx
+++ /dev/null
@@ -1,195 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include "com/sun/star/ucb/HandleCookiesRequest.hpp"
-#include "com/sun/star/ucb/XInteractionCookieHandling.hpp"
-#include "com/sun/star/task/XInteractionRequest.hpp"
-
-#include "osl/mutex.hxx"
-#include "svl/httpcook.hxx"
-#include "vcl/svapp.hxx"
-
-#include "cookiedg.hxx"
-
-#include "iahndl.hxx"
-
-using namespace com::sun::star;
-
-namespace {
-
-void
-executeCookieDialog(Window * pParent, CntHTTPCookieRequest & rRequest)
- SAL_THROW((uno::RuntimeException))
-{
- try
- {
- SolarMutexGuard aGuard;
-
- std::auto_ptr< ResMgr > xManager(ResMgr::CreateResMgr("uui"));
- std::auto_ptr< CookiesDialog > xDialog(
- new CookiesDialog(pParent, &rRequest, xManager.get()));
- xDialog->Execute();
- }
- catch (std::bad_alloc const &)
- {
- throw uno::RuntimeException(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("out of memory")),
- uno::Reference< uno::XInterface>());
- }
-}
-
-void
-handleCookiesRequest_(
- Window * pParent,
- ucb::HandleCookiesRequest const & rRequest,
- uno::Sequence< uno::Reference< task::XInteractionContinuation > > const &
- rContinuations)
- SAL_THROW((uno::RuntimeException))
-{
- CntHTTPCookieList_impl aCookies;
- for (sal_Int32 i = 0; i < rRequest.Cookies.getLength(); ++i)
- {
- try
- {
- std::auto_ptr< CntHTTPCookie > xCookie(new CntHTTPCookie);
- xCookie->m_aName = UniString(rRequest.Cookies[i].Name);
- xCookie->m_aValue = UniString(rRequest.Cookies[i].Value);
- xCookie->m_aDomain = UniString(rRequest.Cookies[i].Domain);
- xCookie->m_aPath = UniString(rRequest.Cookies[i].Path);
- xCookie->m_aExpires
- = DateTime(Date(rRequest.Cookies[i].Expires.Day,
- rRequest.Cookies[i].Expires.Month,
- rRequest.Cookies[i].Expires.Year),
- Time(rRequest.Cookies[i].Expires.Hours,
- rRequest.Cookies[i].Expires.Minutes,
- rRequest.Cookies[i].Expires.Seconds,
- rRequest.Cookies[i].Expires.HundredthSeconds));
- xCookie->m_nFlags
- = rRequest.Cookies[i].Secure ? CNTHTTP_COOKIE_FLAG_SECURE : 0;
- switch (rRequest.Cookies[i].Policy)
- {
- case ucb::CookiePolicy_CONFIRM:
- xCookie->m_nPolicy = CNTHTTP_COOKIE_POLICY_INTERACTIVE;
- break;
-
- case ucb::CookiePolicy_ACCEPT:
- xCookie->m_nPolicy = CNTHTTP_COOKIE_POLICY_ACCEPTED;
- break;
-
- case ucb::CookiePolicy_IGNORE:
- xCookie->m_nPolicy = CNTHTTP_COOKIE_POLICY_BANNED;
- break;
-
- default:
- OSL_ASSERT(false);
- break;
- }
- aCookies.push_back( xCookie.get() );
- xCookie.release();
- }
- catch (std::bad_alloc const &)
- {
- throw uno::RuntimeException(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "out of memory")),
- uno::Reference< uno::XInterface >());
- }
- }
-
- CntHTTPCookieRequest
- aRequest(rRequest.URL,
- aCookies,
- rRequest.Request == ucb::CookieRequest_RECEIVE
- ? CNTHTTP_COOKIE_REQUEST_RECV
- : CNTHTTP_COOKIE_REQUEST_SEND);
- executeCookieDialog(pParent, aRequest);
- for (sal_Int32 i = 0; i < rContinuations.getLength(); ++i)
- {
- uno::Reference< ucb::XInteractionCookieHandling >
- xCookieHandling(rContinuations[i], uno::UNO_QUERY);
- if (xCookieHandling.is())
- {
- switch (aRequest.m_nRet)
- {
- case CNTHTTP_COOKIE_POLICY_INTERACTIVE:
- xCookieHandling->
- setGeneralPolicy(ucb::CookiePolicy_CONFIRM);
- break;
-
- case CNTHTTP_COOKIE_POLICY_ACCEPTED:
- xCookieHandling->
- setGeneralPolicy(ucb::CookiePolicy_ACCEPT);
- break;
-
- case CNTHTTP_COOKIE_POLICY_BANNED:
- xCookieHandling->
- setGeneralPolicy(ucb::CookiePolicy_IGNORE);
- break;
- }
- for (sal_Int32 j = 0; j < rRequest.Cookies.getLength(); ++j)
- if (rRequest.Cookies[j].Policy
- == ucb::CookiePolicy_CONFIRM)
- switch ( (aCookies)[ j ]->m_nPolicy )
- {
- case CNTHTTP_COOKIE_POLICY_ACCEPTED:
- xCookieHandling->
- setSpecificPolicy(rRequest.Cookies[j], true);
- break;
-
- case CNTHTTP_COOKIE_POLICY_BANNED:
- xCookieHandling->
- setSpecificPolicy(rRequest.Cookies[j], false);
- break;
- }
- xCookieHandling->select();
- break;
- }
- }
-}
-
-} // namespace
-
-bool
-UUIInteractionHelper::handleCookiesRequest(
- uno::Reference< task::XInteractionRequest > const & rRequest)
- SAL_THROW((uno::RuntimeException))
-{
- uno::Any aAnyRequest(rRequest->getRequest());
-
- ucb::HandleCookiesRequest aCookiesRequest;
- if (aAnyRequest >>= aCookiesRequest)
- {
- handleCookiesRequest_(getParentProperty(),
- aCookiesRequest,
- rRequest->getContinuations());
- return true;
- }
- return false;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */