Update with current status
[gnash.git] / libbase / URLAccessManager.h
bloba445dd85f4fac20d037ba8863a66a2c19e645e85
1 //
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 // Free Software Foundation, Inc
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 #ifndef GNASH_URLACCESSMANAGER_H
20 #define GNASH_URLACCESSMANAGER_H
22 #include <string>
24 #include "dsodefs.h"
26 // Forward declarations
27 namespace gnash {
28 class URL;
31 namespace gnash {
33 /// Manage a list of URL access configuration
34 // stuff for an URLAccessManager
35 namespace URLAccessManager {
37 /// Return true if access to given url is allowed, false otherwise.
39 /// Will use rc file for whitelist/blacklist and localSandbox.
40 ///
41 /// @param url
42 /// The url to check
43 ///
44 /// @param baseurl
45 /// The originating url, only used for local urls and only
46 /// for protocol checking (ie: a non-local originating url
47 /// will not be allowed to load a local url)
48 ///
49 bool allow(const URL& url, const URL& baseurl);
51 //bool allowHost(const std::string& str);
53 // Used by XMLSocket::connect (and others?)
54 DSOEXPORT bool allowXMLSocket(const std::string& str, short port);
56 } // AccessManager
58 } // namespace gnash
60 #endif // _GNASH_URLACCESSMANAGER_H