Index: url/url_parse.h |
=================================================================== |
--- url/url_parse.h (revision 202256) |
+++ url/url_parse.h (working copy) |
@@ -9,6 +9,7 @@ |
#include "base/basictypes.h" |
#include "base/string16.h" |
+#include "url/url_export.h" |
namespace url_parse { |
@@ -80,7 +81,7 @@ |
// else |
// url_parse::ParsePathURL(url, url_len, &parsed); |
// |
-struct Parsed { |
+struct URL_EXPORT Parsed { |
// Identifies different components. |
enum ComponentType { |
SCHEME, |
@@ -134,8 +135,7 @@ |
// *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 @@ |
// 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 @@ |
// 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 @@ |
// 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 @@ |
// 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 @@ |
// |
// 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 |