summaryrefslogtreecommitdiffstats
path: root/url/url_parse.h
diff options
context:
space:
mode:
authorthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-23 06:58:45 +0000
committerthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-23 06:58:45 +0000
commit232005abbc32dfaf8498ef8ee9c15e4f30d1e7e7 (patch)
tree90aca67984c699badc26fb4553651a6c8b272810 /url/url_parse.h
parentbf911527b7e20eecef2f24ab3bfe05b723f585c1 (diff)
downloadchromium_src-232005abbc32dfaf8498ef8ee9c15e4f30d1e7e7.zip
chromium_src-232005abbc32dfaf8498ef8ee9c15e4f30d1e7e7.tar.gz
chromium_src-232005abbc32dfaf8498ef8ee9c15e4f30d1e7e7.tar.bz2
Make the copy of GURL in src/url buildable as a component build.
BUG=229660 Review URL: https://chromiumcodereview.appspot.com/15255009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201723 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'url/url_parse.h')
-rw-r--r--url/url_parse.h104
1 files changed, 56 insertions, 48 deletions
diff --git a/url/url_parse.h b/url/url_parse.h
index 5c3643f..2170904 100644
--- a/url/url_parse.h
+++ b/url/url_parse.h
@@ -9,6 +9,7 @@
#include "base/basictypes.h"
#include "base/string16.h"
+#include "url/url_export.h"
namespace url_parse {
@@ -80,7 +81,7 @@ inline Component MakeRange(int begin, int end) {
// else
// url_parse::ParsePathURL(url, url_len, &parsed);
//
-struct Parsed {
+struct URL_EXPORT Parsed {
// Identifies different components.
enum ComponentType {
SCHEME,
@@ -134,8 +135,7 @@ struct Parsed {
// *QUERY: 14 15 <-
// *REF: 20 20
//
- int CountCharactersBefore(ComponentType type,
- bool include_delimiter) const;
+ int CountCharactersBefore(ComponentType type, bool include_delimiter) const;
// Scheme without the colon: "http://foo"/ would have a scheme of "http".
// The length will be -1 if no scheme is specified ("foo.com"), or 0 if there
@@ -220,32 +220,36 @@ struct Parsed {
// StandardURL is for when the scheme is known to be one that has an
// authority (host) like "http". This function will not handle weird ones
// like "about:" and "javascript:", or do the right thing for "file:" URLs.
-void ParseStandardURL(const char* url, int url_len, Parsed* parsed);
-void ParseStandardURL(const char16* url, int url_len, Parsed* parsed);
+URL_EXPORT void ParseStandardURL(const char* url,
+ int url_len,
+ Parsed* parsed);
+URL_EXPORT void ParseStandardURL(const char16* url,
+ int url_len,
+ Parsed* parsed);
// PathURL is for when the scheme is known not to have an authority (host)
// section but that aren't file URLs either. The scheme is parsed, and
// everything after the scheme is considered as the path. This is used for
// things like "about:" and "javascript:"
-void ParsePathURL(const char* url, int url_len, Parsed* parsed);
-void ParsePathURL(const char16* url, int url_len, Parsed* parsed);
+URL_EXPORT void ParsePathURL(const char* url, int url_len, Parsed* parsed);
+URL_EXPORT void ParsePathURL(const char16* url, int url_len, Parsed* parsed);
// FileURL is for file URLs. There are some special rules for interpreting
// these.
-void ParseFileURL(const char* url, int url_len, Parsed* parsed);
-void ParseFileURL(const char16* url, int url_len, Parsed* parsed);
+URL_EXPORT void ParseFileURL(const char* url, int url_len, Parsed* parsed);
+URL_EXPORT void ParseFileURL(const char16* url, int url_len, Parsed* parsed);
// Filesystem URLs are structured differently than other URLs.
-void ParseFileSystemURL(const char* url,
- int url_len,
- Parsed* parsed);
-void ParseFileSystemURL(const char16* url,
- int url_len,
- Parsed* parsed);
+URL_EXPORT void ParseFileSystemURL(const char* url,
+ int url_len,
+ Parsed* parsed);
+URL_EXPORT void ParseFileSystemURL(const char16* url,
+ int url_len,
+ Parsed* parsed);
// MailtoURL is for mailto: urls. They are made up scheme,path,query
-void ParseMailtoURL(const char* url, int url_len, Parsed* parsed);
-void ParseMailtoURL(const char16* url, int url_len, Parsed* parsed);
+URL_EXPORT void ParseMailtoURL(const char* url, int url_len, Parsed* parsed);
+URL_EXPORT void ParseMailtoURL(const char16* url, int url_len, Parsed* parsed);
// Helper functions -----------------------------------------------------------
@@ -269,27 +273,31 @@ void ParseMailtoURL(const char16* url, int url_len, Parsed* parsed);
// end of the string).
//
// The 8-bit version requires UTF-8 encoding.
-bool ExtractScheme(const char* url, int url_len, Component* scheme);
-bool ExtractScheme(const char16* url, int url_len, Component* scheme);
+URL_EXPORT bool ExtractScheme(const char* url,
+ int url_len,
+ Component* scheme);
+URL_EXPORT bool ExtractScheme(const char16* url,
+ int url_len,
+ Component* scheme);
// Returns true if ch is a character that terminates the authority segment
// of a URL.
-bool IsAuthorityTerminator(char16 ch);
+URL_EXPORT bool IsAuthorityTerminator(char16 ch);
// Does a best effort parse of input |spec|, in range |auth|. If a particular
// component is not found, it will be set to invalid.
-void ParseAuthority(const char* spec,
- const Component& auth,
- Component* username,
- Component* password,
- Component* hostname,
- Component* port_num);
-void ParseAuthority(const char16* spec,
- const Component& auth,
- Component* username,
- Component* password,
- Component* hostname,
- Component* port_num);
+URL_EXPORT void ParseAuthority(const char* spec,
+ const Component& auth,
+ Component* username,
+ Component* password,
+ Component* hostname,
+ Component* port_num);
+URL_EXPORT void ParseAuthority(const char16* spec,
+ const Component& auth,
+ Component* username,
+ Component* password,
+ Component* hostname,
+ Component* port_num);
// Computes the integer port value from the given port component. The port
// component should have been identified by one of the init functions on
@@ -298,8 +306,8 @@ void ParseAuthority(const char16* spec,
// The return value will be a positive integer between 0 and 64K, or one of
// the two special values below.
enum SpecialPort { PORT_UNSPECIFIED = -1, PORT_INVALID = -2 };
-int ParsePort(const char* url, const Component& port);
-int ParsePort(const char16* url, const Component& port);
+URL_EXPORT int ParsePort(const char* url, const Component& port);
+URL_EXPORT int ParsePort(const char16* url, const Component& port);
// Extracts the range of the file name in the given url. The path must
// already have been computed by the parse function, and the matching URL
@@ -311,12 +319,12 @@ int ParsePort(const char16* url, const Component& port);
// following the last slash.
//
// The 8-bit version requires UTF-8 encoding.
-void ExtractFileName(const char* url,
- const Component& path,
- Component* file_name);
-void ExtractFileName(const char16* url,
- const Component& path,
- Component* file_name);
+URL_EXPORT void ExtractFileName(const char* url,
+ const Component& path,
+ Component* file_name);
+URL_EXPORT void ExtractFileName(const char16* url,
+ const Component& path,
+ Component* file_name);
// Extract the first key/value from the range defined by |*query|. Updates
// |*query| to start at the end of the extracted key/value pair. This is
@@ -333,14 +341,14 @@ void ExtractFileName(const char16* url,
//
// If no key/value are found |*key| and |*value| will be unchanged and it will
// return false.
-bool ExtractQueryKeyValue(const char* url,
- Component* query,
- Component* key,
- Component* value);
-bool ExtractQueryKeyValue(const char16* url,
- Component* query,
- Component* key,
- Component* value);
+URL_EXPORT bool ExtractQueryKeyValue(const char* url,
+ Component* query,
+ Component* key,
+ Component* value);
+URL_EXPORT bool ExtractQueryKeyValue(const char16* url,
+ Component* query,
+ Component* key,
+ Component* value);
} // namespace url_parse