diff options
author | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-23 06:58:45 +0000 |
---|---|---|
committer | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-23 06:58:45 +0000 |
commit | 232005abbc32dfaf8498ef8ee9c15e4f30d1e7e7 (patch) | |
tree | 90aca67984c699badc26fb4553651a6c8b272810 /url/url_parse.h | |
parent | bf911527b7e20eecef2f24ab3bfe05b723f585c1 (diff) | |
download | chromium_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.h | 104 |
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 |