1302895252 2 2 13 libdownloader 4 2KOd 12 pandaexpress 387 407 9 ~SSReader 4 794 19 SSReader::~SSReader 0 0 226 //////////////////////////////////////////////////////////////////// // Function: SSReader::Destructor // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 34 virtual SSReader::~SSReader(void); 408 16 receive_datagram 4 794 26 SSReader::receive_datagram 0 1 1 1015 // Filename: socketStream.I // Created by: drose (15Oct02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: SSReader::receive_datagram // Access: Published // Description: Receives a datagram over the socket by expecting a // little-endian 16-bit byte count as a prefix. If the // socket stream is non-blocking, may return false if // the data is not available; otherwise, returns false // only if the socket closes. //////////////////////////////////////////////////////////////////// 53 inline bool SSReader::receive_datagram(Datagram &dg); 409 9 is_closed 4 794 19 SSReader::is_closed 0 1 2 0 43 virtual bool SSReader::is_closed(void) = 0; 410 5 close 4 794 15 SSReader::close 0 1 3 0 39 virtual void SSReader::close(void) = 0; 411 19 set_tcp_header_size 4 794 29 SSReader::set_tcp_header_size 0 1 4 546 //////////////////////////////////////////////////////////////////// // Function: SSReader::set_tcp_header_size // Access: Published // Description: Sets the header size for datagrams. At the present, // legal values for this are 0, 2, or 4; this specifies // the number of bytes to use encode the datagram length // at the start of each TCP datagram. Sender and // receiver must independently agree on this. //////////////////////////////////////////////////////////////////// 63 inline void SSReader::set_tcp_header_size(int tcp_header_size); 412 19 get_tcp_header_size 4 794 29 SSReader::get_tcp_header_size 0 1 5 312 //////////////////////////////////////////////////////////////////// // Function: SSReader::get_tcp_header_size // Access: Published // Description: Returns the header size for datagrams. See // set_tcp_header_size(). //////////////////////////////////////////////////////////////////// 53 inline int SSReader::get_tcp_header_size(void) const; 413 9 ~SSWriter 4 795 19 SSWriter::~SSWriter 0 0 226 //////////////////////////////////////////////////////////////////// // Function: SSWriter::Destructor // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 34 virtual SSWriter::~SSWriter(void); 414 13 send_datagram 4 795 23 SSWriter::send_datagram 0 1 6 504 //////////////////////////////////////////////////////////////////// // Function: SSWriter::send_datagram // Access: Public // Description: Transmits the indicated datagram over the socket by // prepending it with a little-endian 16-bit byte count. // Does not return until the data is sent or the // connection is closed, even if the socket stream is // non-blocking. //////////////////////////////////////////////////////////////////// 49 bool SSWriter::send_datagram(Datagram const &dg); 415 9 is_closed 4 795 19 SSWriter::is_closed 0 1 7 0 43 virtual bool SSWriter::is_closed(void) = 0; 416 5 close 4 795 15 SSWriter::close 0 1 8 0 39 virtual void SSWriter::close(void) = 0; 417 15 set_collect_tcp 4 795 25 SSWriter::set_collect_tcp 0 1 9 1144 //////////////////////////////////////////////////////////////////// // Function: SSWriter::set_collect_tcp // Access: Published // Description: Enables or disables "collect-tcp" mode. In this // mode, individual TCP packets are not sent // immediately, but rather they are collected together // and accumulated to be sent periodically as one larger // TCP packet. This cuts down on overhead from the // TCP/IP protocol, especially if many small packets // need to be sent on the same connection, but it // introduces additional latency (since packets must be // held before they can be sent). // // See set_collect_tcp_interval() to specify the // interval of time for which to hold packets before // sending them. // // If you enable this mode, you may also need to // periodically call consider_flush() to flush the queue // if no packets have been sent recently. //////////////////////////////////////////////////////////////////// 56 inline void SSWriter::set_collect_tcp(bool collect_tcp); 418 15 get_collect_tcp 4 795 25 SSWriter::get_collect_tcp 0 1 10 315 //////////////////////////////////////////////////////////////////// // Function: SSWriter::get_collect_tcp // Access: Published // Description: Returns the current setting of "collect-tcp" mode. // See set_collect_tcp(). //////////////////////////////////////////////////////////////////// 50 inline bool SSWriter::get_collect_tcp(void) const; 419 24 set_collect_tcp_interval 4 795 34 SSWriter::set_collect_tcp_interval 0 1 11 516 //////////////////////////////////////////////////////////////////// // Function: SSWriter::set_collect_tcp_interval // Access: Published // Description: Specifies the interval in time, in seconds, for which // to hold TCP packets before sending all of the // recently received packets at once. This only has // meaning if "collect-tcp" mode is enabled; see // set_collect_tcp(). //////////////////////////////////////////////////////////////////// 64 inline void SSWriter::set_collect_tcp_interval(double interval); 420 24 get_collect_tcp_interval 4 795 34 SSWriter::get_collect_tcp_interval 0 1 12 514 //////////////////////////////////////////////////////////////////// // Function: SSWriter::get_collect_tcp_interval // Access: Published // Description: Returns the interval in time, in seconds, for which // to hold TCP packets before sending all of the // recently received packets at once. This only has // meaning if "collect-tcp" mode is enabled; see // set_collect_tcp(). //////////////////////////////////////////////////////////////////// 61 inline double SSWriter::get_collect_tcp_interval(void) const; 421 19 set_tcp_header_size 4 795 29 SSWriter::set_tcp_header_size 0 1 13 546 //////////////////////////////////////////////////////////////////// // Function: SSWriter::set_tcp_header_size // Access: Published // Description: Sets the header size for datagrams. At the present, // legal values for this are 0, 2, or 4; this specifies // the number of bytes to use encode the datagram length // at the start of each TCP datagram. Sender and // receiver must independently agree on this. //////////////////////////////////////////////////////////////////// 63 inline void SSWriter::set_tcp_header_size(int tcp_header_size); 422 19 get_tcp_header_size 4 795 29 SSWriter::get_tcp_header_size 0 1 14 312 //////////////////////////////////////////////////////////////////// // Function: SSWriter::get_tcp_header_size // Access: Published // Description: Returns the header size for datagrams. See // set_tcp_header_size(). //////////////////////////////////////////////////////////////////// 53 inline int SSWriter::get_tcp_header_size(void) const; 423 14 consider_flush 4 795 24 SSWriter::consider_flush 0 1 15 387 //////////////////////////////////////////////////////////////////// // Function: SSWriter::consider_flush // Access: Published // Description: Sends the most recently queued data if enough time // has elapsed. This only has meaning if // set_collect_tcp() has been set to true. //////////////////////////////////////////////////////////////////// 43 inline bool SSWriter::consider_flush(void); 424 5 flush 4 795 15 SSWriter::flush 0 1 16 355 //////////////////////////////////////////////////////////////////// // Function: SSWriter::flush // Access: Published // Description: Sends the most recently queued data now. This only // has meaning if set_collect_tcp() has been set to // true. //////////////////////////////////////////////////////////////////// 34 inline bool SSWriter::flush(void); 425 17 upcast_to_istream 12 796 32 ISocketStream::upcast_to_istream 0 1 20 36 upcast from ISocketStream to istream 48 istream *ISocketStream::upcast_to_istream(void); 426 25 downcast_to_ISocketStream 12 797 34 istream::downcast_to_ISocketStream 0 1 21 38 downcast from istream to ISocketStream 56 ISocketStream *istream::downcast_to_ISocketStream(void); 427 18 upcast_to_SSReader 12 796 33 ISocketStream::upcast_to_SSReader 0 1 22 37 upcast from ISocketStream to SSReader 50 SSReader *ISocketStream::upcast_to_SSReader(void); 428 25 downcast_to_ISocketStream 12 794 35 SSReader::downcast_to_ISocketStream 0 1 23 39 downcast from SSReader to ISocketStream 57 ISocketStream *SSReader::downcast_to_ISocketStream(void); 429 14 ~ISocketStream 4 796 29 ISocketStream::~ISocketStream 0 0 234 //////////////////////////////////////////////////////////////////// // Function: ISocketStream::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 44 virtual ISocketStream::~ISocketStream(void); 430 9 is_closed 4 796 24 ISocketStream::is_closed 0 1 17 0 48 virtual bool ISocketStream::is_closed(void) = 0; 431 5 close 4 796 20 ISocketStream::close 0 1 18 0 44 virtual void ISocketStream::close(void) = 0; 432 14 get_read_state 4 796 29 ISocketStream::get_read_state 0 1 19 0 73 virtual ISocketStream::ReadState ISocketStream::get_read_state(void) = 0; 433 17 upcast_to_ostream 12 799 32 OSocketStream::upcast_to_ostream 0 1 27 36 upcast from OSocketStream to ostream 48 ostream *OSocketStream::upcast_to_ostream(void); 434 25 downcast_to_OSocketStream 12 800 34 ostream::downcast_to_OSocketStream 0 1 28 38 downcast from ostream to OSocketStream 56 OSocketStream *ostream::downcast_to_OSocketStream(void); 435 18 upcast_to_SSWriter 12 799 33 OSocketStream::upcast_to_SSWriter 0 1 29 37 upcast from OSocketStream to SSWriter 50 SSWriter *OSocketStream::upcast_to_SSWriter(void); 436 25 downcast_to_OSocketStream 12 795 35 SSWriter::downcast_to_OSocketStream 0 1 30 39 downcast from SSWriter to OSocketStream 57 OSocketStream *SSWriter::downcast_to_OSocketStream(void); 437 9 is_closed 4 799 24 OSocketStream::is_closed 0 1 24 0 48 virtual bool OSocketStream::is_closed(void) = 0; 438 5 close 4 799 20 OSocketStream::close 0 1 25 0 44 virtual void OSocketStream::close(void) = 0; 439 5 flush 4 799 20 OSocketStream::flush 0 1 26 360 //////////////////////////////////////////////////////////////////// // Function: OSocketStream::flush // Access: Published // Description: Sends the most recently queued data now. This only // has meaning if set_collect_tcp() has been set to // true. //////////////////////////////////////////////////////////////////// 39 inline bool OSocketStream::flush(void); 440 14 ~OSocketStream 4 799 29 OSocketStream::~OSocketStream 0 0 0 36 OSocketStream::~OSocketStream(void); 441 18 upcast_to_iostream 12 801 32 SocketStream::upcast_to_iostream 0 1 36 36 upcast from SocketStream to iostream 49 iostream *SocketStream::upcast_to_iostream(void); 442 24 downcast_to_SocketStream 12 802 34 iostream::downcast_to_SocketStream 0 1 37 38 downcast from iostream to SocketStream 55 SocketStream *iostream::downcast_to_SocketStream(void); 443 18 upcast_to_SSReader 12 801 32 SocketStream::upcast_to_SSReader 0 1 38 36 upcast from SocketStream to SSReader 49 SSReader *SocketStream::upcast_to_SSReader(void); 444 24 downcast_to_SocketStream 12 794 34 SSReader::downcast_to_SocketStream 0 1 39 38 downcast from SSReader to SocketStream 55 SocketStream *SSReader::downcast_to_SocketStream(void); 445 18 upcast_to_SSWriter 12 801 32 SocketStream::upcast_to_SSWriter 0 1 40 36 upcast from SocketStream to SSWriter 49 SSWriter *SocketStream::upcast_to_SSWriter(void); 446 24 downcast_to_SocketStream 12 795 34 SSWriter::downcast_to_SocketStream 0 1 41 38 downcast from SSWriter to SocketStream 55 SocketStream *SSWriter::downcast_to_SocketStream(void); 447 9 is_closed 4 801 23 SocketStream::is_closed 0 1 31 0 47 virtual bool SocketStream::is_closed(void) = 0; 448 5 close 4 801 19 SocketStream::close 0 1 32 0 43 virtual void SocketStream::close(void) = 0; 449 19 set_tcp_header_size 4 801 33 SocketStream::set_tcp_header_size 0 1 33 550 //////////////////////////////////////////////////////////////////// // Function: SocketStream::set_tcp_header_size // Access: Published // Description: Sets the header size for datagrams. At the present, // legal values for this are 0, 2, or 4; this specifies // the number of bytes to use encode the datagram length // at the start of each TCP datagram. Sender and // receiver must independently agree on this. //////////////////////////////////////////////////////////////////// 67 inline void SocketStream::set_tcp_header_size(int tcp_header_size); 450 19 get_tcp_header_size 4 801 33 SocketStream::get_tcp_header_size 0 1 34 316 //////////////////////////////////////////////////////////////////// // Function: SocketStream::get_tcp_header_size // Access: Published // Description: Returns the header size for datagrams. See // set_tcp_header_size(). //////////////////////////////////////////////////////////////////// 57 inline int SocketStream::get_tcp_header_size(void) const; 451 5 flush 4 801 19 SocketStream::flush 0 1 35 359 //////////////////////////////////////////////////////////////////// // Function: SocketStream::flush // Access: Published // Description: Sends the most recently queued data now. This only // has meaning if set_collect_tcp() has been set to // true. //////////////////////////////////////////////////////////////////// 38 inline bool SocketStream::flush(void); 452 13 ~SocketStream 4 801 27 SocketStream::~SocketStream 0 0 0 34 SocketStream::~SocketStream(void); 453 7 URLSpec 4 803 16 URLSpec::URLSpec 0 4 42 43 44 45 1149 // Filename: urlSpec.I // Created by: drose (24Sep02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: URLSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: URLSpec::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: URLSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 160 URLSpec::URLSpec(void); inline URLSpec::URLSpec(basic_string< char > const &url, bool server_name_expected = (0)); inline URLSpec::URLSpec(URLSpec const ©); 454 10 operator = 4 803 19 URLSpec::operator = 0 2 46 47 461 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: URLSpec::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 112 inline void URLSpec::operator =(basic_string< char > const &url); void URLSpec::operator =(URLSpec const ©); 455 11 operator == 4 803 20 URLSpec::operator == 0 1 48 219 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 61 inline bool URLSpec::operator ==(URLSpec const &other) const; 456 11 operator != 4 803 20 URLSpec::operator != 0 1 49 219 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 61 inline bool URLSpec::operator !=(URLSpec const &other) const; 457 10 operator < 4 803 19 URLSpec::operator < 0 1 50 218 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 60 inline bool URLSpec::operator <(URLSpec const &other) const; 458 10 compare_to 4 803 19 URLSpec::compare_to 0 1 51 397 //////////////////////////////////////////////////////////////////// // Function: URLSpec::compare_to // Access: Published // Description: Returns a number less than zero if this URLSpec // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. //////////////////////////////////////////////////////////////////// 59 inline int URLSpec::compare_to(URLSpec const &other) const; 459 10 has_scheme 4 803 19 URLSpec::has_scheme 0 1 52 311 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_scheme // Access: Published // Description: Returns true if the URL specifies a scheme // (e.g. "http:"), false otherwise. //////////////////////////////////////////////////////////////////// 44 inline bool URLSpec::has_scheme(void) const; 460 13 has_authority 4 803 22 URLSpec::has_authority 0 1 53 366 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_authority // Access: Published // Description: Returns true if the URL specifies an authority // (this includes username, server, and/or port), false // otherwise. //////////////////////////////////////////////////////////////////// 47 inline bool URLSpec::has_authority(void) const; 461 12 has_username 4 803 21 URLSpec::has_username 0 1 54 318 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_username // Access: Published // Description: Returns true if the URL specifies a username // (and/or password), false otherwise. //////////////////////////////////////////////////////////////////// 46 inline bool URLSpec::has_username(void) const; 462 10 has_server 4 803 19 URLSpec::has_server 0 1 55 301 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_server // Access: Published // Description: Returns true if the URL specifies a server name, // false otherwise. //////////////////////////////////////////////////////////////////// 44 inline bool URLSpec::has_server(void) const; 463 8 has_port 4 803 17 URLSpec::has_port 0 1 56 299 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_port // Access: Published // Description: Returns true if the URL specifies a port number, // false otherwise. //////////////////////////////////////////////////////////////////// 42 inline bool URLSpec::has_port(void) const; 464 8 has_path 4 803 17 URLSpec::has_path 0 1 57 383 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_path // Access: Published // Description: Returns true if the URL includes a path specification // (that is, the particular filename on the server to // retrieve), false otherwise. //////////////////////////////////////////////////////////////////// 42 inline bool URLSpec::has_path(void) const; 465 9 has_query 4 803 18 URLSpec::has_query 0 1 58 307 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_query // Access: Published // Description: Returns true if the URL includes a query // specification, false otherwise. //////////////////////////////////////////////////////////////////// 43 inline bool URLSpec::has_query(void) const; 466 10 get_scheme 4 803 19 URLSpec::get_scheme 0 1 59 319 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_scheme // Access: Published // Description: Returns the scheme specified by the URL, or empty // string if no scheme is specified. //////////////////////////////////////////////////////////////////// 53 basic_string< char > URLSpec::get_scheme(void) const; 467 13 get_authority 4 803 22 URLSpec::get_authority 0 1 60 391 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_authority // Access: Published // Description: Returns the authority specified by the URL (this // includes username, server, and/or port), or empty // string if no authority is specified. //////////////////////////////////////////////////////////////////// 63 inline basic_string< char > URLSpec::get_authority(void) const; 468 12 get_username 4 803 21 URLSpec::get_username 0 1 61 447 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_username // Access: Published // Description: Returns the username specified by the URL, if any. // This might also include a password, // e.g. "username:password", although putting a password // on the URL is probably a bad idea. //////////////////////////////////////////////////////////////////// 62 inline basic_string< char > URLSpec::get_username(void) const; 469 10 get_server 4 803 19 URLSpec::get_server 0 1 62 272 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_server // Access: Published // Description: Returns the server name specified by the URL, if any. //////////////////////////////////////////////////////////////////// 60 inline basic_string< char > URLSpec::get_server(void) const; 470 12 get_port_str 4 803 21 URLSpec::get_port_str 0 1 63 459 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_port_str // Access: Published // Description: Returns the port specified by the URL as a string, or // the empty string if no port is specified. Compare // this with get_port(), which returns a default port // number if no port is specified. //////////////////////////////////////////////////////////////////// 62 inline basic_string< char > URLSpec::get_port_str(void) const; 471 8 get_port 4 803 17 URLSpec::get_port 0 1 64 317 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_port // Access: Published // Description: Returns the port number specified by the URL, or the // default port if not specified. //////////////////////////////////////////////////////////////////// 34 int URLSpec::get_port(void) const; 472 19 get_server_and_port 4 803 28 URLSpec::get_server_and_port 0 1 65 483 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_server_and_port // Access: Published // Description: Returns a string consisting of the server name, // followed by a colon, followed by the port number. If // the port number is not explicitly given in the URL, // this string will include the implicit port number. //////////////////////////////////////////////////////////////////// 62 basic_string< char > URLSpec::get_server_and_port(void) const; 473 15 is_default_port 4 803 24 URLSpec::is_default_port 0 1 66 439 //////////////////////////////////////////////////////////////////// // Function: URLSpec::is_default_port // Access: Published // Description: Returns true if the port number encoded in this URL // is the default port number for the scheme (or if // there is no port number), or false if it is a // nonstandard port. //////////////////////////////////////////////////////////////////// 42 bool URLSpec::is_default_port(void) const; 474 27 get_default_port_for_scheme 4 803 36 URLSpec::get_default_port_for_scheme 0 1 67 353 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_default_port_for_scheme // Access: Published, Static // Description: Returns the default port number for the indicated // scheme, or 0 if there is no known default. //////////////////////////////////////////////////////////////////// 84 static int URLSpec::get_default_port_for_scheme(basic_string< char > const &scheme); 475 8 get_path 4 803 17 URLSpec::get_path 0 1 68 304 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_path // Access: Published // Description: Returns the path specified by the URL, or "/" if no // path is specified. //////////////////////////////////////////////////////////////////// 51 basic_string< char > URLSpec::get_path(void) const; 476 9 get_query 4 803 18 URLSpec::get_query 0 1 69 316 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_query // Access: Published // Description: Returns the query specified by the URL, or empty // string if no query is specified. //////////////////////////////////////////////////////////////////// 59 inline basic_string< char > URLSpec::get_query(void) const; 477 18 get_path_and_query 4 803 27 URLSpec::get_path_and_query 0 1 70 336 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_path_and_query // Access: Published // Description: Returns the path (or "/" if no path is specified), // followed by the query if it is specified. //////////////////////////////////////////////////////////////////// 61 basic_string< char > URLSpec::get_path_and_query(void) const; 478 6 is_ssl 4 803 15 URLSpec::is_ssl 0 1 71 350 //////////////////////////////////////////////////////////////////// // Function: URLSpec::is_ssl // Access: Published // Description: Returns true if the URL's scheme specifies an // SSL-secured protocol such as https, or false // otherwise. //////////////////////////////////////////////////////////////////// 40 inline bool URLSpec::is_ssl(void) const; 479 7 get_url 4 803 16 URLSpec::get_url 0 1 72 255 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_url // Access: Published // Description: Returns the complete URL specification. //////////////////////////////////////////////////////////////////// 64 inline basic_string< char > const &URLSpec::get_url(void) const; 480 10 set_scheme 4 803 19 URLSpec::set_scheme 0 1 73 269 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_scheme // Access: Published // Description: Replaces the scheme part of the URL specification. //////////////////////////////////////////////////////////////////// 61 void URLSpec::set_scheme(basic_string< char > const &scheme); 481 13 set_authority 4 803 22 URLSpec::set_authority 0 1 74 338 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_authority // Access: Published // Description: Replaces the authority part of the URL specification. // This includes the username, server, and port. //////////////////////////////////////////////////////////////////// 67 void URLSpec::set_authority(basic_string< char > const &authority); 482 12 set_username 4 803 21 URLSpec::set_username 0 1 75 273 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_username // Access: Published // Description: Replaces the username part of the URL specification. //////////////////////////////////////////////////////////////////// 65 void URLSpec::set_username(basic_string< char > const &username); 483 10 set_server 4 803 19 URLSpec::set_server 0 1 76 269 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_server // Access: Published // Description: Replaces the server part of the URL specification. //////////////////////////////////////////////////////////////////// 61 void URLSpec::set_server(basic_string< char > const &server); 484 8 set_port 4 803 17 URLSpec::set_port 0 2 77 78 578 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_port // Access: Published // Description: Replaces the port part of the URL specification. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_port // Access: Published // Description: Replaces the port part of the URL specification, // given a numeric port number. //////////////////////////////////////////////////////////////////// 91 void URLSpec::set_port(basic_string< char > const &port); void URLSpec::set_port(int port); 485 19 set_server_and_port 4 803 28 URLSpec::set_server_and_port 0 1 79 460 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_server_and_port // Access: Published // Description: Replaces the server and port parts of the URL // specification simultaneously. The input string // should be of the form "server:port", or just // "server" to make the port number implicit. //////////////////////////////////////////////////////////////////// 79 void URLSpec::set_server_and_port(basic_string< char > const &server_and_port); 486 8 set_path 4 803 17 URLSpec::set_path 0 1 80 265 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_path // Access: Published // Description: Replaces the path part of the URL specification. //////////////////////////////////////////////////////////////////// 57 void URLSpec::set_path(basic_string< char > const &path); 487 9 set_query 4 803 18 URLSpec::set_query 0 1 81 267 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_query // Access: Published // Description: Replaces the query part of the URL specification. //////////////////////////////////////////////////////////////////// 59 void URLSpec::set_query(basic_string< char > const &query); 488 7 set_url 4 803 16 URLSpec::set_url 0 2 82 83 441 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_url // Access: Published // Description: Completely replaces the URL with the indicated // string. If server_name_expected is true, it is a // hint that an undecorated URL is probably a server // name, not a local filename. //////////////////////////////////////////////////////////////////// 88 void URLSpec::set_url(basic_string< char > const &url, bool server_name_expected = (0)); 489 17 operator typecast 132 803 26 URLSpec::operator typecast 0 1 96 229 //////////////////////////////////////////////////////////////////// // Function: URLSpec::string typecast operator // Access: Public // Description: //////////////////////////////////////////////////////////////////// 74 inline basic_string< char > const &URLSpec::operator typecast(void) const; 490 5 c_str 4 803 14 URLSpec::c_str 0 1 84 210 //////////////////////////////////////////////////////////////////// // Function: URLSpec::c_str // Access: Public // Description: //////////////////////////////////////////////////////////////////// 46 inline char const *URLSpec::c_str(void) const; 491 5 empty 4 803 14 URLSpec::empty 0 1 85 210 //////////////////////////////////////////////////////////////////// // Function: URLSpec::empty // Access: Public // Description: //////////////////////////////////////////////////////////////////// 39 inline bool URLSpec::empty(void) const; 492 6 length 4 803 15 URLSpec::length 0 1 86 211 //////////////////////////////////////////////////////////////////// // Function: URLSpec::length // Access: Public // Description: //////////////////////////////////////////////////////////////////// 48 inline unsigned int URLSpec::length(void) const; 493 11 operator [] 4 803 20 URLSpec::operator [] 0 1 87 222 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Indexing operator // Access: Public // Description: //////////////////////////////////////////////////////////////////// 46 inline char URLSpec::operator [](int n) const; 494 5 input 4 803 14 URLSpec::input 0 1 88 214 //////////////////////////////////////////////////////////////////// // Function: URLSpec::input // Access: Published // Description: //////////////////////////////////////////////////////////////////// 33 bool URLSpec::input(istream &in); 495 6 output 4 803 15 URLSpec::output 0 1 89 215 //////////////////////////////////////////////////////////////////// // Function: URLSpec::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 41 void URLSpec::output(ostream &out) const; 496 5 quote 4 803 14 URLSpec::quote 0 2 90 91 617 //////////////////////////////////////////////////////////////////// // Function: URLSpec::quote // Access: Published, Static // Description: Returns the source string with all "unsafe" // characters quoted, making a string suitable for // placing in a URL. Letters, digits, and the // underscore, comma, period, and hyphen characters, as // well as any included in the safe string, are left // alone; all others are converted to hex // representation. //////////////////////////////////////////////////////////////////// 121 static basic_string< char > URLSpec::quote(basic_string< char > const &source, basic_string< char > const &safe = ("/")); 497 10 quote_plus 4 803 19 URLSpec::quote_plus 0 2 92 93 330 //////////////////////////////////////////////////////////////////// // Function: URLSpec::quote_plus // Access: Published, Static // Description: Behaves like quote() with the additional behavior of // replacing spaces with plus signs. //////////////////////////////////////////////////////////////////// 126 static basic_string< char > URLSpec::quote_plus(basic_string< char > const &source, basic_string< char > const &safe = ("/")); 498 7 unquote 4 803 16 URLSpec::unquote 0 1 94 365 //////////////////////////////////////////////////////////////////// // Function: URLSpec::unquote // Access: Published, Static // Description: Reverses the operation of quote(): converts escaped // characters of the form "%xx" to their ascii // equivalent. //////////////////////////////////////////////////////////////////// 81 static basic_string< char > URLSpec::unquote(basic_string< char > const &source); 499 12 unquote_plus 4 803 21 URLSpec::unquote_plus 0 1 95 415 //////////////////////////////////////////////////////////////////// // Function: URLSpec::unquote_plus // Access: Published, Static // Description: Reverses the operation of quote_plus(): converts escaped // characters of the form "%xx" to their ascii // equivalent, and also converts plus signs to spaces. //////////////////////////////////////////////////////////////////// 86 static basic_string< char > URLSpec::unquote_plus(basic_string< char > const &source); 500 8 ~URLSpec 4 803 17 URLSpec::~URLSpec 0 0 0 24 URLSpec::~URLSpec(void); 501 9 ~HTTPEnum 4 804 19 HTTPEnum::~HTTPEnum 0 0 0 26 HTTPEnum::~HTTPEnum(void); 502 8 HTTPDate 4 807 18 HTTPDate::HTTPDate 0 4 97 98 99 100 1518 // Filename: httpDate.I // Created by: drose (28Jan03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Constructor // Access: Published // Description: Decodes the string into a sensible date. Returns 0 // (!is_valid()) if the string cannot be correctly // decoded. //////////////////////////////////////////////////////////////////// 183 inline HTTPDate::HTTPDate(void); inline HTTPDate::HTTPDate(unsigned int time); HTTPDate::HTTPDate(basic_string< char > const &format); inline HTTPDate::HTTPDate(HTTPDate const ©); 503 10 operator = 4 807 20 HTTPDate::operator = 0 1 101 233 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 55 inline void HTTPDate::operator =(HTTPDate const ©); 504 3 now 4 807 13 HTTPDate::now 0 1 102 320 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::now (named constructor) // Access: Published, Static // Description: Returns an HTTPDate that represents the current time // and date. //////////////////////////////////////////////////////////////////// 43 static inline HTTPDate HTTPDate::now(void); 505 8 is_valid 4 807 18 HTTPDate::is_valid 0 1 103 379 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::is_valid // Access: Published // Description: Returns true if the date is meaningful, or false if // it is -1 (which generally indicates the source string // could not be parsed.) //////////////////////////////////////////////////////////////////// 43 inline bool HTTPDate::is_valid(void) const; 506 10 get_string 4 807 20 HTTPDate::get_string 0 1 104 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::get_string // Access: Published // Description: //////////////////////////////////////////////////////////////////// 54 basic_string< char > HTTPDate::get_string(void) const; 507 8 get_time 4 807 18 HTTPDate::get_time 0 1 105 255 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::get_time // Access: Published // Description: Returns the date as a C time_t value. //////////////////////////////////////////////////////////////////// 51 inline unsigned int HTTPDate::get_time(void) const; 508 11 operator == 4 807 21 HTTPDate::operator == 0 1 106 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline bool HTTPDate::operator ==(HTTPDate const &other) const; 509 11 operator != 4 807 21 HTTPDate::operator != 0 1 107 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline bool HTTPDate::operator !=(HTTPDate const &other) const; 510 10 operator < 4 807 20 HTTPDate::operator < 0 1 108 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 62 inline bool HTTPDate::operator <(HTTPDate const &other) const; 511 10 operator > 4 807 20 HTTPDate::operator > 0 1 109 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Operator > // Access: Published // Description: //////////////////////////////////////////////////////////////////// 62 inline bool HTTPDate::operator >(HTTPDate const &other) const; 512 10 compare_to 4 807 20 HTTPDate::compare_to 0 1 110 399 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::compare_to // Access: Published // Description: Returns a number less than zero if this HTTPDate // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. //////////////////////////////////////////////////////////////////// 61 inline int HTTPDate::compare_to(HTTPDate const &other) const; 513 11 operator += 4 807 21 HTTPDate::operator += 0 1 111 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator += // Access: Published // Description: //////////////////////////////////////////////////////////////////// 47 inline void HTTPDate::operator +=(int seconds); 514 11 operator -= 4 807 21 HTTPDate::operator -= 0 1 112 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator -= // Access: Published // Description: //////////////////////////////////////////////////////////////////// 47 inline void HTTPDate::operator -=(int seconds); 515 10 operator + 4 807 20 HTTPDate::operator + 0 1 113 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator + // Access: Published // Description: //////////////////////////////////////////////////////////////////// 56 inline HTTPDate HTTPDate::operator +(int seconds) const; 516 10 operator - 4 807 20 HTTPDate::operator - 0 2 114 115 440 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator - // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator - // Access: Published // Description: //////////////////////////////////////////////////////////////////// 118 inline HTTPDate HTTPDate::operator -(int seconds) const; inline int HTTPDate::operator -(HTTPDate const &other) const; 517 5 input 4 807 15 HTTPDate::input 0 1 116 215 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::input // Access: Published // Description: //////////////////////////////////////////////////////////////////// 34 bool HTTPDate::input(istream &in); 518 6 output 4 807 16 HTTPDate::output 0 1 117 216 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 42 void HTTPDate::output(ostream &out) const; 519 9 ~HTTPDate 4 807 19 HTTPDate::~HTTPDate 0 0 0 26 HTTPDate::~HTTPDate(void); 520 10 HTTPCookie 4 808 22 HTTPCookie::HTTPCookie 0 3 118 119 120 1629 // Filename: httpCookie.I // Created by: drose (26Aug04) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::Constructor // Access: Published // Description: Constructs an empty cookie. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::Constructor // Access: Published // Description: Constructs a cookie according to the indicated // string, presumably the tag of a Set-Cookie header. // There is no way to detect a formatting error in the // string with this constructor. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::Constructor // Access: Published // Description: Constructs a cookie with the indicated name, path, // and domain values, but no other data. This is most // useful for looking up an existing cookie in the // HTTPClient. //////////////////////////////////////////////////////////////////// 258 inline HTTPCookie::HTTPCookie(void); inline HTTPCookie::HTTPCookie(basic_string< char > const &format, URLSpec const &url); inline HTTPCookie::HTTPCookie(basic_string< char > const &name, basic_string< char > const &path, basic_string< char > const &domain); 521 11 ~HTTPCookie 4 808 23 HTTPCookie::~HTTPCookie 0 0 222 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 37 inline HTTPCookie::~HTTPCookie(void); 522 8 set_name 4 808 20 HTTPCookie::set_name 0 1 121 220 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_name // Access: Published // Description: //////////////////////////////////////////////////////////////////// 67 inline void HTTPCookie::set_name(basic_string< char > const &name); 523 8 get_name 4 808 20 HTTPCookie::get_name 0 1 122 316 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_name // Access: Published // Description: Returns the name of the cookie. This is the key // value specified by the server. //////////////////////////////////////////////////////////////////// 68 inline basic_string< char > const &HTTPCookie::get_name(void) const; 524 9 set_value 4 808 21 HTTPCookie::set_value 0 1 123 221 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_value // Access: Published // Description: //////////////////////////////////////////////////////////////////// 69 inline void HTTPCookie::set_value(basic_string< char > const &value); 525 9 get_value 4 808 21 HTTPCookie::get_value 0 1 124 380 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_value // Access: Published // Description: Returns the value of the cookie. This is the // arbitrary string associated with the cookie's name, // as specified by the server. //////////////////////////////////////////////////////////////////// 69 inline basic_string< char > const &HTTPCookie::get_value(void) const; 526 10 set_domain 4 808 22 HTTPCookie::set_domain 0 1 125 222 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_domain // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 inline void HTTPCookie::set_domain(basic_string< char > const &domain); 527 10 get_domain 4 808 22 HTTPCookie::get_domain 0 1 126 222 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_domain // Access: Published // Description: //////////////////////////////////////////////////////////////////// 70 inline basic_string< char > const &HTTPCookie::get_domain(void) const; 528 8 set_path 4 808 20 HTTPCookie::set_path 0 1 127 220 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_path // Access: Published // Description: //////////////////////////////////////////////////////////////////// 67 inline void HTTPCookie::set_path(basic_string< char > const &path); 529 8 get_path 4 808 20 HTTPCookie::get_path 0 1 128 322 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_path // Access: Published // Description: Returns the prefix of the URL paths on the server for // which this cookie will be sent. //////////////////////////////////////////////////////////////////// 68 inline basic_string< char > const &HTTPCookie::get_path(void) const; 530 11 set_expires 4 808 23 HTTPCookie::set_expires 0 1 129 223 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_expires // Access: Published // Description: //////////////////////////////////////////////////////////////////// 61 inline void HTTPCookie::set_expires(HTTPDate const &expires); 531 13 clear_expires 4 808 25 HTTPCookie::clear_expires 0 1 130 267 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::clear_expires // Access: Published // Description: Removes the expiration date on the cookie. //////////////////////////////////////////////////////////////////// 44 inline void HTTPCookie::clear_expires(void); 532 11 has_expires 4 808 23 HTTPCookie::has_expires 0 1 131 307 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::has_expires // Access: Published // Description: Returns true if the cookie has an expiration date, // false otherwise. //////////////////////////////////////////////////////////////////// 48 inline bool HTTPCookie::has_expires(void) const; 533 11 get_expires 4 808 23 HTTPCookie::get_expires 0 1 132 328 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_expires // Access: Published // Description: Returns the expiration date of the cookie if it is // set, or an invalid date if it is not. //////////////////////////////////////////////////////////////////// 52 inline HTTPDate HTTPCookie::get_expires(void) const; 534 10 set_secure 4 808 22 HTTPCookie::set_secure 0 1 133 222 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_secure // Access: Published // Description: //////////////////////////////////////////////////////////////////// 46 inline void HTTPCookie::set_secure(bool flag); 535 10 get_secure 4 808 22 HTTPCookie::get_secure 0 1 134 371 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_secure // Access: Published // Description: Returns true if the server has indicated this is a // "secure" cookie which should only be sent over an // HTTPS channel. //////////////////////////////////////////////////////////////////// 47 inline bool HTTPCookie::get_secure(void) const; 536 10 operator < 4 808 22 HTTPCookie::operator < 0 1 135 412 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::operator < // Access: Published // Description: The sorting operator allows the cookies to be stored // in a single dictionary; it returns nonequal only if // the cookies are different in name, path, or domain. //////////////////////////////////////////////////////////////////// 59 bool HTTPCookie::operator <(HTTPCookie const &other) const; 537 11 update_from 4 808 23 HTTPCookie::update_from 0 1 136 660 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::update_from // Access: Published // Description: Assuming the operator < method, above, has already // evaluated these two cookies as equal, then assign the // remaining values (value, expiration date, secure // flag) from the indicated cookie. This is guaranteed // not to change the ordering of the cookie in a set, // and so can be used to update an existing cookie // within a set with new values. //////////////////////////////////////////////////////////////////// 54 void HTTPCookie::update_from(HTTPCookie const &other); 538 16 parse_set_cookie 4 808 28 HTTPCookie::parse_set_cookie 0 1 137 497 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::parse_set_cookie // Access: Published // Description: Separates out the parameter/value pairs of the // Set-Cookie header and assigns the values of the // cookie appropriate. Returns true if the header is // parsed correctly, false if something is not // understood. //////////////////////////////////////////////////////////////////// 90 bool HTTPCookie::parse_set_cookie(basic_string< char > const &format, URLSpec const &url); 539 10 is_expired 4 808 22 HTTPCookie::is_expired 0 2 138 139 330 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::is_expired // Access: Published // Description: Returns true if the cookie's expiration date is // before the indicated date, false otherwise. //////////////////////////////////////////////////////////////////// 74 inline bool HTTPCookie::is_expired(HTTPDate const &now = ((now()))) const; 540 11 matches_url 4 808 23 HTTPCookie::matches_url 0 1 140 338 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::matches_url // Access: Published // Description: Returns true if the cookie is appropriate to send // with the indicated URL request, false otherwise. //////////////////////////////////////////////////////////////////// 55 bool HTTPCookie::matches_url(URLSpec const &url) const; 541 6 output 4 808 18 HTTPCookie::output 0 1 141 218 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 44 void HTTPCookie::output(ostream &out) const; 542 10 HTTPClient 4 809 22 HTTPClient::HTTPClient 0 2 142 143 451 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPClient::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 77 HTTPClient::HTTPClient(void); HTTPClient::HTTPClient(HTTPClient const ©); 543 10 operator = 4 809 22 HTTPClient::operator = 0 1 144 235 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 void HTTPClient::operator =(HTTPClient const ©); 544 16 init_random_seed 4 809 28 HTTPClient::init_random_seed 0 1 145 935 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::init_random_seed // Access: Published, Static // Description: This may be called once, presumably at the beginning // of an application, to initialize OpenSSL's random // seed. On Windows, it is particularly important to // call this at startup if you are going to be performing // any https operations or otherwise use encryption, // since the Windows algorithm for getting a random seed // takes 2-3 seconds at startup, but can take 30 seconds // or more after you have opened a 3-D graphics window // and started rendering. // // There is no harm in calling this method multiple // times, or in not calling it at all. //////////////////////////////////////////////////////////////////// 47 static void HTTPClient::init_random_seed(void); 545 14 set_proxy_spec 4 809 26 HTTPClient::set_proxy_spec 0 1 146 859 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_proxy_spec // Access: Published // Description: Specifies the complete set of proxies to use for all // schemes. This is either a semicolon-delimited set of // hostname:ports, or a semicolon-delimited set of pairs // of the form "scheme=hostname:port", or a combination. // Use the keyword DIRECT, or an empty string, to // represent a direct connection. A particular scheme // and/or proxy host may be listed more than once. This // is a convenience function that can be used in place // of explicit calls to add_proxy() for each // scheme/proxy pair. //////////////////////////////////////////////////////////////////// 72 void HTTPClient::set_proxy_spec(basic_string< char > const &proxy_spec); 546 14 get_proxy_spec 4 809 26 HTTPClient::get_proxy_spec 0 1 147 676 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_proxy_spec // Access: Published // Description: Returns the complete set of proxies to use for all // schemes. This is a string of the form specified by // set_proxy_spec(), above. Note that the string // returned by this function may not be exactly the same // as the string passed into set_proxy_spec(), since the // string is regenerated from the internal storage // structures and may therefore be reordered. //////////////////////////////////////////////////////////////////// 60 basic_string< char > HTTPClient::get_proxy_spec(void) const; 547 20 set_direct_host_spec 4 809 32 HTTPClient::set_direct_host_spec 0 1 148 463 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_direct_host_spec // Access: Published // Description: Specifies the set of hosts that should be connected // to directly, without using a proxy. This is a // semicolon-separated list of hostnames that may // contain wildcard characters ("*"). //////////////////////////////////////////////////////////////////// 84 void HTTPClient::set_direct_host_spec(basic_string< char > const &direct_host_spec); 548 20 get_direct_host_spec 4 809 32 HTTPClient::get_direct_host_spec 0 1 149 455 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_direct_host_spec // Access: Published // Description: Returns the set of hosts that should be connected // to directly, without using a proxy, as a // semicolon-separated list of hostnames that may // contain wildcard characters ("*"). //////////////////////////////////////////////////////////////////// 66 basic_string< char > HTTPClient::get_direct_host_spec(void) const; 549 18 set_try_all_direct 4 809 30 HTTPClient::set_try_all_direct 0 1 150 1087 // Filename: httpClient.I // Created by: drose (24Sep02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_try_all_direct // Access: Published // Description: If this is set true, then after a connection attempt // through a proxy fails, we always try a direct // connection, regardless of whether the host is listed // on the direct_host_spec list. If this is false, a // direct attempt is not made when we have a proxy in // effect, even if the proxy fails. //////////////////////////////////////////////////////////////////// 64 inline void HTTPClient::set_try_all_direct(bool try_all_direct); 550 18 get_try_all_direct 4 809 30 HTTPClient::get_try_all_direct 0 1 151 384 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_try_all_direct // Access: Published // Description: Returns whether a failed connection through a proxy // will be followed up by a direct connection attempt, // false otherwise. //////////////////////////////////////////////////////////////////// 55 inline bool HTTPClient::get_try_all_direct(void) const; 551 11 clear_proxy 4 809 23 HTTPClient::clear_proxy 0 1 152 371 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_proxy // Access: Published // Description: Resets the proxy spec to empty. Subsequent calls to // add_proxy() may be made to build up the set of proxy // servers. //////////////////////////////////////////////////////////////////// 35 void HTTPClient::clear_proxy(void); 552 9 add_proxy 4 809 21 HTTPClient::add_proxy 0 1 153 540 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_proxy // Access: Published // Description: Adds the indicated proxy host as a proxy for // communications on the given scheme. Usually the // scheme is "http" or "https". It may be the empty // string to indicate a general proxy. The proxy string // may be the empty URL to indicate a direct connection. //////////////////////////////////////////////////////////////////// 85 void HTTPClient::add_proxy(basic_string< char > const &scheme, URLSpec const &proxy); 553 17 clear_direct_host 4 809 29 HTTPClient::clear_direct_host 0 1 154 441 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_direct_host // Access: Published // Description: Resets the set of direct hosts to empty. Subsequent // calls to add_direct_host() may be made to build up // the list of hosts that do not require a proxy // connection. //////////////////////////////////////////////////////////////////// 41 void HTTPClient::clear_direct_host(void); 554 15 add_direct_host 4 809 27 HTTPClient::add_direct_host 0 1 155 483 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_direct_host // Access: Published // Description: Adds the indicated name to the set of hostnames that // are connected to directly, without using a proxy. // This name may be either a DNS name or an IP address, // and it may include the * as a wildcard character. //////////////////////////////////////////////////////////////////// 71 void HTTPClient::add_direct_host(basic_string< char > const &hostname); 555 19 get_proxies_for_url 4 809 31 HTTPClient::get_proxies_for_url 0 2 156 157 1210 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_proxies_for_url // Access: Published // Description: Fills up the indicated vector with the list of // URLSpec objects, in the order in which they should be // tried, that are appropriate proxies to try for the // indicated URL. The empty URL is returned for a // direct connection. // // It is the user's responsibility to empty this vector // before calling this method; otherwise, the proxy // URL's will simply be appended to the existing list. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_proxies_for_url // Access: Published // Description: Returns a semicolon-delimited list of proxies, in the // order in which they should be tried, that are // appropriate for the indicated URL. The keyword // DIRECT indicates a direct connection should be tried. //////////////////////////////////////////////////////////////////// 171 void HTTPClient::get_proxies_for_url(URLSpec const &url, vector< URLSpec > &proxies) const; basic_string< char > HTTPClient::get_proxies_for_url(URLSpec const &url) const; 556 12 set_username 4 809 24 HTTPClient::set_username 0 1 158 765 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_username // Access: Published // Description: Specifies the username:password string corresponding // to a particular server and/or realm, when demanded by // the server. Either or both of the server or realm // may be empty; if so, they match anything. Also, the // server may be set to the special string "*proxy", // which will match any proxy server. // // If the username is set to the empty string, this // clears the password for the particular server/realm // pair. //////////////////////////////////////////////////////////////////// 139 void HTTPClient::set_username(basic_string< char > const &server, basic_string< char > const &realm, basic_string< char > const &username); 557 12 get_username 4 809 24 HTTPClient::get_username 0 1 159 388 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_username // Access: Published // Description: Returns the username:password string set for this // server/realm pair, or empty string if nothing has // been set. See set_username(). //////////////////////////////////////////////////////////////////// 123 basic_string< char > HTTPClient::get_username(basic_string< char > const &server, basic_string< char > const &realm) const; 558 10 set_cookie 4 809 22 HTTPClient::set_cookie 0 1 160 341 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_cookie // Access: Published // Description: Stores the indicated cookie in the client's list of // cookies, as if it had been received from a server. //////////////////////////////////////////////////////////////////// 54 void HTTPClient::set_cookie(HTTPCookie const &cookie); 559 12 clear_cookie 4 809 24 HTTPClient::clear_cookie 0 1 161 416 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_cookie // Access: Published // Description: Removes the cookie with the matching domain/path/name // from the client's list of cookies. Returns true if // it was removed, false if the cookie was not matched. //////////////////////////////////////////////////////////////////// 56 bool HTTPClient::clear_cookie(HTTPCookie const &cookie); 560 17 clear_all_cookies 4 809 29 HTTPClient::clear_all_cookies 0 1 162 276 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_all_cookies // Access: Published // Description: Removes the all stored cookies from the client. //////////////////////////////////////////////////////////////////// 41 void HTTPClient::clear_all_cookies(void); 561 10 has_cookie 4 809 22 HTTPClient::has_cookie 0 1 163 366 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::has_cookie // Access: Published // Description: Returns true if there is a cookie in the client // matching the given cookie's domain/path/name, false // otherwise. //////////////////////////////////////////////////////////////////// 60 bool HTTPClient::has_cookie(HTTPCookie const &cookie) const; 562 10 get_cookie 4 809 22 HTTPClient::get_cookie 0 1 164 405 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_cookie // Access: Published // Description: Looks up and returns the cookie in the client // matching the given cookie's domain/path/name. If // there is no matching cookie, returns an empty cookie. //////////////////////////////////////////////////////////////////// 66 HTTPCookie HTTPClient::get_cookie(HTTPCookie const &cookie) const; 563 17 copy_cookies_from 4 809 29 HTTPClient::copy_cookies_from 0 1 165 443 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::copy_cookies_from // Access: Published // Description: Copies all the cookies from the indicated HTTPClient // into this one. Existing cookies in this client are // not affected, unless they are shadowed by the new // cookies. //////////////////////////////////////////////////////////////////// 60 void HTTPClient::copy_cookies_from(HTTPClient const &other); 564 13 write_cookies 4 809 25 HTTPClient::write_cookies 0 1 166 431 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::write_cookies // Access: Published // Description: Outputs the complete list of cookies stored on the // client, for all domains, including the expired // cookies (which will normally not be sent back to a // host). //////////////////////////////////////////////////////////////////// 51 void HTTPClient::write_cookies(ostream &out) const; 565 12 send_cookies 4 809 24 HTTPClient::send_cookies 0 1 167 450 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::send_cookies // Access: Published // Description: Writes to the indicated ostream a "Cookie" header // line for sending the cookies appropriate to the // indicated URL along with an HTTP request. This also // removes expired cookies. //////////////////////////////////////////////////////////////////// 64 void HTTPClient::send_cookies(ostream &out, URLSpec const &url); 566 31 set_client_certificate_filename 4 809 43 HTTPClient::set_client_certificate_filename 0 1 168 542 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_client_certificate_filename // Access: Published // Description: Sets the filename of the pem-formatted file that will // be read for the client public and private keys if an // SSL server requests a certificate. Either this or // set_client_certificate_pem() may be used to specify a // client certificate. //////////////////////////////////////////////////////////////////// 82 inline void HTTPClient::set_client_certificate_filename(Filename const &filename); 567 26 set_client_certificate_pem 4 809 38 HTTPClient::set_client_certificate_pem 0 1 169 551 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_client_certificate_pem // Access: Published // Description: Sets the pem-formatted contents of the certificate // that will be parsed for the client public and private // keys if an SSL server requests a certificate. Either // this or set_client_certificate_filename() may be used // to specify a client certificate. //////////////////////////////////////////////////////////////////// 84 inline void HTTPClient::set_client_certificate_pem(basic_string< char > const &pem); 568 33 set_client_certificate_passphrase 4 809 45 HTTPClient::set_client_certificate_passphrase 0 1 170 442 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_client_certificate_passphrase // Access: Published // Description: Sets the passphrase used to decrypt the private key // in the certificate named by // set_client_certificate_filename() or // set_client_certificate_pem(). //////////////////////////////////////////////////////////////////// 98 inline void HTTPClient::set_client_certificate_passphrase(basic_string< char > const &passphrase); 569 23 load_client_certificate 4 809 35 HTTPClient::load_client_certificate 0 1 171 690 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::load_client_certificate // Access: Published // Description: Attempts to load the certificate named by // set_client_certificate_filename() immediately, and // returns true if successful, false otherwise. // // Normally this need not be explicitly called, since it // will be called automatically if the server requests a // certificate, but it may be useful to determine ahead // of time if the certificate can be loaded correctly. //////////////////////////////////////////////////////////////////// 47 bool HTTPClient::load_client_certificate(void); 570 43 add_preapproved_server_certificate_filename 4 809 55 HTTPClient::add_preapproved_server_certificate_filename 0 1 172 956 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_preapproved_server_certificate_filename // Access: Published // Description: Adds the certificate defined in the indicated PEM // filename as a "pre-approved" certificate for the // indicated server, defined by the hostname and port // (only) from the given URL. // // If the server offers this particular certificate on a // secure connection, it will be accepted without // question. This is particularly useful for // communicating with a server using a known self-signed // certificate. // // See also the similar // add_preapproved_server_certificate_pem(), and the // weaker add_preapproved_server_certificate_name(). //////////////////////////////////////////////////////////////////// 107 bool HTTPClient::add_preapproved_server_certificate_filename(URLSpec const &url, Filename const &filename); 571 38 add_preapproved_server_certificate_pem 4 809 50 HTTPClient::add_preapproved_server_certificate_pem 0 1 173 982 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_preapproved_server_certificate_pem // Access: Published // Description: Adds the certificate defined in the indicated data // string, formatted as a PEM block, as a "pre-approved" // certificate for the indicated server, defined by the // hostname and port (only) from the given URL. // // If the server offers this particular certificate on a // secure connection, it will be accepted without // question. This is particularly useful for // communicating with a server using a known self-signed // certificate. // // See also the similar // add_preapproved_server_certificate_filename(), and // the weaker add_preapproved_server_certificate_name(). //////////////////////////////////////////////////////////////////// 109 bool HTTPClient::add_preapproved_server_certificate_pem(URLSpec const &url, basic_string< char > const &pem); 572 39 add_preapproved_server_certificate_name 4 809 51 HTTPClient::add_preapproved_server_certificate_name 0 1 174 1358 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_preapproved_server_certificate_name // Access: Published // Description: Adds the certificate *name* only, as a "pre-approved" // certificate name for the indicated server, defined by // the hostname and port (only) from the given URL. // // This is a weaker function than // add_preapproved_server_certificate_filename(). This // checks only the subject name of the certificate, // without checking for a particular certificate by key. // This means that a variety of server certificates may // match the indicated name. // // Because this is a weaker verification, it only // applies to server certificates that are signed by a // recognized certificate authority. Thus, it cannot be // used to pre-approve self-signed certificates, but it // can be used to accept a server certificate offered by // a different hostname than the one in the cert itself. // // The certificate name should be formatted in the form // /type0=value0/type1=value1/type2=... //////////////////////////////////////////////////////////////////// 111 bool HTTPClient::add_preapproved_server_certificate_name(URLSpec const &url, basic_string< char > const &name); 573 37 clear_preapproved_server_certificates 4 809 49 HTTPClient::clear_preapproved_server_certificates 0 1 175 344 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_preapproved_server_certificates // Access: Published // Description: Removes all preapproved server certificates for the // indicated server and port. //////////////////////////////////////////////////////////////////// 75 void HTTPClient::clear_preapproved_server_certificates(URLSpec const &url); 574 41 clear_all_preapproved_server_certificates 4 809 53 HTTPClient::clear_all_preapproved_server_certificates 0 1 176 330 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_all_preapproved_server_certificates // Access: Published // Description: Removes all preapproved server certificates for all // servers. //////////////////////////////////////////////////////////////////// 65 void HTTPClient::clear_all_preapproved_server_certificates(void); 575 16 set_http_version 4 809 28 HTTPClient::set_http_version 0 1 177 483 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_http_version // Access: Published // Description: Specifies the version of HTTP that the client uses to // identify itself to the server. The default is HV_11, // or HTTP 1.0; you can set this to HV_10 (HTTP 1.0) to // request the server use the older interface. //////////////////////////////////////////////////////////////////// 72 inline void HTTPClient::set_http_version(HTTPEnum::HTTPVersion version); 576 16 get_http_version 4 809 28 HTTPClient::get_http_version 0 1 178 324 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_http_version // Access: Published // Description: Returns the client's current setting for HTTP // version. See set_http_version(). //////////////////////////////////////////////////////////////////// 70 inline HTTPEnum::HTTPVersion HTTPClient::get_http_version(void) const; 577 23 get_http_version_string 4 809 35 HTTPClient::get_http_version_string 0 1 179 336 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_http_version_string // Access: Published // Description: Returns the current HTTP version setting as a string, // e.g. "HTTP/1.0" or "HTTP/1.1". //////////////////////////////////////////////////////////////////// 69 basic_string< char > HTTPClient::get_http_version_string(void) const; 578 25 parse_http_version_string 4 809 37 HTTPClient::parse_http_version_string 0 1 180 464 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::parse_http_version_string // Access: Published // Description: Matches the string representing a particular HTTP // version against any of the known versions and returns // the appropriate enumerated value, or HV_other if the // version is unknown. //////////////////////////////////////////////////////////////////// 104 static HTTPEnum::HTTPVersion HTTPClient::parse_http_version_string(basic_string< char > const &version); 579 17 load_certificates 4 809 29 HTTPClient::load_certificates 0 1 181 539 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::load_certificates // Access: Published // Description: Reads the certificate(s) (delimited by -----BEGIN // CERTIFICATE----- and -----END CERTIFICATE-----) from // the indicated file and makes them known as trusted // public keys for validating future connections. // Returns true on success, false otherwise. //////////////////////////////////////////////////////////////////// 61 bool HTTPClient::load_certificates(Filename const &filename); 580 14 set_verify_ssl 4 809 26 HTTPClient::set_verify_ssl 0 1 182 556 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_verify_ssl // Access: Published // Description: Specifies whether the client will insist on verifying // the identity of the servers it connects to via SSL // (that is, https). // // The parameter value is an enumerated type which // indicates the level of security to which the client // will insist upon. //////////////////////////////////////////////////////////////////// 73 inline void HTTPClient::set_verify_ssl(HTTPClient::VerifySSL verify_ssl); 581 14 get_verify_ssl 4 809 26 HTTPClient::get_verify_ssl 0 1 183 403 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_verify_ssl // Access: Published // Description: Returns whether the client will insist on verifying // the identity of the servers it connects to via SSL // (that is, https). See set_verify_ssl(). //////////////////////////////////////////////////////////////////// 68 inline HTTPClient::VerifySSL HTTPClient::get_verify_ssl(void) const; 582 15 set_cipher_list 4 809 27 HTTPClient::set_cipher_list 0 1 184 715 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_cipher_list // Access: Published // Description: Specifies the set of ciphers that are to be made // available for SSL connections. This is a string as // described in the ciphers(1) man page of the OpenSSL // documentation (or see // http://www.openssl.org/docs/apps/ciphers.html ). If // this is not specified, the default is provided by the // Config file. You may also specify "DEFAULT" to use // the built-in OpenSSL default value. //////////////////////////////////////////////////////////////////// 81 inline void HTTPClient::set_cipher_list(basic_string< char > const &cipher_list); 583 15 get_cipher_list 4 809 27 HTTPClient::get_cipher_list 0 1 185 323 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_cipher_list // Access: Published // Description: Returns the set of ciphers as set by // set_cipher_list(). See set_cipher_list(). //////////////////////////////////////////////////////////////////// 75 inline basic_string< char > const &HTTPClient::get_cipher_list(void) const; 584 12 make_channel 4 809 24 HTTPClient::make_channel 0 1 186 1184 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::make_channel // Access: Published // Description: Returns a new HTTPChannel object that may be used // for reading multiple documents using the same // connection, for greater network efficiency than // calling HTTPClient::get_document() repeatedly (which // would force a new connection for each document). // // Also, HTTPChannel has some additional, less common // interface methods than the basic interface methods // that exist on HTTPClient; if you wish to call any of // these methods you must first obtain an HTTPChannel. // // Pass true for persistent_connection to gain this // network efficiency. If, on the other hand, your // intention is to use the channel to retrieve only one // document, then pass false to inform the server that // we will be dropping the connection after the first // document. //////////////////////////////////////////////////////////////////// 78 PointerTo< HTTPChannel > HTTPClient::make_channel(bool persistent_connection); 585 9 post_form 4 809 21 HTTPClient::post_form 0 1 187 531 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::post_form // Access: Published // Description: Posts form data to a particular URL and retrieves the // response. Returns a new HTTPChannel object whether // the document is successfully read or not; you can // test is_valid() and get_return_code() to determine // whether the document was retrieved. //////////////////////////////////////////////////////////////////// 101 PointerTo< HTTPChannel > HTTPClient::post_form(URLSpec const &url, basic_string< char > const &body); 586 12 get_document 4 809 24 HTTPClient::get_document 0 1 188 508 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_document // Access: Published // Description: Opens the named document for reading. Returns a new // HTTPChannel object whether the document is // successfully read or not; you can test is_valid() and // get_return_code() to determine whether the document // was retrieved. //////////////////////////////////////////////////////////////////// 70 PointerTo< HTTPChannel > HTTPClient::get_document(URLSpec const &url); 587 10 get_header 4 809 22 HTTPClient::get_header 0 1 189 522 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_header // Access: Published // Description: Like get_document(), except only the header // associated with the document is retrieved. This may // be used to test for existence of the document; it // might also return the size of the document (if the // server gives us this information). //////////////////////////////////////////////////////////////////// 68 PointerTo< HTTPChannel > HTTPClient::get_header(URLSpec const &url); 588 13 base64_encode 4 809 25 HTTPClient::base64_encode 0 1 190 489 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::base64_encode // Access: Published, Static // Description: Implements HTTPAuthorization::base64_encode(). This // is provided here just as a convenient place to // publish it for access by the scripting language; C++ // code should probably use HTTPAuthorization directly. //////////////////////////////////////////////////////////////////// 92 static inline basic_string< char > HTTPClient::base64_encode(basic_string< char > const &s); 589 13 base64_decode 4 809 25 HTTPClient::base64_decode 0 1 191 489 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::base64_decode // Access: Published, Static // Description: Implements HTTPAuthorization::base64_decode(). This // is provided here just as a convenient place to // publish it for access by the scripting language; C++ // code should probably use HTTPAuthorization directly. //////////////////////////////////////////////////////////////////// 92 static inline basic_string< char > HTTPClient::base64_decode(basic_string< char > const &s); 590 14 get_global_ptr 4 809 26 HTTPClient::get_global_ptr 0 1 192 272 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_global_ptr // Access: Published, Static // Description: Returns the default global HTTPClient. //////////////////////////////////////////////////////////////////// 52 static HTTPClient *HTTPClient::get_global_ptr(void); 591 13 HTTPEntityTag 4 812 28 HTTPEntityTag::HTTPEntityTag 0 4 193 194 195 196 1659 // Filename: httpEntityTag.I // Created by: drose (28Jan03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Constructor // Access: Published // Description: This constructor accepts an explicit weak flag and a // literal (not quoted) tag string. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Constructor // Access: Published // Description: This constructor accepts a string as formatted from // an HTTP server (e.g. the tag is quoted, with an // optional W/ prefix.) //////////////////////////////////////////////////////////////////// 251 inline HTTPEntityTag::HTTPEntityTag(void); HTTPEntityTag::HTTPEntityTag(basic_string< char > const &text); inline HTTPEntityTag::HTTPEntityTag(bool weak, basic_string< char > const &tag); inline HTTPEntityTag::HTTPEntityTag(HTTPEntityTag const ©); 592 10 operator = 4 812 25 HTTPEntityTag::operator = 0 1 197 238 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 65 inline void HTTPEntityTag::operator =(HTTPEntityTag const ©); 593 7 is_weak 4 812 22 HTTPEntityTag::is_weak 0 1 198 525 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::is_weak // Access: Published // Description: Returns true if the entity tag is marked as "weak". // A consistent weak entity tag does not guarantee that // its resource has not changed in any way, but it does // promise that the resource has not changed in any // semantically meaningful way. //////////////////////////////////////////////////////////////////// 47 inline bool HTTPEntityTag::is_weak(void) const; 594 7 get_tag 4 812 22 HTTPEntityTag::get_tag 0 1 199 258 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::get_tag // Access: Published // Description: Returns the tag as a literal string. //////////////////////////////////////////////////////////////////// 70 inline basic_string< char > const &HTTPEntityTag::get_tag(void) const; 595 10 get_string 4 812 25 HTTPEntityTag::get_string 0 1 200 372 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::get_string // Access: Published // Description: Returns the entity tag formatted for sending to an // HTTP server (the tag is quoted, with a conditional W/ // prefix). //////////////////////////////////////////////////////////////////// 59 basic_string< char > HTTPEntityTag::get_string(void) const; 596 12 strong_equiv 4 812 27 HTTPEntityTag::strong_equiv 0 1 201 345 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::strong_equiv // Access: Published // Description: Returns true if the two tags have "strong" equivalence: // they are the same tag, and both are "strong". //////////////////////////////////////////////////////////////////// 74 inline bool HTTPEntityTag::strong_equiv(HTTPEntityTag const &other) const; 597 10 weak_equiv 4 812 25 HTTPEntityTag::weak_equiv 0 1 202 349 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::weak_equiv // Access: Published // Description: Returns true if the two tags have "weak" equivalence: // they are the same tag, and one or both may be "weak". //////////////////////////////////////////////////////////////////// 72 inline bool HTTPEntityTag::weak_equiv(HTTPEntityTag const &other) const; 598 11 operator == 4 812 26 HTTPEntityTag::operator == 0 1 203 381 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Operator == // Access: Published // Description: The == operator tests object equivalence; see also // strong_equiv() and weak_equiv() for the two kinds of // HTTP equivalence. //////////////////////////////////////////////////////////////////// 73 inline bool HTTPEntityTag::operator ==(HTTPEntityTag const &other) const; 599 11 operator != 4 812 26 HTTPEntityTag::operator != 0 1 204 225 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 73 inline bool HTTPEntityTag::operator !=(HTTPEntityTag const &other) const; 600 10 operator < 4 812 25 HTTPEntityTag::operator < 0 1 205 224 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 72 inline bool HTTPEntityTag::operator <(HTTPEntityTag const &other) const; 601 10 compare_to 4 812 25 HTTPEntityTag::compare_to 0 1 206 409 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::compare_to // Access: Published // Description: Returns a number less than zero if this HTTPEntityTag // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. //////////////////////////////////////////////////////////////////// 71 inline int HTTPEntityTag::compare_to(HTTPEntityTag const &other) const; 602 6 output 4 812 21 HTTPEntityTag::output 0 1 207 221 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 54 inline void HTTPEntityTag::output(ostream &out) const; 603 14 ~HTTPEntityTag 4 812 29 HTTPEntityTag::~HTTPEntityTag 0 0 0 36 HTTPEntityTag::~HTTPEntityTag(void); 604 12 DocumentSpec 4 813 26 DocumentSpec::DocumentSpec 0 4 208 209 210 211 1395 // Filename: documentSpec.I // Created by: drose (28Jan03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 224 inline DocumentSpec::DocumentSpec(void); inline DocumentSpec::DocumentSpec(basic_string< char > const &url); inline DocumentSpec::DocumentSpec(URLSpec const &url); inline DocumentSpec::DocumentSpec(DocumentSpec const ©); 605 10 operator = 4 813 24 DocumentSpec::operator = 0 1 212 237 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline void DocumentSpec::operator =(DocumentSpec const ©); 606 11 operator == 4 813 25 DocumentSpec::operator == 0 1 213 224 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 inline bool DocumentSpec::operator ==(DocumentSpec const &other) const; 607 11 operator != 4 813 25 DocumentSpec::operator != 0 1 214 224 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 inline bool DocumentSpec::operator !=(DocumentSpec const &other) const; 608 10 operator < 4 813 24 DocumentSpec::operator < 0 1 215 223 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 70 inline bool DocumentSpec::operator <(DocumentSpec const &other) const; 609 10 compare_to 4 813 24 DocumentSpec::compare_to 0 1 216 224 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::compare_to // Access: Published // Description: //////////////////////////////////////////////////////////////////// 62 int DocumentSpec::compare_to(DocumentSpec const &other) const; 610 7 set_url 4 813 21 DocumentSpec::set_url 0 1 217 598 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_url // Access: Published // Description: Changes the URL of the DocumentSpec without modifying // its other properties. Normally this would be a // strange thing to do, because the tag and date are // usually strongly associated with the URL. To get a // DocumentSpec pointing to a new URL, you would // normally create a new DocumentSpec object. //////////////////////////////////////////////////////////////////// 54 inline void DocumentSpec::set_url(URLSpec const &url); 611 7 get_url 4 813 21 DocumentSpec::get_url 0 1 218 259 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_url // Access: Published // Description: Retrieves the URL of the DocumentSpec. //////////////////////////////////////////////////////////////////// 56 inline URLSpec const &DocumentSpec::get_url(void) const; 612 7 set_tag 4 813 21 DocumentSpec::set_tag 0 1 219 296 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_tag // Access: Published // Description: Changes the identity tag associated with the // DocumentSpec. //////////////////////////////////////////////////////////////////// 60 inline void DocumentSpec::set_tag(HTTPEntityTag const &tag); 613 7 has_tag 4 813 21 DocumentSpec::has_tag 0 1 220 306 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::has_tag // Access: Published // Description: Returns true if an identity tag is associated with // the DocumentSpec. //////////////////////////////////////////////////////////////////// 46 inline bool DocumentSpec::has_tag(void) const; 614 7 get_tag 4 813 21 DocumentSpec::get_tag 0 1 221 524 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_tag // Access: Published // Description: Returns the identity tag associated with the // DocumentSpec, if there is one. It is an error to // call this if has_tag() returns false. // // The identity tag is set by the HTTP server to // uniquely refer to a particular version of a document. //////////////////////////////////////////////////////////////////// 62 inline HTTPEntityTag const &DocumentSpec::get_tag(void) const; 615 9 clear_tag 4 813 23 DocumentSpec::clear_tag 0 1 222 315 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::clear_tag // Access: Published // Description: Removes the identity tag associated with the // DocumentSpec, if there is one. //////////////////////////////////////////////////////////////////// 42 inline void DocumentSpec::clear_tag(void); 616 8 set_date 4 813 22 DocumentSpec::set_date 0 1 223 303 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_date // Access: Published // Description: Changes the last-modified date associated with the // DocumentSpec. //////////////////////////////////////////////////////////////////// 57 inline void DocumentSpec::set_date(HTTPDate const &date); 617 8 has_date 4 813 22 DocumentSpec::has_date 0 1 224 312 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::has_date // Access: Published // Description: Returns true if a last-modified date is associated // with the DocumentSpec. //////////////////////////////////////////////////////////////////// 47 inline bool DocumentSpec::has_date(void) const; 618 8 get_date 4 813 22 DocumentSpec::get_date 0 1 225 395 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_date // Access: Published // Description: Returns the last-modified date associated with the // DocumentSpec, if there is one. It is an error to // call this if has_date() returns false. //////////////////////////////////////////////////////////////////// 58 inline HTTPDate const &DocumentSpec::get_date(void) const; 619 10 clear_date 4 813 24 DocumentSpec::clear_date 0 1 226 322 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::clear_date // Access: Published // Description: Removes the last-modified date associated with the // DocumentSpec, if there is one. //////////////////////////////////////////////////////////////////// 43 inline void DocumentSpec::clear_date(void); 620 16 set_request_mode 4 813 30 DocumentSpec::set_request_mode 0 1 227 1984 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_request_mode // Access: Published // Description: Sets the request mode of this DocumentSpec. This is // only relevant when using the DocumentSpec to generate // a request (for instance, in HTTPChannel). This // specifies whether the document request will ask the // server for a newer version than the indicated // version, or the exact version, neither, or either. // // The possible values are: // // RM_any: ignore date and tag (if specified), and // retrieve any document that matches the URL. For a // subrange request, if the document matches the // version indicated exactly, retrieve the subrange // only; otherwise, retrieve the entire document. // // RM_equal: request only the precise version of the // document that matches the particular date and/or // tag exactly, if specified; fail if this version is // not available. // // RM_newer: request any document that is newer than // the version indicated by the particular date and/or // tag; fail if only that version (or older versions) // are available. // // RM_newer_or_equal: request any document that // matches the version indicated by the particular // date and/or tag, or is a newer version; fail if // only older versions are available. // // In any of the above, you may specify either or both // of the last-modified date and the identity tag, // whichever is known to the client. // // The default mode is RM_any. //////////////////////////////////////////////////////////////////// 83 inline void DocumentSpec::set_request_mode(DocumentSpec::RequestMode request_mode); 621 16 get_request_mode 4 813 30 DocumentSpec::get_request_mode 0 1 228 318 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_request_mode // Access: Published // Description: Returns the request mode of this DocumentSpec. See // set_request_mode(). //////////////////////////////////////////////////////////////////// 76 inline DocumentSpec::RequestMode DocumentSpec::get_request_mode(void) const; 622 17 set_cache_control 4 813 31 DocumentSpec::set_cache_control 0 1 229 1075 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_cache_control // Access: Published // Description: Specifies what kind of cached value is acceptable for // this document. Warning: some HTTP proxies may not // respect this setting and may return a cached result // anyway. // // CC_allow_cache: the normal HTTP behavior; the // server may return a cached value if it believes it // is valid. // // CC_revalidate: a proxy is forced to contact the // origin server and verify that is cached value is in // fact still valid before it returns it. // // CC_no_cache: a proxy must not return its cached // value at all, but is forced to go all the way back // to the origin server for the official document. // // The default mode is CC_allow_cache. //////////////////////////////////////////////////////////////////// 86 inline void DocumentSpec::set_cache_control(DocumentSpec::CacheControl cache_control); 623 17 get_cache_control 4 813 31 DocumentSpec::get_cache_control 0 1 230 320 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_cache_control // Access: Published // Description: Returns the request mode of this DocumentSpec. See // set_cache_control(). //////////////////////////////////////////////////////////////////// 78 inline DocumentSpec::CacheControl DocumentSpec::get_cache_control(void) const; 624 5 input 4 813 19 DocumentSpec::input 0 1 231 391 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::input // Access: Published // Description: Can be used to read in the DocumentSpec from a stream // generated either by output() or write(). Returns // true on success, false on failure. //////////////////////////////////////////////////////////////////// 38 bool DocumentSpec::input(istream &in); 625 6 output 4 813 20 DocumentSpec::output 0 1 232 220 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 46 void DocumentSpec::output(ostream &out) const; 626 5 write 4 813 19 DocumentSpec::write 0 2 233 234 219 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 69 void DocumentSpec::write(ostream &out, int indent_level = (0)) const; 627 13 ~DocumentSpec 4 813 27 DocumentSpec::~DocumentSpec 0 0 0 34 DocumentSpec::~DocumentSpec(void); 628 10 get_client 4 816 23 HTTPChannel::get_client 0 1 235 763 // Filename: httpChannel.I // Created by: drose (24Sep02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_client // Access: Published // Description: Returns the HTTPClient object that owns this channel. //////////////////////////////////////////////////////////////////// 55 inline HTTPClient *HTTPChannel::get_client(void) const; 629 8 is_valid 4 816 21 HTTPChannel::is_valid 0 1 236 367 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::is_valid // Access: Published // Description: Returns true if the last-requested document was // successfully retrieved and is ready to be read, false // otherwise. //////////////////////////////////////////////////////////////////// 46 inline bool HTTPChannel::is_valid(void) const; 630 19 is_connection_ready 4 816 32 HTTPChannel::is_connection_ready 0 1 237 410 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::is_connection_ready // Access: Published // Description: Returns true if a connection has been established to // the named server in a previous call to connect_to() // or begin_connect_to(), false otherwise. //////////////////////////////////////////////////////////////////// 57 inline bool HTTPChannel::is_connection_ready(void) const; 631 7 get_url 4 816 20 HTTPChannel::get_url 0 1 238 572 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_url // Access: Published // Description: Returns the URL that was used to retrieve the // most recent document: whatever URL was last passed to // get_document() or get_header(). If a redirect has // transparently occurred, this will return the new, // redirected URL (the actual URL at which the document // was located). //////////////////////////////////////////////////////////////////// 55 inline URLSpec const &HTTPChannel::get_url(void) const; 632 17 get_document_spec 4 816 30 HTTPChannel::get_document_spec 0 1 239 703 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_document_spec // Access: Published // Description: Returns the DocumentSpec associated with the most // recent document. This includes its actual URL // (following redirects) along with the identity tag and // last-modified date, if supplied by the server. // // This structure may be saved and used to retrieve the // same version of the document later, or to // conditionally retrieve a newer version if it is // available. //////////////////////////////////////////////////////////////////// 70 inline DocumentSpec const &HTTPChannel::get_document_spec(void) const; 633 16 get_http_version 4 816 29 HTTPChannel::get_http_version 0 1 240 385 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_http_version // Access: Published // Description: Returns the HTTP version number returned by the // server, as one of the HTTPClient enumerated types, // e.g. HTTPClient::HV_11. //////////////////////////////////////////////////////////////////// 71 inline HTTPEnum::HTTPVersion HTTPChannel::get_http_version(void) const; 634 23 get_http_version_string 4 816 36 HTTPChannel::get_http_version_string 0 1 241 348 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_http_version_string // Access: Published // Description: Returns the HTTP version number returned by the // server, formatted as a string, e.g. "HTTP/1.1". //////////////////////////////////////////////////////////////////// 84 inline basic_string< char > const &HTTPChannel::get_http_version_string(void) const; 635 15 get_status_code 4 816 28 HTTPChannel::get_status_code 0 1 242 853 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_status_code // Access: Published // Description: Returns the HTML return code from the document // retrieval request. This will be in the 200 range if // the document is successfully retrieved, or some other // value in the case of an error. // // Some proxy errors during an https-over-proxy request // would return the same status code as a different // error that occurred on the host server. To // differentiate these cases, status codes that are // returned by the proxy during the CONNECT phase // (except code 407) are incremented by 1000. //////////////////////////////////////////////////////////////////// 52 inline int HTTPChannel::get_status_code(void) const; 636 17 get_status_string 4 816 30 HTTPChannel::get_status_string 0 1 243 383 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_status_string // Access: Published // Description: Returns the string as returned by the server // describing the status code for humans. This may or // may not be meaningful. //////////////////////////////////////////////////////////////////// 64 basic_string< char > HTTPChannel::get_status_string(void) const; 637 13 get_www_realm 4 816 26 HTTPChannel::get_www_realm 0 1 244 668 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_www_realm // Access: Published // Description: If the document failed to connect because of a 401 // (Authorization required), this method will return the // "realm" returned by the server in which the requested // document must be authenticated. This string may be // presented to the user to request an associated // username and password (which then should be stored in // HTTPClient::set_username()). //////////////////////////////////////////////////////////////////// 74 inline basic_string< char > const &HTTPChannel::get_www_realm(void) const; 638 15 get_proxy_realm 4 816 28 HTTPChannel::get_proxy_realm 0 1 245 604 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_proxy_realm // Access: Published // Description: If the document failed to connect because of a 407 // (Proxy authorization required), this method will // return the "realm" returned by the proxy. This // string may be presented to the user to request an // associated username and password (which then should // be stored in HTTPClient::set_username()). //////////////////////////////////////////////////////////////////// 76 inline basic_string< char > const &HTTPChannel::get_proxy_realm(void) const; 639 12 get_redirect 4 816 25 HTTPChannel::get_redirect 0 1 246 669 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_redirect // Access: Published // Description: If the document failed with a redirect code (300 // series), this will generally contain the new URL the // server wants us to try. In many cases, the client // will automatically follow redirects; if these are // succesful the client will return a successful code // and get_redirect() will return empty, but get_url() // will return the new, redirected URL. //////////////////////////////////////////////////////////////////// 60 inline URLSpec const &HTTPChannel::get_redirect(void) const; 640 16 get_header_value 4 816 29 HTTPChannel::get_header_value 0 1 247 409 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_header_value // Access: Published // Description: Returns the HTML header value associated with the // indicated key, or empty string if the key was not // defined in the message returned by the server. //////////////////////////////////////////////////////////////////// 90 basic_string< char > HTTPChannel::get_header_value(basic_string< char > const &key) const; 641 22 get_num_redirect_steps 4 816 35 HTTPChannel::get_num_redirect_steps 0 1 248 498 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_num_redirect_steps // Access: Published // Description: If the document automatically followed one or more // redirects, this will return the number of redirects // that were automatically followed. Use // get_redirect_step() to retrieve each URL in // sequence. //////////////////////////////////////////////////////////////////// 59 inline int HTTPChannel::get_num_redirect_steps(void) const; 642 17 get_redirect_step 4 816 30 HTTPChannel::get_redirect_step 0 1 249 446 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_redirect_step // Access: Published // Description: Use in conjunction with get_num_redirect_steps() to // extract the chain of URL's that the channel was // automatically redirected through to arrive at the // final document. //////////////////////////////////////////////////////////////////// 66 inline URLSpec const &HTTPChannel::get_redirect_step(int n) const; 643 25 set_persistent_connection 4 816 38 HTTPChannel::set_persistent_connection 0 1 250 894 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_persistent_connection // Access: Published // Description: Indicates whether the HTTPChannel should try to keep // the connection to the server open and reuse that // connection for multiple documents, or whether it // should close the connection and open a new one for // each request. Set this true to keep the connections // around when possible, false to recycle them. // // It makes most sense to set this false when the // HTTPChannel will be used only once to retrieve a // single document, true when you will be using the same // HTTPChannel object to retrieve multiple documents. //////////////////////////////////////////////////////////////////// 79 inline void HTTPChannel::set_persistent_connection(bool persistent_connection); 644 25 get_persistent_connection 4 816 38 HTTPChannel::get_persistent_connection 0 1 251 553 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_persistent_connection // Access: Published // Description: Returns whether the HTTPChannel should try to keep // the connection to the server open and reuse that // connection for multiple documents, or whether it // should close the connection and open a new one for // each request. See set_persistent_connection(). //////////////////////////////////////////////////////////////////// 63 inline bool HTTPChannel::get_persistent_connection(void) const; 645 21 will_close_connection 4 816 34 HTTPChannel::will_close_connection 0 1 252 485 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::will_close_connection // Access: Published // Description: Returns true if the server has indicated it will // close the connection after this document has been // read, or false if it will remain open (and future // documents may be requested on the same connection). //////////////////////////////////////////////////////////////////// 52 bool HTTPChannel::will_close_connection(void) const; 646 15 set_allow_proxy 4 816 28 HTTPChannel::set_allow_proxy 0 1 253 615 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_allow_proxy // Access: Published // Description: If this is true (the normal case), the HTTPClient // will be consulted for information about the proxy to // be used for each connection via this HTTPChannel. If // this has been set to false by the user, then all // connections will be made directly, regardless of the // proxy settings indicated on the HTTPClient. //////////////////////////////////////////////////////////////////// 59 inline void HTTPChannel::set_allow_proxy(bool allow_proxy); 647 15 get_allow_proxy 4 816 28 HTTPChannel::get_allow_proxy 0 1 254 615 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_allow_proxy // Access: Published // Description: If this is true (the normal case), the HTTPClient // will be consulted for information about the proxy to // be used for each connection via this HTTPChannel. If // this has been set to false by the user, then all // connections will be made directly, regardless of the // proxy settings indicated on the HTTPClient. //////////////////////////////////////////////////////////////////// 53 inline bool HTTPChannel::get_allow_proxy(void) const; 648 16 set_proxy_tunnel 4 816 29 HTTPChannel::set_proxy_tunnel 0 1 255 1220 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_proxy_tunnel // Access: Published // Description: Normally, a proxy is itself asked for ordinary URL's, // and the proxy decides whether to hand the client a // cached version of the document or to contact the // server for a fresh version. The proxy may also // modify the headers and transfer encoding on the way. // // If this is set to true, then instead of asking for // URL's from the proxy, we will ask the proxy to open a // connection to the server (for instance, on port 80); // if the proxy honors this request, then we contact the // server directly through this connection to retrieve // the document. If the proxy does not honor the // connect request, then the retrieve operation fails. // // SSL connections (e.g. https), and connections through // a Socks proxy, are always tunneled, regardless of the // setting of this flag. //////////////////////////////////////////////////////////////////// 61 inline void HTTPChannel::set_proxy_tunnel(bool proxy_tunnel); 649 16 get_proxy_tunnel 4 816 29 HTTPChannel::get_proxy_tunnel 0 1 256 418 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_proxy_tunnel // Access: Published // Description: Returns true if connections always tunnel through a // proxy, or false (the normal case) if we allow the // proxy to serve up documents. See set_proxy_tunnel(). //////////////////////////////////////////////////////////////////// 54 inline bool HTTPChannel::get_proxy_tunnel(void) const; 650 19 set_connect_timeout 4 816 32 HTTPChannel::set_connect_timeout 0 1 257 633 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_connect_timeout // Access: Published // Description: Sets the maximum length of time, in seconds, that the // channel will wait before giving up on establishing a // TCP connection. // // At present, this is used only for the nonblocking // interfaces (e.g. begin_get_document(), // begin_connect_to()), but it is used whether // set_blocking_connect() is true or false. //////////////////////////////////////////////////////////////////// 69 inline void HTTPChannel::set_connect_timeout(double timeout_seconds); 651 19 get_connect_timeout 4 816 32 HTTPChannel::get_connect_timeout 0 1 258 382 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_connect_timeout // Access: Published // Description: Returns the length of time, in seconds, to wait for a // new nonblocking socket to connect. See // set_connect_timeout(). //////////////////////////////////////////////////////////////////// 59 inline double HTTPChannel::get_connect_timeout(void) const; 652 20 set_blocking_connect 4 816 33 HTTPChannel::set_blocking_connect 0 1 259 1043 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_blocking_connect // Access: Published // Description: If this flag is true, a socket connect will block // even for nonblocking I/O calls like // begin_get_document(), begin_connect_to(), etc. If // false, a socket connect will not block for // nonblocking I/O calls, but will block for blocking // I/O calls (get_document(), connect_to(), etc.). // // Setting this true is useful when you want to use // non-blocking I/O once you have established the // connection, but you don't want to bother with polling // for the initial connection. It's also useful when // you don't particularly care about non-blocking I/O, // but you need to respect timeouts like connect_timeout // and http_timeout. //////////////////////////////////////////////////////////////////// 69 inline void HTTPChannel::set_blocking_connect(bool blocking_connect); 653 20 get_blocking_connect 4 816 33 HTTPChannel::get_blocking_connect 0 1 260 596 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_blocking_connect // Access: Published // Description: If this flag is true, a socket connect will block // even for nonblocking I/O calls like // begin_get_document(), begin_connect_to(), etc. If // false, a socket connect will not block for // nonblocking I/O calls, but will block for blocking // I/O calls (get_document(), connect_to(), etc.). //////////////////////////////////////////////////////////////////// 58 inline bool HTTPChannel::get_blocking_connect(void) const; 654 16 set_http_timeout 4 816 29 HTTPChannel::set_http_timeout 0 1 261 838 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_http_timeout // Access: Published // Description: Sets the maximum length of time, in seconds, that the // channel will wait for the HTTP server to finish // sending its response to our request. // // The timer starts counting after the TCP connection // has been established (see set_connect_timeout(), // above) and the request has been sent. // // At present, this is used only for the nonblocking // interfaces (e.g. begin_get_document(), // begin_connect_to()), but it is used whether // set_blocking_connect() is true or false. //////////////////////////////////////////////////////////////////// 66 inline void HTTPChannel::set_http_timeout(double timeout_seconds); 655 16 get_http_timeout 4 816 29 HTTPChannel::get_http_timeout 0 1 262 383 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_http_timeout // Access: Published // Description: Returns the length of time, in seconds, to wait for // the HTTP server to respond to our request. See // set_http_timeout(). //////////////////////////////////////////////////////////////////// 56 inline double HTTPChannel::get_http_timeout(void) const; 656 18 set_skip_body_size 4 816 31 HTTPChannel::set_skip_body_size 0 1 263 1032 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_skip_body_size // Access: Published // Description: Specifies the maximum number of bytes in a received // (but unwanted) body that will be skipped past, in // order to reset to a new request. // // That is, if this HTTPChannel requests a file via // get_document(), but does not call download_to_ram(), // download_to_file(), or open_read_body(), and instead // immediately requests a new file, then the HTTPChannel // has a choice whether to skip past the unwanted // document, or to close the connection and open a new // one. If the number of bytes to skip is more than // this threshold, the connection will be closed; // otherwise, the data will simply be read and // discarded. //////////////////////////////////////////////////////////////////// 73 inline void HTTPChannel::set_skip_body_size(unsigned int skip_body_size); 657 18 get_skip_body_size 4 816 31 HTTPChannel::get_skip_body_size 0 1 264 441 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_skip_body_size // Access: Published // Description: Returns the maximum number of bytes in a received // (but unwanted) body that will be skipped past, in // order to reset to a new request. See // set_skip_body_size(). //////////////////////////////////////////////////////////////////// 64 inline unsigned int HTTPChannel::get_skip_body_size(void) const; 658 16 set_idle_timeout 4 816 29 HTTPChannel::set_idle_timeout 0 1 265 712 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_idle_timeout // Access: Published // Description: Specifies the amount of time, in seconds, in which a // previously-established connection is allowed to // remain open and unused. If a previous connection has // remained unused for at least this number of seconds, // it will be closed and a new connection will be // opened; otherwise, the same connection will be reused // for the next request (for this particular // HTTPChannel). //////////////////////////////////////////////////////////////////// 63 inline void HTTPChannel::set_idle_timeout(double idle_timeout); 659 16 get_idle_timeout 4 816 29 HTTPChannel::get_idle_timeout 0 1 266 411 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_idle_timeout // Access: Published // Description: Returns the amount of time, in seconds, in which an // previously-established connection is allowed to // remain open and unused. See set_idle_timeout(). //////////////////////////////////////////////////////////////////// 56 inline double HTTPChannel::get_idle_timeout(void) const; 660 21 set_download_throttle 4 816 34 HTTPChannel::set_download_throttle 0 1 267 1100 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_download_throttle // Access: Published // Description: Specifies whether nonblocking downloads (via // download_to_file() or download_to_ram()) will be // limited so as not to use all available bandwidth. // // If this is true, when a download has been started on // this channel it will be invoked no more frequently // than get_max_updates_per_second(), and the total // bandwidth used by the download will be no more than // get_max_bytes_per_second(). If this is false, // downloads will proceed as fast as the server can send // the data. // // This only has effect on the nonblocking I/O methods // like begin_get_document(), etc. The blocking methods // like get_document() always use as much CPU and // bandwidth as they can get. //////////////////////////////////////////////////////////////////// 71 inline void HTTPChannel::set_download_throttle(bool download_throttle); 661 21 get_download_throttle 4 816 34 HTTPChannel::get_download_throttle 0 1 268 349 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_download_throttle // Access: Published // Description: Returns whether the nonblocking downloads will be // bandwidth-limited. See set_download_throttle(). //////////////////////////////////////////////////////////////////// 59 inline bool HTTPChannel::get_download_throttle(void) const; 662 24 set_max_bytes_per_second 4 816 37 HTTPChannel::set_max_bytes_per_second 0 1 269 449 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_max_bytes_per_second // Access: Published // Description: When bandwidth throttling is in effect (see // set_download_throttle()), this specifies the maximum // number of bytes per second that may be consumed by // this channel. //////////////////////////////////////////////////////////////////// 79 inline void HTTPChannel::set_max_bytes_per_second(double max_bytes_per_second); 663 24 get_max_bytes_per_second 4 816 37 HTTPChannel::get_max_bytes_per_second 0 1 270 392 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_max_bytes_per_second // Access: Published // Description: Returns the maximum number of bytes per second that // may be consumed by this channel when // get_download_throttle() is true. //////////////////////////////////////////////////////////////////// 64 inline double HTTPChannel::get_max_bytes_per_second(void) const; 664 26 set_max_updates_per_second 4 816 39 HTTPChannel::set_max_updates_per_second 0 1 271 467 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_max_updates_per_second // Access: Published // Description: When bandwidth throttling is in effect (see // set_download_throttle()), this specifies the maximum // number of times per second that run() will attempt to // do any downloading at all. //////////////////////////////////////////////////////////////////// 83 inline void HTTPChannel::set_max_updates_per_second(double max_updates_per_second); 665 26 get_max_updates_per_second 4 816 39 HTTPChannel::get_max_updates_per_second 0 1 272 393 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_max_updates_per_second // Access: Published // Description: Returns the maximum number of times per second that // run() will do anything at all, when // get_download_throttle() is true. //////////////////////////////////////////////////////////////////// 66 inline double HTTPChannel::get_max_updates_per_second(void) const; 666 22 set_expected_file_size 4 816 35 HTTPChannel::set_expected_file_size 0 1 273 617 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_expected_file_size // Access: Published // Description: This may be called immediately after a call to // get_document() or some related function to specify // the expected size of the document we are retrieving, // if we happen to know. This is used as the return // value to get_file_size() only in the case that the // server does not tell us the actual file size. //////////////////////////////////////////////////////////////////// 72 inline void HTTPChannel::set_expected_file_size(unsigned int file_size); 667 13 get_file_size 4 816 26 HTTPChannel::get_file_size 0 1 274 877 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_file_size // Access: Published, Virtual // Description: Returns the size of the file, if it is known. // Returns the value set by set_expected_file_size() if // the file size is not known, or 0 if this value was // not set. // // If the file is dynamically generated, the size may // not be available until a read has started // (e.g. open_read_body() has been called); and even // then it may increase as more of the file is read due // to the nature of HTTP/1.1 requests which can change // their minds midstream about how much data they're // sending you. //////////////////////////////////////////////////////////////////// 43 int HTTPChannel::get_file_size(void) const; 668 18 is_file_size_known 4 816 31 HTTPChannel::is_file_size_known 0 1 275 637 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::is_file_size_known // Access: Published // Description: Returns true if the size of the file we are currently // retrieving was told us by the server and thus is // reliably known, or false if the size reported by // get_file_size() represents an educated guess // (possibly as set by set_expected_file_size(), or as // inferred from a chunked transfer encoding in // progress). //////////////////////////////////////////////////////////////////// 56 inline bool HTTPChannel::is_file_size_known(void) const; 669 24 get_first_byte_requested 4 816 37 HTTPChannel::get_first_byte_requested 0 1 276 591 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_first_byte_requested // Access: Published // Description: Returns the first byte of the file requested by the // request. This will normally be 0 to indicate that // the file is being requested from the beginning, but // if the file was requested via a get_subdocument() // call, this will contain the first_byte parameter from // that call. //////////////////////////////////////////////////////////////////// 70 inline unsigned int HTTPChannel::get_first_byte_requested(void) const; 670 23 get_last_byte_requested 4 816 36 HTTPChannel::get_last_byte_requested 0 1 277 586 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_last_byte_requested // Access: Published // Description: Returns the last byte of the file requested by the // request. This will normally be 0 to indicate that // the file is being requested to its last byte, but if // the file was requested via a get_subdocument() call, // this will contain the last_byte parameter from that // call. //////////////////////////////////////////////////////////////////// 69 inline unsigned int HTTPChannel::get_last_byte_requested(void) const; 671 24 get_first_byte_delivered 4 816 37 HTTPChannel::get_first_byte_delivered 0 1 278 700 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_first_byte_delivered // Access: Published // Description: Returns the first byte of the file (that will be) // delivered by the server in response to the current // request. Normally, this is the same as // get_first_byte_requested(), but some servers will // ignore a subdocument request and always return the // whole file, in which case this value will be 0, // regardless of what was requested to // get_subdocument(). //////////////////////////////////////////////////////////////////// 70 inline unsigned int HTTPChannel::get_first_byte_delivered(void) const; 672 23 get_last_byte_delivered 4 816 36 HTTPChannel::get_last_byte_delivered 0 1 279 697 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_last_byte_delivered // Access: Published // Description: Returns the last byte of the file (that will be) // delivered by the server in response to the current // request. Normally, this is the same as // get_last_byte_requested(), but some servers will // ignore a subdocument request and always return the // whole file, in which case this value will be 0, // regardless of what was requested to // get_subdocument(). //////////////////////////////////////////////////////////////////// 69 inline unsigned int HTTPChannel::get_last_byte_delivered(void) const; 673 13 write_headers 4 816 26 HTTPChannel::write_headers 0 1 280 326 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::write_headers // Access: Published // Description: Outputs a list of all headers defined by the server // to the indicated output stream. //////////////////////////////////////////////////////////////////// 52 void HTTPChannel::write_headers(ostream &out) const; 674 5 reset 4 816 18 HTTPChannel::reset 0 1 281 894 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::reset // Access: Published // Description: Stops whatever file transaction is currently in // progress, closes the connection, and resets to begin // anew. You shouldn't ever need to call this, since // the channel should be able to reset itself cleanly // between requests, but it is provided in case you are // an especially nervous type. // // Don't call this after every request unless you set // set_persistent_connection() to false, since calling // reset() rudely closes the connection regardless of // whether we have told the server we intend to keep it // open or not. //////////////////////////////////////////////////////////////////// 37 inline void HTTPChannel::reset(void); 675 15 preserve_status 4 816 28 HTTPChannel::preserve_status 0 1 282 838 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::preserve_status // Access: Published // Description: Preserves the previous status code (presumably a // failure) from the previous connection attempt. If // the subsequent connection attempt also fails, the // returned status code will be the better of the // previous code and the current code. // // This can be called to daisy-chain subsequent attempts // to download the same document from different servers. // After all servers have been attempted, the final // status code will reflect the attempt that most nearly // succeeded. //////////////////////////////////////////////////////////////////// 47 inline void HTTPChannel::preserve_status(void); 676 19 clear_extra_headers 4 816 32 HTTPChannel::clear_extra_headers 0 1 283 334 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::clear_extra_headers // Access: Published // Description: Resets the extra headers that were previously added // via calls to send_extra_header(). //////////////////////////////////////////////////////////////////// 51 inline void HTTPChannel::clear_extra_headers(void); 677 17 send_extra_header 4 816 30 HTTPChannel::send_extra_header 0 1 284 658 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::send_extra_header // Access: Published // Description: Specifies an additional key: value pair that is added // into the header sent to the server with the next // request. This is passed along with no interpretation // by the HTTPChannel code. You may call this // repeatedly to append multiple headers. // // This is persistent for one request only; it must be // set again for each new request. //////////////////////////////////////////////////////////////////// 111 inline void HTTPChannel::send_extra_header(basic_string< char > const &key, basic_string< char > const &value); 678 12 get_document 4 816 25 HTTPChannel::get_document 0 1 285 338 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_document // Access: Published // Description: Opens the named document for reading, if available. // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 63 inline bool HTTPChannel::get_document(DocumentSpec const &url); 679 15 get_subdocument 4 816 28 HTTPChannel::get_subdocument 0 1 286 603 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_subdocument // Access: Published // Description: Retrieves only the specified byte range of the // indicated document. If last_byte is 0, it stands for // the last byte of the document. When a subdocument is // requested, get_file_size() and get_bytes_downloaded() // will report the number of bytes of the subdocument, // not of the complete document. //////////////////////////////////////////////////////////////////// 115 inline bool HTTPChannel::get_subdocument(DocumentSpec const &url, unsigned int first_byte, unsigned int last_byte); 680 10 get_header 4 816 23 HTTPChannel::get_header 0 1 287 523 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_header // Access: Published // Description: Like get_document(), except only the header // associated with the document is retrieved. This may // be used to test for existence of the document; it // might also return the size of the document (if the // server gives us this information). //////////////////////////////////////////////////////////////////// 61 inline bool HTTPChannel::get_header(DocumentSpec const &url); 681 9 post_form 4 816 22 HTTPChannel::post_form 0 1 288 302 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::post_form // Access: Published // Description: Posts form data to a particular URL and retrieves the // response. //////////////////////////////////////////////////////////////////// 94 inline bool HTTPChannel::post_form(DocumentSpec const &url, basic_string< char > const &body); 682 12 put_document 4 816 25 HTTPChannel::put_document 0 1 289 339 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::put_document // Access: Published // Description: Uploads the indicated body to the server to replace // the indicated URL, if the server allows this. //////////////////////////////////////////////////////////////////// 97 inline bool HTTPChannel::put_document(DocumentSpec const &url, basic_string< char > const &body); 683 15 delete_document 4 816 28 HTTPChannel::delete_document 0 1 290 276 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::delete_document // Access: Published // Description: Requests the server to remove the indicated URL. //////////////////////////////////////////////////////////////////// 66 inline bool HTTPChannel::delete_document(DocumentSpec const &url); 684 9 get_trace 4 816 22 HTTPChannel::get_trace 0 1 291 401 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_trace // Access: Published // Description: Sends a TRACE message to the server, which should // return back the same message as the server received // it, allowing inspection of proxy hops, etc. //////////////////////////////////////////////////////////////////// 60 inline bool HTTPChannel::get_trace(DocumentSpec const &url); 685 10 connect_to 4 816 23 HTTPChannel::connect_to 0 1 292 624 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::connect_to // Access: Published // Description: Establish a direct connection to the server and port // indicated by the URL, but do not issue any HTTP // requests. If successful, the connection may then be // taken to use for whatever purposes you like by // calling get_connection(). // // This establishes a blocking I/O socket. Also see // begin_connect_to(). //////////////////////////////////////////////////////////////////// 61 inline bool HTTPChannel::connect_to(DocumentSpec const &url); 686 11 get_options 4 816 24 HTTPChannel::get_options 0 1 293 380 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_options // Access: Published // Description: Sends an OPTIONS message to the server, which should // query the available options, possibly in relation to // a specified URL. //////////////////////////////////////////////////////////////////// 62 inline bool HTTPChannel::get_options(DocumentSpec const &url); 687 18 begin_get_document 4 816 31 HTTPChannel::begin_get_document 0 1 294 785 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_get_document // Access: Published // Description: Begins a non-blocking request to retrieve a given // document. This method will return immediately, even // before a connection to the server has necessarily // been established; you must then call run() from time // to time until the return value of run() is false. // Then you may check is_valid() and get_status_code() // to determine the status of your request. // // If a previous request had been pending, that request // is discarded. //////////////////////////////////////////////////////////////////// 69 inline void HTTPChannel::begin_get_document(DocumentSpec const &url); 688 21 begin_get_subdocument 4 816 34 HTTPChannel::begin_get_subdocument 0 1 295 658 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_get_subdocument // Access: Published // Description: Begins a non-blocking request to retrieve only the // specified byte range of the indicated document. If // last_byte is 0, it stands for the last byte of the // document. When a subdocument is requested, // get_file_size() and get_bytes_downloaded() will // report the number of bytes of the subdocument, not of // the complete document. //////////////////////////////////////////////////////////////////// 121 inline void HTTPChannel::begin_get_subdocument(DocumentSpec const &url, unsigned int first_byte, unsigned int last_byte); 689 16 begin_get_header 4 816 29 HTTPChannel::begin_get_header 0 1 296 347 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_get_header // Access: Published // Description: Begins a non-blocking request to retrieve a given // header. See begin_get_document() and get_header(). //////////////////////////////////////////////////////////////////// 67 inline void HTTPChannel::begin_get_header(DocumentSpec const &url); 690 15 begin_post_form 4 816 28 HTTPChannel::begin_post_form 0 1 297 769 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_post_form // Access: Published // Description: Posts form data to a particular URL and retrieves the // response, all using non-blocking I/O. See // begin_get_document() and post_form(). // // It is important to note that you *must* call run() // repeatedly after calling this method until run() // returns false, and you may not call any other // document posting or retrieving methods using the // HTTPChannel object in the interim, or your form data // may not get posted. //////////////////////////////////////////////////////////////////// 100 inline void HTTPChannel::begin_post_form(DocumentSpec const &url, basic_string< char > const &body); 691 3 run 4 816 16 HTTPChannel::run 0 1 298 731 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::run // Access: Published // Description: This must be called from time to time when // non-blocking I/O is in use. It checks for data // coming in on the socket and writes data out to the // socket when possible, and does whatever processing is // required towards completing the current task. // // The return value is true if the task is still pending // (and run() will need to be called again in the // future), or false if the current task is complete. //////////////////////////////////////////////////////////////////// 28 bool HTTPChannel::run(void); 692 16 begin_connect_to 4 816 29 HTTPChannel::begin_connect_to 0 1 299 920 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_connect_to // Access: Published // Description: Begins a non-blocking request to establish a direct // connection to the server and port indicated by the // URL. No HTTP requests will be issued beyond what is // necessary to establish the connection. When run() // has finished, you may call is_connection_ready() to // determine if the connection was successfully // established. // // If successful, the connection may then be taken to // use for whatever purposes you like by calling // get_connection(). // // This establishes a nonblocking I/O socket. Also see // connect_to(). //////////////////////////////////////////////////////////////////// 67 inline void HTTPChannel::begin_connect_to(DocumentSpec const &url); 693 14 open_read_body 4 816 27 HTTPChannel::open_read_body 0 1 300 948 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::open_read_body // Access: Published // Description: Returns a newly-allocated istream suitable for // reading the body of the document. This may only be // called immediately after a call to get_document() or // post_form(), or after a call to run() has returned // false. // // Note that, in nonblocking mode, the returned stream // may report an early EOF, even before the actual end // of file. When this happens, you should call // stream->is_closed() to determine whether you should // attempt to read some more later. // // The user is responsible for passing the returned // istream to close_read_body() later. //////////////////////////////////////////////////////////////////// 49 ISocketStream *HTTPChannel::open_read_body(void); 694 15 close_read_body 4 816 28 HTTPChannel::close_read_body 0 1 301 516 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::close_read_body // Access: Public // Description: Closes a file opened by a previous call to // open_read_body(). This really just deletes the // istream pointer, but it is recommended to use this // interface instead of deleting it explicitly, to help // work around compiler issues. //////////////////////////////////////////////////////////////////// 57 void HTTPChannel::close_read_body(istream *stream) const; 695 16 download_to_file 4 816 29 HTTPChannel::download_to_file 0 2 302 303 1950 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_file // Access: Published // Description: Specifies the name of a file to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the file and return true if it was // successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated file. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the file for writing the // output. In this case, the file must already exist // and must have at least first_byte bytes in it. If // subdocument_resumes is false, a subdocument will // always be downloaded beginning at the first byte of // the file. //////////////////////////////////////////////////////////////////// 93 bool HTTPChannel::download_to_file(Filename const &filename, bool subdocument_resumes = (1)); 696 15 download_to_ram 4 816 28 HTTPChannel::download_to_ram 0 2 304 305 1778 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_ram // Access: Published // Description: Specifies a Ramfile object to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the Ramfile and return true if it // was successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated Ramfile. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the Ramfile for writing // the output. In this case, the Ramfile must already // have at least first_byte bytes in it. //////////////////////////////////////////////////////////////////// 84 bool HTTPChannel::download_to_ram(Ramfile *ramfile, bool subdocument_resumes = (1)); 697 18 download_to_stream 4 816 31 HTTPChannel::download_to_stream 0 2 306 307 1956 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_stream // Access: Published // Description: Specifies the name of an ostream to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the file and return true if it was // successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated file. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the file for writing the // output. In this case, the file must already exist // and must have at least first_byte bytes in it. If // subdocument_resumes is false, a subdocument will // always be downloaded beginning at the first byte of // the file. //////////////////////////////////////////////////////////////////// 84 bool HTTPChannel::download_to_stream(ostream *strm, bool subdocument_resumes = (1)); 698 14 get_connection 4 816 27 HTTPChannel::get_connection 0 1 308 656 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_connection // Access: Published // Description: Returns the connection that was established via a // previous call to connect_to() or begin_connect_to(), // or NULL if the connection attempt failed or if those // methods have not recently been called. // // This stream has been allocated from the free store. // It is the user's responsibility to delete this // pointer when finished with it. //////////////////////////////////////////////////////////////////// 48 SocketStream *HTTPChannel::get_connection(void); 699 20 get_bytes_downloaded 4 816 33 HTTPChannel::get_bytes_downloaded 0 1 309 643 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_bytes_downloaded // Access: Published // Description: Returns the number of bytes downloaded during the // last (or current) download_to_file() or // download_to_ram operation(). This can be used in // conjunction with get_file_size() to report the // percent complete (but be careful, since // get_file_size() may return 0 if the server has not // told us the size of the file). //////////////////////////////////////////////////////////////////// 66 inline unsigned int HTTPChannel::get_bytes_downloaded(void) const; 700 19 get_bytes_requested 4 816 32 HTTPChannel::get_bytes_requested 0 1 310 1059 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_bytes_requested // Access: Published // Description: When download throttling is in effect // (set_download_throttle() has been set to true) and // non-blocking I/O methods (like begin_get_document()) // are used, this returns the number of bytes // "requested" from the server so far: that is, the // theoretical maximum value for get_bytes_downloaded(), // if the server has been keeping up with our demand. // // If this number is less than get_bytes_downloaded(), // then the server has not been supplying bytes fast // enough to meet our own download throttle rate. // // When download throttling is not in effect, or when // the blocking I/O methods (like get_document(), etc.) // are used, this returns 0. //////////////////////////////////////////////////////////////////// 65 inline unsigned int HTTPChannel::get_bytes_requested(void) const; 701 20 is_download_complete 4 816 33 HTTPChannel::is_download_complete 0 1 311 984 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::is_download_complete // Access: Published // Description: Returns true when a download_to() or // download_to_ram() has executed and the file has been // fully downloaded. If this still returns false after // processing has completed, there was an error in // transmission. // // Note that simply testing is_download_complete() does // not prove that the requested document was succesfully // retrieved--you might have just downloaded the "404 // not found" stub (for instance) that a server would // provide in response to some error condition. You // should also check is_valid() to prove that the file // you expected has been successfully retrieved. //////////////////////////////////////////////////////////////////// 58 inline bool HTTPChannel::is_download_complete(void) const; 702 14 get_class_type 4 816 27 HTTPChannel::get_class_type 0 1 312 0 52 static TypeHandle HTTPChannel::get_class_type(void); 703 12 Decompressor 4 819 26 Decompressor::Decompressor 0 1 313 221 //////////////////////////////////////////////////////////////////// // Function: Decompressor::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 33 Decompressor::Decompressor(void); 704 13 ~Decompressor 4 819 27 Decompressor::~Decompressor 0 0 220 //////////////////////////////////////////////////////////////////// // Function: Decompressor::Destructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 34 Decompressor::~Decompressor(void); 705 8 initiate 4 819 22 Decompressor::initiate 0 2 314 315 857 //////////////////////////////////////////////////////////////////// // Function: Decompressor::initiate // Access: Public // Description: Begins a background decompression of the named file // (whose filename must end in ".pz") to a new file // without the .pz extension. The source file is // removed after successful completion. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Decompressor::initiate // Access: Public // Description: Begins a background decompression from the named // source file to the named destination file. The // source file is removed after successful completion. //////////////////////////////////////////////////////////////////// 140 int Decompressor::initiate(Filename const &source_file); int Decompressor::initiate(Filename const &source_file, Filename const &dest_file); 706 3 run 4 819 17 Decompressor::run 0 1 316 493 //////////////////////////////////////////////////////////////////// // Function: Decompressor::run // Access: Public // Description: Called each frame to do the next bit of work in the // background task. Returns EU_ok if a chunk is // completed but there is more to go, or EU_success when // we're all done. Any other return value indicates an // error. //////////////////////////////////////////////////////////////////// 28 int Decompressor::run(void); 707 10 decompress 4 819 24 Decompressor::decompress 0 2 317 318 757 //////////////////////////////////////////////////////////////////// // Function: Decompressor::decompress // Access: Public // Description: Performs a foreground decompression of the named // file; does not return until the decompression is // complete. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Decompressor::decompress // Access: Public // Description: Does an in-memory decompression of the indicated // Ramfile. The decompressed contents are written back // into the same Ramfile on completion. //////////////////////////////////////////////////////////////////// 121 bool Decompressor::decompress(Filename const &source_file); bool Decompressor::decompress(Ramfile &source_and_dest_file); 708 12 get_progress 4 819 26 Decompressor::get_progress 0 1 319 307 //////////////////////////////////////////////////////////////////// // Function: Decompressor::get_progress // Access: Public // Description: Returns the ratio through the decompression step // in the background. //////////////////////////////////////////////////////////////////// 45 float Decompressor::get_progress(void) const; 709 10 DownloadDb 4 820 22 DownloadDb::DownloadDb 0 3 320 321 322 797 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::Constructor // Access: Public // Description: Create a download db with these client and server dbs //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DownloadDb::Constructor // Access: Public // Description: Create a download db with these client and server dbs //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DownloadDb::Constructor // Access: Public // Description: Primarily used for testing. //////////////////////////////////////////////////////////////////// 168 DownloadDb::DownloadDb(void); DownloadDb::DownloadDb(Ramfile &server_file, Filename &client_file); DownloadDb::DownloadDb(Filename &server_file, Filename &client_file); 710 11 ~DownloadDb 4 820 23 DownloadDb::~DownloadDb 0 0 218 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::Destructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 30 DownloadDb::~DownloadDb(void); 711 6 output 4 820 18 DownloadDb::output 0 1 323 214 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::output // Access: Public // Description: //////////////////////////////////////////////////////////////////// 44 void DownloadDb::output(ostream &out) const; 712 5 write 4 820 17 DownloadDb::write 0 1 324 213 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::write // Access: Public // Description: //////////////////////////////////////////////////////////////////// 43 void DownloadDb::write(ostream &out) const; 713 17 write_version_map 4 820 29 DownloadDb::write_version_map 0 1 325 455 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::write_version_map // Access: Protected // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DownloadDb::write_version_map // Access: Public // Description: //////////////////////////////////////////////////////////////////// 55 void DownloadDb::write_version_map(ostream &out) const; 714 15 write_client_db 4 820 27 DownloadDb::write_client_db 0 1 326 234 // Write a database file //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 49 bool DownloadDb::write_client_db(Filename &file); 715 15 write_server_db 4 820 27 DownloadDb::write_server_db 0 1 327 234 // Write a database file //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 49 bool DownloadDb::write_server_db(Filename &file); 716 25 get_client_num_multifiles 4 820 37 DownloadDb::get_client_num_multifiles 0 1 328 696 // Filename: downloadDb.I // Created by: shochet (08Sep00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 61 inline int DownloadDb::get_client_num_multifiles(void) const; 717 25 get_server_num_multifiles 4 820 37 DownloadDb::get_server_num_multifiles 0 1 329 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 61 inline int DownloadDb::get_server_num_multifiles(void) const; 718 25 get_client_multifile_name 4 820 37 DownloadDb::get_client_multifile_name 0 1 330 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 83 inline basic_string< char > DownloadDb::get_client_multifile_name(int index) const; 719 25 get_server_multifile_name 4 820 37 DownloadDb::get_server_multifile_name 0 1 331 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 83 inline basic_string< char > DownloadDb::get_server_multifile_name(int index) const; 720 25 get_client_multifile_size 4 820 37 DownloadDb::get_client_multifile_size 0 1 332 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 84 inline int DownloadDb::get_client_multifile_size(basic_string< char > mfname) const; 721 25 set_client_multifile_size 4 820 37 DownloadDb::set_client_multifile_size 0 1 333 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 89 inline void DownloadDb::set_client_multifile_size(basic_string< char > mfname, int size); 722 31 set_client_multifile_delta_size 4 820 43 DownloadDb::set_client_multifile_delta_size 0 1 334 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 94 inline int DownloadDb::set_client_multifile_delta_size(basic_string< char > mfname, int size); 723 25 get_server_multifile_size 4 820 37 DownloadDb::get_server_multifile_size 0 1 335 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 84 inline int DownloadDb::get_server_multifile_size(basic_string< char > mfname) const; 724 25 set_server_multifile_size 4 820 37 DownloadDb::set_server_multifile_size 0 1 336 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 89 inline void DownloadDb::set_server_multifile_size(basic_string< char > mfname, int size); 725 26 get_client_multifile_phase 4 820 38 DownloadDb::get_client_multifile_phase 0 1 337 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 87 inline float DownloadDb::get_client_multifile_phase(basic_string< char > mfname) const; 726 26 get_server_multifile_phase 4 820 38 DownloadDb::get_server_multifile_phase 0 1 338 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 87 inline float DownloadDb::get_server_multifile_phase(basic_string< char > mfname) const; 727 31 set_client_multifile_incomplete 4 820 43 DownloadDb::set_client_multifile_incomplete 0 1 339 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 85 inline void DownloadDb::set_client_multifile_incomplete(basic_string< char > mfname); 728 29 set_client_multifile_complete 4 820 41 DownloadDb::set_client_multifile_complete 0 1 340 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 83 inline void DownloadDb::set_client_multifile_complete(basic_string< char > mfname); 729 33 set_client_multifile_decompressed 4 820 45 DownloadDb::set_client_multifile_decompressed 0 1 341 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 87 inline void DownloadDb::set_client_multifile_decompressed(basic_string< char > mfname); 730 30 set_client_multifile_extracted 4 820 42 DownloadDb::set_client_multifile_extracted 0 1 342 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 84 inline void DownloadDb::set_client_multifile_extracted(basic_string< char > mfname); 731 20 get_server_num_files 4 820 32 DownloadDb::get_server_num_files 0 1 343 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 79 inline int DownloadDb::get_server_num_files(basic_string< char > mfname) const; 732 20 get_server_file_name 4 820 32 DownloadDb::get_server_file_name 0 1 344 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 107 inline basic_string< char > DownloadDb::get_server_file_name(basic_string< char > mfname, int index) const; 733 23 client_multifile_exists 4 820 35 DownloadDb::client_multifile_exists 0 1 345 238 // Queries from the Launcher //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 76 bool DownloadDb::client_multifile_exists(basic_string< char > mfname) const; 734 25 client_multifile_complete 4 820 37 DownloadDb::client_multifile_complete 0 1 346 405 // Queries from the Launcher //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: A multifile is complete when it is completely // downloaded. Note: it may already be decompressed // or extracted and it is still complete //////////////////////////////////////////////////////////////////// 78 bool DownloadDb::client_multifile_complete(basic_string< char > mfname) const; 735 29 client_multifile_decompressed 4 820 41 DownloadDb::client_multifile_decompressed 0 1 347 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 82 bool DownloadDb::client_multifile_decompressed(basic_string< char > mfname) const; 736 26 client_multifile_extracted 4 820 38 DownloadDb::client_multifile_extracted 0 1 348 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 79 bool DownloadDb::client_multifile_extracted(basic_string< char > mfname) const; 737 25 get_client_multifile_hash 4 820 37 DownloadDb::get_client_multifile_hash 0 1 349 320 // Ask what version (told with the hash) this multifile is //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: Return the hash value of the file we are working on //////////////////////////////////////////////////////////////////// 81 HashVal DownloadDb::get_client_multifile_hash(basic_string< char > mfname) const; 738 25 set_client_multifile_hash 4 820 37 DownloadDb::set_client_multifile_hash 0 1 350 313 // Ask what version (told with the hash) this multifile is //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: Set the hash value of file we are working on //////////////////////////////////////////////////////////////////// 85 void DownloadDb::set_client_multifile_hash(basic_string< char > mfname, HashVal val); 739 25 get_server_multifile_hash 4 820 37 DownloadDb::get_server_multifile_hash 0 1 351 249 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: Return the hash value of the server file //////////////////////////////////////////////////////////////////// 81 HashVal DownloadDb::get_server_multifile_hash(basic_string< char > mfname) const; 740 25 set_server_multifile_hash 4 820 37 DownloadDb::set_server_multifile_hash 0 1 352 253 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: Set the hash value of file we are working on //////////////////////////////////////////////////////////////////// 85 void DownloadDb::set_server_multifile_hash(basic_string< char > mfname, HashVal val); 741 23 delete_client_multifile 4 820 35 DownloadDb::delete_client_multifile 0 1 353 265 // Operations on multifiles // Operations on multifiles //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 70 void DownloadDb::delete_client_multifile(basic_string< char > mfname); 742 20 add_client_multifile 4 820 32 DownloadDb::add_client_multifile 0 1 354 237 // Operations on multifiles //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 74 void DownloadDb::add_client_multifile(basic_string< char > server_mfname); 743 23 expand_client_multifile 4 820 35 DownloadDb::expand_client_multifile 0 1 355 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 70 void DownloadDb::expand_client_multifile(basic_string< char > mfname); 744 20 create_new_server_db 4 820 32 DownloadDb::create_new_server_db 0 1 356 366 // Server side operations to create multifile records //////////////////////////////////////////////////////////////////// // Function: DownloadDb::create_new_server_db // Access: Public // Description: Used on the server side makefiles to create a // new clean server db //////////////////////////////////////////////////////////////////// 44 void DownloadDb::create_new_server_db(void); 745 20 server_add_multifile 4 820 32 DownloadDb::server_add_multifile 0 1 357 263 // Server side operations to create multifile records //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 102 void DownloadDb::server_add_multifile(basic_string< char > mfname, float phase, int size, int status); 746 15 server_add_file 4 820 27 DownloadDb::server_add_file 0 1 358 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 90 void DownloadDb::server_add_file(basic_string< char > mfname, basic_string< char > fname); 747 7 read_db 4 820 19 DownloadDb::read_db 0 2 359 360 438 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::read_db // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DownloadDb::read_db // Access: Published // Description: //////////////////////////////////////////////////////////////////// 148 DownloadDb::Db DownloadDb::read_db(Filename &file, bool want_server_info); DownloadDb::Db DownloadDb::read_db(Ramfile &file, bool want_server_info); 748 8 write_db 4 820 20 DownloadDb::write_db 0 1 361 219 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::write_db // Access: Published // Description: //////////////////////////////////////////////////////////////////// 84 bool DownloadDb::write_db(Filename &file, DownloadDb::Db db, bool want_server_info); 749 11 add_version 4 820 23 DownloadDb::add_version 0 1 362 433 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::add_version // Access: Published // Description: Appends a new version of the file onto the end of the // list, or changes the hash associated with a version // previously added. // // Note: version numbers start at 1 //////////////////////////////////////////////////////////////////// 85 void DownloadDb::add_version(Filename const &name, HashVal const &hash, int version); 750 18 insert_new_version 4 820 30 DownloadDb::insert_new_version 0 1 363 330 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::insert_new_version // Access: Published // Description: Inserts a new version 1 copy of the file, sliding all // the other versions up by one. //////////////////////////////////////////////////////////////////// 79 void DownloadDb::insert_new_version(Filename const &name, HashVal const &hash); 751 11 has_version 4 820 23 DownloadDb::has_version 0 1 364 404 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::has_version // Access: Published // Description: Returns true if the indicated file has version // information, false otherwise. Some files recorded in // the database may not bother to track versions. //////////////////////////////////////////////////////////////////// 57 bool DownloadDb::has_version(Filename const &name) const; 752 16 get_num_versions 4 820 28 DownloadDb::get_num_versions 0 1 365 306 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::get_num_versions // Access: Published // Description: Returns the number of versions stored for the // indicated file. //////////////////////////////////////////////////////////////////// 61 int DownloadDb::get_num_versions(Filename const &name) const; 753 16 set_num_versions 4 820 28 DownloadDb::set_num_versions 0 1 366 394 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::set_num_versions // Access: Published // Description: Reduces the number of versions of a particular file // stored in the ddb by throwing away all versions // higher than the indicated index. //////////////////////////////////////////////////////////////////// 74 void DownloadDb::set_num_versions(Filename const &name, int num_versions); 754 11 get_version 4 820 23 DownloadDb::get_version 0 1 367 440 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::get_version // Access: Published // Description: Returns the version number of this particular file, // determined by looking up the hash generated from the // file. Returns -1 if the version number cannot be // determined. //////////////////////////////////////////////////////////////////// 77 int DownloadDb::get_version(Filename const &name, HashVal const &hash) const; 755 8 get_hash 4 820 20 DownloadDb::get_hash 0 1 368 318 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::get_hash // Access: Published // Description: Returns the MD5 hash associated with the indicated // version of the indicated file. //////////////////////////////////////////////////////////////////// 77 HashVal const &DownloadDb::get_hash(Filename const &name, int version) const; 756 9 check_crc 1 0 9 check_crc 0 1 405 0 43 unsigned long int check_crc(Filename name); 757 11 check_adler 1 0 11 check_adler 0 1 406 0 45 unsigned long int check_adler(Filename name); 758 14 get_class_type 4 822 31 VirtualFileHTTP::get_class_type 0 1 369 0 56 static TypeHandle VirtualFileHTTP::get_class_type(void); 759 20 VirtualFileMountHTTP 4 824 42 VirtualFileMountHTTP::VirtualFileMountHTTP 0 2 370 371 233 //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 105 VirtualFileMountHTTP::VirtualFileMountHTTP(URLSpec const &root, HTTPClient *http = ((get_global_ptr()))); 760 15 get_http_client 4 824 37 VirtualFileMountHTTP::get_http_client 0 1 372 811 // Filename: virtualFileMountHTTP.I // Created by: drose (30Oct08) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::get_http_client // Access: Published // Description: Returns the HTTPClient object that services this // mount point. //////////////////////////////////////////////////////////////////// 69 inline HTTPClient *VirtualFileMountHTTP::get_http_client(void) const; 761 8 get_root 4 824 30 VirtualFileMountHTTP::get_root 0 1 373 308 //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::get_root // Access: Published // Description: Returns the URL that represents the root of this // mount point. //////////////////////////////////////////////////////////////////// 65 inline URLSpec const &VirtualFileMountHTTP::get_root(void) const; 762 20 reload_vfs_mount_url 4 824 42 VirtualFileMountHTTP::reload_vfs_mount_url 0 1 374 758 //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::reload_vfs_mount_url // Access: Published, Static // Description: Reads all of the vfs-mount-url lines in the // Config.prc file and replaces the mount settings to // match them. // // This will mount any url's mentioned in the config // file, and unmount and unmount any url's no longer // mentioned in the config file. Normally, it is called // automatically at startup, and need not be called // again, unless you have fiddled with some config // settings. //////////////////////////////////////////////////////////////////// 61 static void VirtualFileMountHTTP::reload_vfs_mount_url(void); 763 14 get_class_type 4 824 36 VirtualFileMountHTTP::get_class_type 0 1 375 0 61 static TypeHandle VirtualFileMountHTTP::get_class_type(void); 764 9 Extractor 4 826 20 Extractor::Extractor 0 1 376 221 //////////////////////////////////////////////////////////////////// // Function: Extractor::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 27 Extractor::Extractor(void); 765 10 ~Extractor 4 826 21 Extractor::~Extractor 0 0 220 //////////////////////////////////////////////////////////////////// // Function: Extractor::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 28 Extractor::~Extractor(void); 766 13 set_multifile 4 826 24 Extractor::set_multifile 0 1 377 392 //////////////////////////////////////////////////////////////////// // Function: Extractor::set_multifile // Access: Published // Description: Specifies the filename of the Multifile that the // Extractor will read. Returns true on success, false // if the mulifile name is invalid. //////////////////////////////////////////////////////////////////// 62 bool Extractor::set_multifile(Filename const &multifile_name); 767 15 set_extract_dir 4 826 26 Extractor::set_extract_dir 0 1 378 453 //////////////////////////////////////////////////////////////////// // Function: Extractor::set_extract_dir // Access: Published // Description: Specifies the directory into which all extracted // subfiles will be written. Relative paths of subfiles // within the Multifile will be written as relative // paths to this directory. //////////////////////////////////////////////////////////////////// 61 void Extractor::set_extract_dir(Filename const &extract_dir); 768 5 reset 4 826 16 Extractor::reset 0 1 379 368 //////////////////////////////////////////////////////////////////// // Function: Extractor::reset // Access: Published // Description: Interrupts the Extractor in the middle of its // business and makes it ready to accept a new list of // subfiles to extract. //////////////////////////////////////////////////////////////////// 28 void Extractor::reset(void); 769 15 request_subfile 4 826 26 Extractor::request_subfile 0 1 380 391 //////////////////////////////////////////////////////////////////// // Function: Extractor::request_subfile // Access: Published // Description: Requests a particular subfile to be extracted when // step() or run() is called. Returns true if the // subfile exists, false otherwise. //////////////////////////////////////////////////////////////////// 62 bool Extractor::request_subfile(Filename const &subfile_name); 770 20 request_all_subfiles 4 826 31 Extractor::request_all_subfiles 0 1 381 334 //////////////////////////////////////////////////////////////////// // Function: Extractor::request_all_subfiles // Access: Published // Description: Requests all subfiles in the Multifile to be // extracted. Returns the number requested. //////////////////////////////////////////////////////////////////// 42 int Extractor::request_all_subfiles(void); 771 4 step 4 826 15 Extractor::step 0 1 382 695 //////////////////////////////////////////////////////////////////// // Function: Extractor::step // Access: Published // Description: After all of the requests have been made via // request_file() or request_all_subfiles(), call step() // repeatedly until it stops returning EU_ok. // // step() extracts the next small unit of data from the // Multifile. Returns EU_ok if progress is continuing, // EU_error_abort if there is a problem, or EU_success // when the last piece has been extracted. // // Also see run(). //////////////////////////////////////////////////////////////////// 26 int Extractor::step(void); 772 12 get_progress 4 826 23 Extractor::get_progress 0 1 383 292 //////////////////////////////////////////////////////////////////// // Function: Extractor::get_progress // Access: Public // Description: Returns the fraction of the Multifile extracted so // far. //////////////////////////////////////////////////////////////////// 42 float Extractor::get_progress(void) const; 773 3 run 4 826 14 Extractor::run 0 1 384 674 //////////////////////////////////////////////////////////////////// // Function: Extractor::run // Access: Published // Description: A convenience function to extract the Multifile all // at once, when you don't care about doing it in the // background. // // First, call request_file() or request_all_files() to // specify the files you would like to extract, then // call run() to do the extraction. Also see step() for // when you would like the extraction to happen as a // background task. //////////////////////////////////////////////////////////////////// 26 bool Extractor::run(void); 774 15 MultiplexStream 4 827 32 MultiplexStream::MultiplexStream 0 1 385 715 // Filename: multiplexStream.I // Created by: drose (27Nov00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 46 inline MultiplexStream::MultiplexStream(void); 775 11 add_ostream 4 827 28 MultiplexStream::add_ostream 0 2 386 387 379 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_ostream // Access: Public // Description: Adds the indicated generic ostream to the multiplex // output. The ostream will receive whatever data is // sent to the pipe. //////////////////////////////////////////////////////////////////// 80 inline void MultiplexStream::add_ostream(ostream *out, bool delete_later = (0)); 776 14 add_stdio_file 4 827 31 MultiplexStream::add_stdio_file 0 1 388 335 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_stdio_file // Access: Public // Description: Adds the given file, previously opened using the C // stdio library, to the multiplex output. //////////////////////////////////////////////////////////////////// 78 inline bool MultiplexStream::add_stdio_file(FILE *file, bool close_when_done); 777 19 add_standard_output 4 827 36 MultiplexStream::add_standard_output 0 1 389 266 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_standard_output // Access: Public // Description: Adds the standard output channel. //////////////////////////////////////////////////////////////////// 55 inline void MultiplexStream::add_standard_output(void); 778 8 add_file 4 827 25 MultiplexStream::add_file 0 1 390 400 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_file // Access: Public // Description: Adds the given file to the multiplex output. The // file is opened in append mode with line buffering. // Returns false if the file cannot be opened. //////////////////////////////////////////////////////////////////// 53 inline bool MultiplexStream::add_file(Filename file); 779 16 add_system_debug 4 827 33 MultiplexStream::add_system_debug 0 1 391 542 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_system_debug // Access: Public // Description: Adds the system debug output the the multiplex // output. This may map to a syslog or some such // os-specific output system. It may do nothing on a // particular system. // // Presently, this maps only to OutputDebugString() on // Windows. //////////////////////////////////////////////////////////////////// 52 inline void MultiplexStream::add_system_debug(void); 780 5 flush 4 827 22 MultiplexStream::flush 0 1 392 270 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::flush // Access: Public // Description: Forces out all output that hasn't yet been written. //////////////////////////////////////////////////////////////////// 41 inline void MultiplexStream::flush(void); 781 16 ~MultiplexStream 4 827 33 MultiplexStream::~MultiplexStream 0 0 0 40 MultiplexStream::~MultiplexStream(void); 782 7 Patcher 4 828 16 Patcher::Patcher 0 2 393 394 434 //////////////////////////////////////////////////////////////////// // Function: Patcher::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Patcher::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 69 Patcher::Patcher(void); Patcher::Patcher(PointerTo< Buffer > buffer); 783 8 ~Patcher 4 828 17 Patcher::~Patcher 0 0 215 //////////////////////////////////////////////////////////////////// // Function: Patcher::Destructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 32 virtual Patcher::~Patcher(void); 784 8 initiate 4 828 17 Patcher::initiate 0 1 395 213 //////////////////////////////////////////////////////////////////// // Function: Patcher::initiate // Access: Public // Description: //////////////////////////////////////////////////////////////////// 57 int Patcher::initiate(Filename &patch, Filename &infile); 785 3 run 4 828 12 Patcher::run 0 1 396 208 //////////////////////////////////////////////////////////////////// // Function: Patcher::run // Access: Public // Description: //////////////////////////////////////////////////////////////////// 23 int Patcher::run(void); 786 12 get_progress 4 828 21 Patcher::get_progress 0 1 397 701 // Filename: patcher.I // Created by: darren (20Dec00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Patcher::get_progress // Access: Public // Description: //////////////////////////////////////////////////////////////////// 47 inline float Patcher::get_progress(void) const; 787 12 StringStream 4 829 26 StringStream::StringStream 0 2 398 399 1033 // Filename: stringStream.I // Created by: drose (03Jul07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: StringStream::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: StringStream::Constructor // Access: Published // Description: This version of the constructor preloads the buffer // with the indicated data. //////////////////////////////////////////////////////////////////// 111 inline StringStream::StringStream(void); inline StringStream::StringStream(basic_string< char > const &source); 788 10 clear_data 4 829 24 StringStream::clear_data 0 1 400 243 //////////////////////////////////////////////////////////////////// // Function: StringStream::clear_data // Access: Published // Description: Empties the buffer. //////////////////////////////////////////////////////////////////// 43 inline void StringStream::clear_data(void); 789 13 get_data_size 4 829 27 StringStream::get_data_size 0 1 401 319 //////////////////////////////////////////////////////////////////// // Function: StringStream::get_data_size // Access: Published // Description: Returns the number of characters available to be read // from the data stream. //////////////////////////////////////////////////////////////////// 54 inline unsigned int StringStream::get_data_size(void); 790 8 get_data 4 829 22 StringStream::get_data 0 1 402 274 //////////////////////////////////////////////////////////////////// // Function: StringStream::get_data // Access: Published // Description: Returns the contents of the data stream as a string. //////////////////////////////////////////////////////////////////// 57 inline basic_string< char > StringStream::get_data(void); 791 8 set_data 4 829 22 StringStream::set_data 0 1 403 311 //////////////////////////////////////////////////////////////////// // Function: StringStream::set_data // Access: Published // Description: Replaces the contents of the data stream. This // implicitly reseeks to 0. //////////////////////////////////////////////////////////////////// 69 inline void StringStream::set_data(basic_string< char > const &data); 792 9 swap_data 4 829 23 StringStream::swap_data 0 1 404 307 //////////////////////////////////////////////////////////////////// // Function: StringStream::swap_data // Access: Published // Description: Swaps the indicated buffer for the contents of the // internal buffer. //////////////////////////////////////////////////////////////////// 67 inline void StringStream::swap_data(vector< unsigned char > &data); 793 13 ~StringStream 4 829 27 StringStream::~StringStream 0 0 0 34 StringStream::~StringStream(void); 406 1 14 Dtool_2KOd67qN 6 3 833 0 14 Dtool_2KOd67qN 1015 // Filename: socketStream.I // Created by: drose (15Oct02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: SSReader::receive_datagram // Access: Published // Description: Receives a datagram over the socket by expecting a // little-endian 16-bit byte count as a prefix. If the // socket stream is non-blocking, may return false if // the data is not available; otherwise, returns false // only if the socket closes. //////////////////////////////////////////////////////////////////// 2 4 this 3 830 2 dg 1 831 2 14 Dtool_2KOd_aY4 6 4 833 0 14 Dtool_2KOd_aY4 0 1 4 this 3 830 3 14 Dtool_2KOdMYcR 4 5 834 0 14 Dtool_2KOdMYcR 0 1 4 this 3 830 4 14 Dtool_2KOdWTyD 4 6 834 0 14 Dtool_2KOdWTyD 546 //////////////////////////////////////////////////////////////////// // Function: SSReader::set_tcp_header_size // Access: Published // Description: Sets the header size for datagrams. At the present, // legal values for this are 0, 2, or 4; this specifies // the number of bytes to use encode the datagram length // at the start of each TCP datagram. Sender and // receiver must independently agree on this. //////////////////////////////////////////////////////////////////// 2 4 this 3 830 15 tcp_header_size 1 835 5 14 Dtool_2KOdzBsm 6 7 835 0 14 Dtool_2KOdzBsm 312 //////////////////////////////////////////////////////////////////// // Function: SSReader::get_tcp_header_size // Access: Published // Description: Returns the header size for datagrams. See // set_tcp_header_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 836 6 14 Dtool_2KOd6KI4 6 10 833 0 14 Dtool_2KOd6KI4 504 //////////////////////////////////////////////////////////////////// // Function: SSWriter::send_datagram // Access: Public // Description: Transmits the indicated datagram over the socket by // prepending it with a little-endian 16-bit byte count. // Does not return until the data is sent or the // connection is closed, even if the socket stream is // non-blocking. //////////////////////////////////////////////////////////////////// 2 4 this 3 838 2 dg 1 839 7 14 Dtool_2KOda9A2 6 11 833 0 14 Dtool_2KOda9A2 0 1 4 this 3 838 8 14 Dtool_2KOdvnFP 4 12 834 0 14 Dtool_2KOdvnFP 0 1 4 this 3 838 9 14 Dtool_2KOdI4mc 4 13 834 0 14 Dtool_2KOdI4mc 1144 //////////////////////////////////////////////////////////////////// // Function: SSWriter::set_collect_tcp // Access: Published // Description: Enables or disables "collect-tcp" mode. In this // mode, individual TCP packets are not sent // immediately, but rather they are collected together // and accumulated to be sent periodically as one larger // TCP packet. This cuts down on overhead from the // TCP/IP protocol, especially if many small packets // need to be sent on the same connection, but it // introduces additional latency (since packets must be // held before they can be sent). // // See set_collect_tcp_interval() to specify the // interval of time for which to hold packets before // sending them. // // If you enable this mode, you may also need to // periodically call consider_flush() to flush the queue // if no packets have been sent recently. //////////////////////////////////////////////////////////////////// 2 4 this 3 838 11 collect_tcp 1 833 10 14 Dtool_2KOdsxGI 6 14 833 0 14 Dtool_2KOdsxGI 315 //////////////////////////////////////////////////////////////////// // Function: SSWriter::get_collect_tcp // Access: Published // Description: Returns the current setting of "collect-tcp" mode. // See set_collect_tcp(). //////////////////////////////////////////////////////////////////// 1 4 this 3 841 11 14 Dtool_2KOd8JD3 4 15 834 0 14 Dtool_2KOd8JD3 516 //////////////////////////////////////////////////////////////////// // Function: SSWriter::set_collect_tcp_interval // Access: Published // Description: Specifies the interval in time, in seconds, for which // to hold TCP packets before sending all of the // recently received packets at once. This only has // meaning if "collect-tcp" mode is enabled; see // set_collect_tcp(). //////////////////////////////////////////////////////////////////// 2 4 this 3 838 8 interval 1 843 12 14 Dtool_2KOdZ9kF 6 16 843 0 14 Dtool_2KOdZ9kF 514 //////////////////////////////////////////////////////////////////// // Function: SSWriter::get_collect_tcp_interval // Access: Published // Description: Returns the interval in time, in seconds, for which // to hold TCP packets before sending all of the // recently received packets at once. This only has // meaning if "collect-tcp" mode is enabled; see // set_collect_tcp(). //////////////////////////////////////////////////////////////////// 1 4 this 3 841 13 14 Dtool_2KOd5taB 4 17 834 0 14 Dtool_2KOd5taB 546 //////////////////////////////////////////////////////////////////// // Function: SSWriter::set_tcp_header_size // Access: Published // Description: Sets the header size for datagrams. At the present, // legal values for this are 0, 2, or 4; this specifies // the number of bytes to use encode the datagram length // at the start of each TCP datagram. Sender and // receiver must independently agree on this. //////////////////////////////////////////////////////////////////// 2 4 this 3 838 15 tcp_header_size 1 835 14 14 Dtool_2KOdv_Uk 6 18 835 0 14 Dtool_2KOdv_Uk 312 //////////////////////////////////////////////////////////////////// // Function: SSWriter::get_tcp_header_size // Access: Published // Description: Returns the header size for datagrams. See // set_tcp_header_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 841 15 14 Dtool_2KOdZ9wc 6 19 833 0 14 Dtool_2KOdZ9wc 387 //////////////////////////////////////////////////////////////////// // Function: SSWriter::consider_flush // Access: Published // Description: Sends the most recently queued data if enough time // has elapsed. This only has meaning if // set_collect_tcp() has been set to true. //////////////////////////////////////////////////////////////////// 1 4 this 3 838 16 14 Dtool_2KOdvr_z 6 20 833 0 14 Dtool_2KOdvr_z 355 //////////////////////////////////////////////////////////////////// // Function: SSWriter::flush // Access: Published // Description: Sends the most recently queued data now. This only // has meaning if set_collect_tcp() has been set to // true. //////////////////////////////////////////////////////////////////// 1 4 this 3 838 17 14 Dtool_2KOdQnLp 6 29 833 0 14 Dtool_2KOdQnLp 0 1 4 this 3 844 18 14 Dtool_2KOdrVVb 4 30 834 0 14 Dtool_2KOdrVVb 0 1 4 this 3 844 19 14 Dtool_2KOdKndi 6 31 798 0 14 Dtool_2KOdKndi 0 1 4 this 3 844 20 14 Dtool_2KOd6pzq 6 23 845 0 14 Dtool_2KOd6pzq 0 1 4 this 3 844 21 14 Dtool_2KOdKSzi 6 24 844 0 14 Dtool_2KOdKSzi 0 1 4 this 3 845 22 14 Dtool_2KOd5yaa 6 25 830 0 14 Dtool_2KOd5yaa 0 1 4 this 3 844 23 14 Dtool_2KOdrr6b 6 26 844 0 14 Dtool_2KOdrr6b 0 1 4 this 3 830 24 14 Dtool_2KOd6STp 6 38 833 0 14 Dtool_2KOd6STp 0 1 4 this 3 846 25 14 Dtool_2KOdR4ab 4 39 834 0 14 Dtool_2KOdR4ab 0 1 4 this 3 846 26 14 Dtool_2KOdeCPl 6 40 833 0 14 Dtool_2KOdeCPl 360 //////////////////////////////////////////////////////////////////// // Function: OSocketStream::flush // Access: Published // Description: Sends the most recently queued data now. This only // has meaning if set_collect_tcp() has been set to // true. //////////////////////////////////////////////////////////////////// 1 4 this 3 846 27 14 Dtool_2KOdQTlu 6 34 847 0 14 Dtool_2KOdQTlu 0 1 4 this 3 846 28 14 Dtool_2KOdf_gd 6 35 846 0 14 Dtool_2KOdf_gd 0 1 4 this 3 847 29 14 Dtool_2KOdJ5xO 6 36 838 0 14 Dtool_2KOdJ5xO 0 1 4 this 3 846 30 14 Dtool_2KOdhyJs 6 37 846 0 14 Dtool_2KOdhyJs 0 1 4 this 3 838 31 14 Dtool_2KOdC8Lh 6 50 833 0 14 Dtool_2KOdC8Lh 0 1 4 this 3 848 32 14 Dtool_2KOd_VvS 4 51 834 0 14 Dtool_2KOd_VvS 0 1 4 this 3 848 33 14 Dtool_2KOd4s19 4 52 834 0 14 Dtool_2KOd4s19 550 //////////////////////////////////////////////////////////////////// // Function: SocketStream::set_tcp_header_size // Access: Published // Description: Sets the header size for datagrams. At the present, // legal values for this are 0, 2, or 4; this specifies // the number of bytes to use encode the datagram length // at the start of each TCP datagram. Sender and // receiver must independently agree on this. //////////////////////////////////////////////////////////////////// 2 4 this 3 848 15 tcp_header_size 1 835 34 14 Dtool_2KOdUoAo 6 53 835 0 14 Dtool_2KOdUoAo 316 //////////////////////////////////////////////////////////////////// // Function: SocketStream::get_tcp_header_size // Access: Published // Description: Returns the header size for datagrams. See // set_tcp_header_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 849 35 14 Dtool_2KOdPzDV 6 54 833 0 14 Dtool_2KOdPzDV 359 //////////////////////////////////////////////////////////////////// // Function: SocketStream::flush // Access: Published // Description: Sends the most recently queued data now. This only // has meaning if set_collect_tcp() has been set to // true. //////////////////////////////////////////////////////////////////// 1 4 this 3 848 36 14 Dtool_2KOd8JpJ 6 44 851 0 14 Dtool_2KOd8JpJ 0 1 4 this 3 848 37 14 Dtool_2KOdvaoG 6 45 848 0 14 Dtool_2KOdvaoG 0 1 4 this 3 851 38 14 Dtool_2KOd_nsC 6 46 830 0 14 Dtool_2KOd_nsC 0 1 4 this 3 848 39 14 Dtool_2KOdKst_ 6 47 848 0 14 Dtool_2KOdKst_ 0 1 4 this 3 830 40 14 Dtool_2KOdSRUA 6 48 838 0 14 Dtool_2KOdSRUA 0 1 4 this 3 848 41 14 Dtool_2KOdp0U9 6 49 848 0 14 Dtool_2KOdp0U9 0 1 4 this 3 838 42 14 Dtool_2KOdd3sO 7 57 852 500 14 Dtool_2KOdd3sO 219 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 43 14 Dtool_2KOdKJ80 7 57 852 500 14 Dtool_2KOdKJ80 224 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 853 44 14 Dtool_2KOdbRSb 7 57 852 500 14 Dtool_2KOdbRSb 702 // Filename: urlSpec.I // Created by: drose (24Sep02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: URLSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 3 url 1 855 20 server_name_expected 1 833 45 14 Dtool_2KOdqRHT 7 57 852 500 14 Dtool_2KOdqRHT 702 // Filename: urlSpec.I // Created by: drose (24Sep02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: URLSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 3 url 1 855 46 14 Dtool_2KOdeMOO 6 58 852 0 14 Dtool_2KOdeMOO 232 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 852 4 copy 1 853 47 14 Dtool_2KOdhCwY 6 58 852 0 14 Dtool_2KOdhCwY 227 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 852 3 url 1 855 48 14 Dtool_2KOdUZVF 6 59 833 0 14 Dtool_2KOdUZVF 219 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 853 5 other 1 853 49 14 Dtool_2KOdj_VB 6 60 833 0 14 Dtool_2KOdj_VB 219 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 853 5 other 1 853 50 14 Dtool_2KOdp_Dk 6 61 833 0 14 Dtool_2KOdp_Dk 218 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 853 5 other 1 853 51 14 Dtool_2KOdOeWk 6 62 835 0 14 Dtool_2KOdOeWk 397 //////////////////////////////////////////////////////////////////// // Function: URLSpec::compare_to // Access: Published // Description: Returns a number less than zero if this URLSpec // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. //////////////////////////////////////////////////////////////////// 2 4 this 3 853 5 other 1 853 52 14 Dtool_2KOdbXfj 6 63 833 0 14 Dtool_2KOdbXfj 311 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_scheme // Access: Published // Description: Returns true if the URL specifies a scheme // (e.g. "http:"), false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 53 14 Dtool_2KOd7GBb 6 64 833 0 14 Dtool_2KOd7GBb 366 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_authority // Access: Published // Description: Returns true if the URL specifies an authority // (this includes username, server, and/or port), false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 54 14 Dtool_2KOdNvY8 6 65 833 0 14 Dtool_2KOdNvY8 318 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_username // Access: Published // Description: Returns true if the URL specifies a username // (and/or password), false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 55 14 Dtool_2KOd7ZQR 6 66 833 0 14 Dtool_2KOd7ZQR 301 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_server // Access: Published // Description: Returns true if the URL specifies a server name, // false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 56 14 Dtool_2KOdNCN_ 6 67 833 0 14 Dtool_2KOdNCN_ 299 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_port // Access: Published // Description: Returns true if the URL specifies a port number, // false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 57 14 Dtool_2KOdvN5k 6 68 833 0 14 Dtool_2KOdvN5k 383 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_path // Access: Published // Description: Returns true if the URL includes a path specification // (that is, the particular filename on the server to // retrieve), false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 58 14 Dtool_2KOdSAZN 6 69 833 0 14 Dtool_2KOdSAZN 307 //////////////////////////////////////////////////////////////////// // Function: URLSpec::has_query // Access: Published // Description: Returns true if the URL includes a query // specification, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 59 14 Dtool_2KOdLoNu 6 70 855 0 14 Dtool_2KOdLoNu 319 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_scheme // Access: Published // Description: Returns the scheme specified by the URL, or empty // string if no scheme is specified. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 60 14 Dtool_2KOd7ewl 6 71 855 0 14 Dtool_2KOd7ewl 391 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_authority // Access: Published // Description: Returns the authority specified by the URL (this // includes username, server, and/or port), or empty // string if no authority is specified. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 61 14 Dtool_2KOdiXGH 6 72 855 0 14 Dtool_2KOdiXGH 447 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_username // Access: Published // Description: Returns the username specified by the URL, if any. // This might also include a password, // e.g. "username:password", although putting a password // on the URL is probably a bad idea. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 62 14 Dtool_2KOdz1_b 6 73 855 0 14 Dtool_2KOdz1_b 272 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_server // Access: Published // Description: Returns the server name specified by the URL, if any. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 63 14 Dtool_2KOdZGG8 6 74 855 0 14 Dtool_2KOdZGG8 459 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_port_str // Access: Published // Description: Returns the port specified by the URL as a string, or // the empty string if no port is specified. Compare // this with get_port(), which returns a default port // number if no port is specified. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 64 14 Dtool_2KOdqS8J 6 75 835 0 14 Dtool_2KOdqS8J 317 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_port // Access: Published // Description: Returns the port number specified by the URL, or the // default port if not specified. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 65 14 Dtool_2KOdDsHV 6 76 855 0 14 Dtool_2KOdDsHV 483 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_server_and_port // Access: Published // Description: Returns a string consisting of the server name, // followed by a colon, followed by the port number. If // the port number is not explicitly given in the URL, // this string will include the implicit port number. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 66 14 Dtool_2KOdzxVw 6 77 833 0 14 Dtool_2KOdzxVw 439 //////////////////////////////////////////////////////////////////// // Function: URLSpec::is_default_port // Access: Published // Description: Returns true if the port number encoded in this URL // is the default port number for the scheme (or if // there is no port number), or false if it is a // nonstandard port. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 67 14 Dtool_2KOdrd_U 6 78 835 0 14 Dtool_2KOdrd_U 353 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_default_port_for_scheme // Access: Published, Static // Description: Returns the default port number for the indicated // scheme, or 0 if there is no known default. //////////////////////////////////////////////////////////////////// 1 6 scheme 1 855 68 14 Dtool_2KOdHWmv 6 79 855 0 14 Dtool_2KOdHWmv 304 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_path // Access: Published // Description: Returns the path specified by the URL, or "/" if no // path is specified. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 69 14 Dtool_2KOdU1HY 6 80 855 0 14 Dtool_2KOdU1HY 316 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_query // Access: Published // Description: Returns the query specified by the URL, or empty // string if no query is specified. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 70 14 Dtool_2KOdXspr 6 81 855 0 14 Dtool_2KOdXspr 336 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_path_and_query // Access: Published // Description: Returns the path (or "/" if no path is specified), // followed by the query if it is specified. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 71 14 Dtool_2KOdDXzo 6 82 833 0 14 Dtool_2KOdDXzo 350 //////////////////////////////////////////////////////////////////// // Function: URLSpec::is_ssl // Access: Published // Description: Returns true if the URL's scheme specifies an // SSL-secured protocol such as https, or false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 72 14 Dtool_2KOdDCPV 6 83 855 0 14 Dtool_2KOdDCPV 255 //////////////////////////////////////////////////////////////////// // Function: URLSpec::get_url // Access: Published // Description: Returns the complete URL specification. //////////////////////////////////////////////////////////////////// 1 4 this 3 853 73 14 Dtool_2KOdiPvz 4 84 834 0 14 Dtool_2KOdiPvz 269 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_scheme // Access: Published // Description: Replaces the scheme part of the URL specification. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 6 scheme 1 855 74 14 Dtool_2KOdOWTX 4 85 834 0 14 Dtool_2KOdOWTX 338 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_authority // Access: Published // Description: Replaces the authority part of the URL specification. // This includes the username, server, and port. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 9 authority 1 855 75 14 Dtool_2KOd37oh 4 86 834 0 14 Dtool_2KOd37oh 273 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_username // Access: Published // Description: Replaces the username part of the URL specification. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 8 username 1 855 76 14 Dtool_2KOdzigh 4 87 834 0 14 Dtool_2KOdzigh 269 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_server // Access: Published // Description: Replaces the server part of the URL specification. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 6 server 1 855 77 14 Dtool_2KOd11tS 4 88 834 0 14 Dtool_2KOd11tS 265 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_port // Access: Published // Description: Replaces the port part of the URL specification. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 4 port 1 855 78 14 Dtool_2KOdU1E4 4 88 834 0 14 Dtool_2KOdU1E4 311 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_port // Access: Published // Description: Replaces the port part of the URL specification, // given a numeric port number. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 4 port 1 835 79 14 Dtool_2KOdJbzZ 4 89 834 0 14 Dtool_2KOdJbzZ 460 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_server_and_port // Access: Published // Description: Replaces the server and port parts of the URL // specification simultaneously. The input string // should be of the form "server:port", or just // "server" to make the port number implicit. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 15 server_and_port 1 855 80 14 Dtool_2KOdbhX4 4 90 834 0 14 Dtool_2KOdbhX4 265 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_path // Access: Published // Description: Replaces the path part of the URL specification. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 4 path 1 855 81 14 Dtool_2KOd11SR 4 91 834 0 14 Dtool_2KOd11SR 267 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_query // Access: Published // Description: Replaces the query part of the URL specification. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 5 query 1 855 82 14 Dtool_2KOdLfs6 4 92 834 0 14 Dtool_2KOdLfs6 441 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_url // Access: Published // Description: Completely replaces the URL with the indicated // string. If server_name_expected is true, it is a // hint that an undecorated URL is probably a server // name, not a local filename. //////////////////////////////////////////////////////////////////// 3 4 this 3 852 3 url 1 855 20 server_name_expected 1 833 83 14 Dtool_2KOdAXhy 4 92 834 0 14 Dtool_2KOdAXhy 441 //////////////////////////////////////////////////////////////////// // Function: URLSpec::set_url // Access: Published // Description: Completely replaces the URL with the indicated // string. If server_name_expected is true, it is a // hint that an undecorated URL is probably a server // name, not a local filename. //////////////////////////////////////////////////////////////////// 2 4 this 3 852 3 url 1 855 84 14 Dtool_2KOd0Ix1 6 94 855 0 14 Dtool_2KOd0Ix1 210 //////////////////////////////////////////////////////////////////// // Function: URLSpec::c_str // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 853 85 14 Dtool_2KOd_kB4 6 95 833 0 14 Dtool_2KOd_kB4 210 //////////////////////////////////////////////////////////////////// // Function: URLSpec::empty // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 853 86 14 Dtool_2KOdNVhO 6 96 856 0 14 Dtool_2KOdNVhO 211 //////////////////////////////////////////////////////////////////// // Function: URLSpec::length // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 853 87 14 Dtool_2KOd4pUs 6 97 857 0 14 Dtool_2KOd4pUs 222 //////////////////////////////////////////////////////////////////// // Function: URLSpec::Indexing operator // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 853 1 n 1 835 88 14 Dtool_2KOdTPRh 6 98 833 0 14 Dtool_2KOdTPRh 214 //////////////////////////////////////////////////////////////////// // Function: URLSpec::input // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 852 2 in 1 845 89 14 Dtool_2KOdeXk2 4 99 834 0 14 Dtool_2KOdeXk2 215 //////////////////////////////////////////////////////////////////// // Function: URLSpec::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 853 3 out 1 847 90 14 Dtool_2KOdko8E 6 100 855 0 14 Dtool_2KOdko8E 617 //////////////////////////////////////////////////////////////////// // Function: URLSpec::quote // Access: Published, Static // Description: Returns the source string with all "unsafe" // characters quoted, making a string suitable for // placing in a URL. Letters, digits, and the // underscore, comma, period, and hyphen characters, as // well as any included in the safe string, are left // alone; all others are converted to hex // representation. //////////////////////////////////////////////////////////////////// 2 6 source 1 855 4 safe 1 855 91 14 Dtool_2KOdcj8i 6 100 855 0 14 Dtool_2KOdcj8i 617 //////////////////////////////////////////////////////////////////// // Function: URLSpec::quote // Access: Published, Static // Description: Returns the source string with all "unsafe" // characters quoted, making a string suitable for // placing in a URL. Letters, digits, and the // underscore, comma, period, and hyphen characters, as // well as any included in the safe string, are left // alone; all others are converted to hex // representation. //////////////////////////////////////////////////////////////////// 1 6 source 1 855 92 14 Dtool_2KOdCXNb 6 101 855 0 14 Dtool_2KOdCXNb 330 //////////////////////////////////////////////////////////////////// // Function: URLSpec::quote_plus // Access: Published, Static // Description: Behaves like quote() with the additional behavior of // replacing spaces with plus signs. //////////////////////////////////////////////////////////////////// 2 6 source 1 855 4 safe 1 855 93 14 Dtool_2KOdo8IX 6 101 855 0 14 Dtool_2KOdo8IX 330 //////////////////////////////////////////////////////////////////// // Function: URLSpec::quote_plus // Access: Published, Static // Description: Behaves like quote() with the additional behavior of // replacing spaces with plus signs. //////////////////////////////////////////////////////////////////// 1 6 source 1 855 94 14 Dtool_2KOdsqPc 6 102 855 0 14 Dtool_2KOdsqPc 365 //////////////////////////////////////////////////////////////////// // Function: URLSpec::unquote // Access: Published, Static // Description: Reverses the operation of quote(): converts escaped // characters of the form "%xx" to their ascii // equivalent. //////////////////////////////////////////////////////////////////// 1 6 source 1 855 95 14 Dtool_2KOdF1dJ 6 103 855 0 14 Dtool_2KOdF1dJ 415 //////////////////////////////////////////////////////////////////// // Function: URLSpec::unquote_plus // Access: Published, Static // Description: Reverses the operation of quote_plus(): converts escaped // characters of the form "%xx" to their ascii // equivalent, and also converts plus signs to spaces. //////////////////////////////////////////////////////////////////// 1 6 source 1 855 96 14 Dtool_2KOdqwwt 6 93 855 0 14 Dtool_2KOdqwwt 229 //////////////////////////////////////////////////////////////////// // Function: URLSpec::string typecast operator // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 853 97 14 Dtool_2KOdxUCO 7 110 858 519 14 Dtool_2KOdxUCO 704 // Filename: httpDate.I // Created by: drose (28Jan03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 98 14 Dtool_2KOdDU7n 7 110 858 519 14 Dtool_2KOdDU7n 225 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 859 99 14 Dtool_2KOd2lK9 7 110 858 519 14 Dtool_2KOd2lK9 363 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Constructor // Access: Published // Description: Decodes the string into a sensible date. Returns 0 // (!is_valid()) if the string cannot be correctly // decoded. //////////////////////////////////////////////////////////////////// 1 6 format 1 855 100 14 Dtool_2KOdi8vm 7 110 858 519 14 Dtool_2KOdi8vm 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 time 1 856 101 14 Dtool_2KOdSJN6 6 111 858 0 14 Dtool_2KOdSJN6 233 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 858 4 copy 1 859 102 14 Dtool_2KOdDz_E 7 112 858 519 14 Dtool_2KOdDz_E 320 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::now (named constructor) // Access: Published, Static // Description: Returns an HTTPDate that represents the current time // and date. //////////////////////////////////////////////////////////////////// 0 103 14 Dtool_2KOdXkTy 6 113 833 0 14 Dtool_2KOdXkTy 379 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::is_valid // Access: Published // Description: Returns true if the date is meaningful, or false if // it is -1 (which generally indicates the source string // could not be parsed.) //////////////////////////////////////////////////////////////////// 1 4 this 3 859 104 14 Dtool_2KOdLLsb 6 114 855 0 14 Dtool_2KOdLLsb 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::get_string // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 859 105 14 Dtool_2KOdiMJn 6 115 856 0 14 Dtool_2KOdiMJn 255 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::get_time // Access: Published // Description: Returns the date as a C time_t value. //////////////////////////////////////////////////////////////////// 1 4 this 3 859 106 14 Dtool_2KOdb8yo 6 116 833 0 14 Dtool_2KOdb8yo 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859 107 14 Dtool_2KOd95ho 6 117 833 0 14 Dtool_2KOd95ho 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859 108 14 Dtool_2KOdf7Fy 6 118 833 0 14 Dtool_2KOdf7Fy 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859 109 14 Dtool_2KOdUJHy 6 119 833 0 14 Dtool_2KOdUJHy 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::Operator > // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859 110 14 Dtool_2KOd_D07 6 120 835 0 14 Dtool_2KOd_D07 399 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::compare_to // Access: Published // Description: Returns a number less than zero if this HTTPDate // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. //////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859 111 14 Dtool_2KOdjIFs 6 121 858 0 14 Dtool_2KOdjIFs 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator += // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 858 7 seconds 1 835 112 14 Dtool_2KOdq_Hs 6 122 858 0 14 Dtool_2KOdq_Hs 220 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator -= // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 858 7 seconds 1 835 113 14 Dtool_2KOdNh_f 7 123 858 519 14 Dtool_2KOdNh_f 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator + // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 859 7 seconds 1 835 114 14 Dtool_2KOdTh8R 6 124 835 0 14 Dtool_2KOdTh8R 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator - // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859 115 14 Dtool_2KOd2wBg 7 124 858 519 14 Dtool_2KOd2wBg 219 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::operator - // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 859 7 seconds 1 835 116 14 Dtool_2KOdDJiR 6 125 833 0 14 Dtool_2KOdDJiR 215 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::input // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 858 2 in 1 845 117 14 Dtool_2KOdfj07 4 126 834 0 14 Dtool_2KOdfj07 216 //////////////////////////////////////////////////////////////////// // Function: HTTPDate::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 859 3 out 1 847 118 14 Dtool_2KOd2hG5 7 129 861 521 14 Dtool_2KOd2hG5 736 // Filename: httpCookie.I // Created by: drose (26Aug04) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::Constructor // Access: Published // Description: Constructs an empty cookie. //////////////////////////////////////////////////////////////////// 0 119 14 Dtool_2KOdWucY 7 129 861 521 14 Dtool_2KOdWucY 453 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::Constructor // Access: Published // Description: Constructs a cookie according to the indicated // string, presumably the tag of a Set-Cookie header. // There is no way to detect a formatting error in the // string with this constructor. //////////////////////////////////////////////////////////////////// 2 6 format 1 855 3 url 1 853 120 14 Dtool_2KOdAtcu 7 129 861 521 14 Dtool_2KOdAtcu 436 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::Constructor // Access: Published // Description: Constructs a cookie with the indicated name, path, // and domain values, but no other data. This is most // useful for looking up an existing cookie in the // HTTPClient. //////////////////////////////////////////////////////////////////// 3 4 name 1 855 4 path 1 855 6 domain 1 855 121 14 Dtool_2KOdOck5 4 131 834 0 14 Dtool_2KOdOck5 220 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_name // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 861 4 name 1 855 122 14 Dtool_2KOdyFhg 6 132 855 0 14 Dtool_2KOdyFhg 316 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_name // Access: Published // Description: Returns the name of the cookie. This is the key // value specified by the server. //////////////////////////////////////////////////////////////////// 1 4 this 3 862 123 14 Dtool_2KOdi2Qd 4 133 834 0 14 Dtool_2KOdi2Qd 221 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_value // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 861 5 value 1 855 124 14 Dtool_2KOdFSc5 6 134 855 0 14 Dtool_2KOdFSc5 380 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_value // Access: Published // Description: Returns the value of the cookie. This is the // arbitrary string associated with the cookie's name, // as specified by the server. //////////////////////////////////////////////////////////////////// 1 4 this 3 862 125 14 Dtool_2KOdVNff 4 135 834 0 14 Dtool_2KOdVNff 222 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_domain // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 861 6 domain 1 855 126 14 Dtool_2KOdBGrk 6 136 855 0 14 Dtool_2KOdBGrk 222 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_domain // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 862 127 14 Dtool_2KOdgXYU 4 137 834 0 14 Dtool_2KOdgXYU 220 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_path // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 861 4 path 1 855 128 14 Dtool_2KOdP4T7 6 138 855 0 14 Dtool_2KOdP4T7 322 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_path // Access: Published // Description: Returns the prefix of the URL paths on the server for // which this cookie will be sent. //////////////////////////////////////////////////////////////////// 1 4 this 3 862 129 14 Dtool_2KOdpqyy 4 139 834 0 14 Dtool_2KOdpqyy 223 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_expires // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 861 7 expires 1 859 130 14 Dtool_2KOdAto1 4 140 834 0 14 Dtool_2KOdAto1 267 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::clear_expires // Access: Published // Description: Removes the expiration date on the cookie. //////////////////////////////////////////////////////////////////// 1 4 this 3 861 131 14 Dtool_2KOdNpuR 6 141 833 0 14 Dtool_2KOdNpuR 307 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::has_expires // Access: Published // Description: Returns true if the cookie has an expiration date, // false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 862 132 14 Dtool_2KOdRhpB 7 142 858 519 14 Dtool_2KOdRhpB 328 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_expires // Access: Published // Description: Returns the expiration date of the cookie if it is // set, or an invalid date if it is not. //////////////////////////////////////////////////////////////////// 1 4 this 3 862 133 14 Dtool_2KOd8wcJ 4 143 834 0 14 Dtool_2KOd8wcJ 222 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::set_secure // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 861 4 flag 1 833 134 14 Dtool_2KOdlxx4 6 144 833 0 14 Dtool_2KOdlxx4 371 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::get_secure // Access: Published // Description: Returns true if the server has indicated this is a // "secure" cookie which should only be sent over an // HTTPS channel. //////////////////////////////////////////////////////////////////// 1 4 this 3 862 135 14 Dtool_2KOdFRXJ 6 145 833 0 14 Dtool_2KOdFRXJ 412 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::operator < // Access: Published // Description: The sorting operator allows the cookies to be stored // in a single dictionary; it returns nonequal only if // the cookies are different in name, path, or domain. //////////////////////////////////////////////////////////////////// 2 4 this 3 862 5 other 1 862 136 14 Dtool_2KOdf06y 4 146 834 0 14 Dtool_2KOdf06y 660 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::update_from // Access: Published // Description: Assuming the operator < method, above, has already // evaluated these two cookies as equal, then assign the // remaining values (value, expiration date, secure // flag) from the indicated cookie. This is guaranteed // not to change the ordering of the cookie in a set, // and so can be used to update an existing cookie // within a set with new values. //////////////////////////////////////////////////////////////////// 2 4 this 3 861 5 other 1 862 137 14 Dtool_2KOdu1Zp 6 147 833 0 14 Dtool_2KOdu1Zp 497 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::parse_set_cookie // Access: Published // Description: Separates out the parameter/value pairs of the // Set-Cookie header and assigns the values of the // cookie appropriate. Returns true if the header is // parsed correctly, false if something is not // understood. //////////////////////////////////////////////////////////////////// 3 4 this 3 861 6 format 1 855 3 url 1 853 138 14 Dtool_2KOddC4P 6 148 833 0 14 Dtool_2KOddC4P 330 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::is_expired // Access: Published // Description: Returns true if the cookie's expiration date is // before the indicated date, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 862 3 now 1 859 139 14 Dtool_2KOdv13h 6 148 833 0 14 Dtool_2KOdv13h 330 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::is_expired // Access: Published // Description: Returns true if the cookie's expiration date is // before the indicated date, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 862 140 14 Dtool_2KOd6_jU 6 149 833 0 14 Dtool_2KOd6_jU 338 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::matches_url // Access: Published // Description: Returns true if the cookie is appropriate to send // with the indicated URL request, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 862 3 url 1 853 141 14 Dtool_2KOdDQSj 4 150 834 0 14 Dtool_2KOdDQSj 218 //////////////////////////////////////////////////////////////////// // Function: HTTPCookie::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 862 3 out 1 847 142 14 Dtool_2KOdhdYN 7 153 864 0 14 Dtool_2KOdhdYN 222 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 143 14 Dtool_2KOdf2lz 7 153 864 0 14 Dtool_2KOdf2lz 227 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 865 144 14 Dtool_2KOdKPp_ 7 154 864 0 14 Dtool_2KOdKPp_ 235 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 864 4 copy 1 865 145 14 Dtool_2KOdIeNt 4 155 834 0 14 Dtool_2KOdIeNt 935 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::init_random_seed // Access: Published, Static // Description: This may be called once, presumably at the beginning // of an application, to initialize OpenSSL's random // seed. On Windows, it is particularly important to // call this at startup if you are going to be performing // any https operations or otherwise use encryption, // since the Windows algorithm for getting a random seed // takes 2-3 seconds at startup, but can take 30 seconds // or more after you have opened a 3-D graphics window // and started rendering. // // There is no harm in calling this method multiple // times, or in not calling it at all. //////////////////////////////////////////////////////////////////// 0 146 14 Dtool_2KOd0gjL 4 156 834 0 14 Dtool_2KOd0gjL 859 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_proxy_spec // Access: Published // Description: Specifies the complete set of proxies to use for all // schemes. This is either a semicolon-delimited set of // hostname:ports, or a semicolon-delimited set of pairs // of the form "scheme=hostname:port", or a combination. // Use the keyword DIRECT, or an empty string, to // represent a direct connection. A particular scheme // and/or proxy host may be listed more than once. This // is a convenience function that can be used in place // of explicit calls to add_proxy() for each // scheme/proxy pair. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 10 proxy_spec 1 855 147 14 Dtool_2KOdcdMt 6 157 855 0 14 Dtool_2KOdcdMt 676 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_proxy_spec // Access: Published // Description: Returns the complete set of proxies to use for all // schemes. This is a string of the form specified by // set_proxy_spec(), above. Note that the string // returned by this function may not be exactly the same // as the string passed into set_proxy_spec(), since the // string is regenerated from the internal storage // structures and may therefore be reordered. //////////////////////////////////////////////////////////////////// 1 4 this 3 865 148 14 Dtool_2KOdCtsw 4 158 834 0 14 Dtool_2KOdCtsw 463 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_direct_host_spec // Access: Published // Description: Specifies the set of hosts that should be connected // to directly, without using a proxy. This is a // semicolon-separated list of hostnames that may // contain wildcard characters ("*"). //////////////////////////////////////////////////////////////////// 2 4 this 3 864 16 direct_host_spec 1 855 149 14 Dtool_2KOd_OJB 6 159 855 0 14 Dtool_2KOd_OJB 455 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_direct_host_spec // Access: Published // Description: Returns the set of hosts that should be connected // to directly, without using a proxy, as a // semicolon-separated list of hostnames that may // contain wildcard characters ("*"). //////////////////////////////////////////////////////////////////// 1 4 this 3 865 150 14 Dtool_2KOdqHMi 4 160 834 0 14 Dtool_2KOdqHMi 1087 // Filename: httpClient.I // Created by: drose (24Sep02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_try_all_direct // Access: Published // Description: If this is set true, then after a connection attempt // through a proxy fails, we always try a direct // connection, regardless of whether the host is listed // on the direct_host_spec list. If this is false, a // direct attempt is not made when we have a proxy in // effect, even if the proxy fails. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 14 try_all_direct 1 833 151 14 Dtool_2KOd95uR 6 161 833 0 14 Dtool_2KOd95uR 384 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_try_all_direct // Access: Published // Description: Returns whether a failed connection through a proxy // will be followed up by a direct connection attempt, // false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 865 152 14 Dtool_2KOd6XUO 4 162 834 0 14 Dtool_2KOd6XUO 371 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_proxy // Access: Published // Description: Resets the proxy spec to empty. Subsequent calls to // add_proxy() may be made to build up the set of proxy // servers. //////////////////////////////////////////////////////////////////// 1 4 this 3 864 153 14 Dtool_2KOdgkTU 4 163 834 0 14 Dtool_2KOdgkTU 540 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_proxy // Access: Published // Description: Adds the indicated proxy host as a proxy for // communications on the given scheme. Usually the // scheme is "http" or "https". It may be the empty // string to indicate a general proxy. The proxy string // may be the empty URL to indicate a direct connection. //////////////////////////////////////////////////////////////////// 3 4 this 3 864 6 scheme 1 855 5 proxy 1 853 154 14 Dtool_2KOdMVZA 4 164 834 0 14 Dtool_2KOdMVZA 441 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_direct_host // Access: Published // Description: Resets the set of direct hosts to empty. Subsequent // calls to add_direct_host() may be made to build up // the list of hosts that do not require a proxy // connection. //////////////////////////////////////////////////////////////////// 1 4 this 3 864 155 14 Dtool_2KOdlCAB 4 165 834 0 14 Dtool_2KOdlCAB 483 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_direct_host // Access: Published // Description: Adds the indicated name to the set of hostnames that // are connected to directly, without using a proxy. // This name may be either a DNS name or an IP address, // and it may include the * as a wildcard character. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 8 hostname 1 855 156 14 Dtool_2KOdJHk7 6 166 855 0 14 Dtool_2KOdJHk7 483 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_proxies_for_url // Access: Published // Description: Returns a semicolon-delimited list of proxies, in the // order in which they should be tried, that are // appropriate for the indicated URL. The keyword // DIRECT indicates a direct connection should be tried. //////////////////////////////////////////////////////////////////// 2 4 this 3 865 3 url 1 853 157 14 Dtool_2KOdXtH7 4 166 834 0 14 Dtool_2KOdXtH7 725 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_proxies_for_url // Access: Published // Description: Fills up the indicated vector with the list of // URLSpec objects, in the order in which they should be // tried, that are appropriate proxies to try for the // indicated URL. The empty URL is returned for a // direct connection. // // It is the user's responsibility to empty this vector // before calling this method; otherwise, the proxy // URL's will simply be appended to the existing list. //////////////////////////////////////////////////////////////////// 3 4 this 3 865 3 url 1 853 7 proxies 1 867 158 14 Dtool_2KOdhpQq 4 167 834 0 14 Dtool_2KOdhpQq 765 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_username // Access: Published // Description: Specifies the username:password string corresponding // to a particular server and/or realm, when demanded by // the server. Either or both of the server or realm // may be empty; if so, they match anything. Also, the // server may be set to the special string "*proxy", // which will match any proxy server. // // If the username is set to the empty string, this // clears the password for the particular server/realm // pair. //////////////////////////////////////////////////////////////////// 4 4 this 3 864 6 server 1 855 5 realm 1 855 8 username 1 855 159 14 Dtool_2KOdlElE 6 168 855 0 14 Dtool_2KOdlElE 388 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_username // Access: Published // Description: Returns the username:password string set for this // server/realm pair, or empty string if nothing has // been set. See set_username(). //////////////////////////////////////////////////////////////////// 3 4 this 3 865 6 server 1 855 5 realm 1 855 160 14 Dtool_2KOdjuM1 4 169 834 0 14 Dtool_2KOdjuM1 341 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_cookie // Access: Published // Description: Stores the indicated cookie in the client's list of // cookies, as if it had been received from a server. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 6 cookie 1 862 161 14 Dtool_2KOd16l5 6 170 833 0 14 Dtool_2KOd16l5 416 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_cookie // Access: Published // Description: Removes the cookie with the matching domain/path/name // from the client's list of cookies. Returns true if // it was removed, false if the cookie was not matched. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 6 cookie 1 862 162 14 Dtool_2KOdGzuN 4 171 834 0 14 Dtool_2KOdGzuN 276 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_all_cookies // Access: Published // Description: Removes the all stored cookies from the client. //////////////////////////////////////////////////////////////////// 1 4 this 3 864 163 14 Dtool_2KOd_mcR 6 172 833 0 14 Dtool_2KOd_mcR 366 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::has_cookie // Access: Published // Description: Returns true if there is a cookie in the client // matching the given cookie's domain/path/name, false // otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 865 6 cookie 1 862 164 14 Dtool_2KOdjqXB 7 173 861 521 14 Dtool_2KOdjqXB 405 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_cookie // Access: Published // Description: Looks up and returns the cookie in the client // matching the given cookie's domain/path/name. If // there is no matching cookie, returns an empty cookie. //////////////////////////////////////////////////////////////////// 2 4 this 3 865 6 cookie 1 862 165 14 Dtool_2KOdmmJ1 4 174 834 0 14 Dtool_2KOdmmJ1 443 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::copy_cookies_from // Access: Published // Description: Copies all the cookies from the indicated HTTPClient // into this one. Existing cookies in this client are // not affected, unless they are shadowed by the new // cookies. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 5 other 1 865 166 14 Dtool_2KOd0N9X 4 175 834 0 14 Dtool_2KOd0N9X 431 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::write_cookies // Access: Published // Description: Outputs the complete list of cookies stored on the // client, for all domains, including the expired // cookies (which will normally not be sent back to a // host). //////////////////////////////////////////////////////////////////// 2 4 this 3 865 3 out 1 847 167 14 Dtool_2KOd4_Fk 4 176 834 0 14 Dtool_2KOd4_Fk 450 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::send_cookies // Access: Published // Description: Writes to the indicated ostream a "Cookie" header // line for sending the cookies appropriate to the // indicated URL along with an HTTP request. This also // removes expired cookies. //////////////////////////////////////////////////////////////////// 3 4 this 3 864 3 out 1 847 3 url 1 853 168 14 Dtool_2KOdQVI3 4 177 834 0 14 Dtool_2KOdQVI3 542 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_client_certificate_filename // Access: Published // Description: Sets the filename of the pem-formatted file that will // be read for the client public and private keys if an // SSL server requests a certificate. Either this or // set_client_certificate_pem() may be used to specify a // client certificate. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 8 filename 1 869 169 14 Dtool_2KOdWLUz 4 178 834 0 14 Dtool_2KOdWLUz 551 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_client_certificate_pem // Access: Published // Description: Sets the pem-formatted contents of the certificate // that will be parsed for the client public and private // keys if an SSL server requests a certificate. Either // this or set_client_certificate_filename() may be used // to specify a client certificate. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 3 pem 1 855 170 14 Dtool_2KOdjJrF 4 179 834 0 14 Dtool_2KOdjJrF 442 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_client_certificate_passphrase // Access: Published // Description: Sets the passphrase used to decrypt the private key // in the certificate named by // set_client_certificate_filename() or // set_client_certificate_pem(). //////////////////////////////////////////////////////////////////// 2 4 this 3 864 10 passphrase 1 855 171 14 Dtool_2KOdYTL6 6 180 833 0 14 Dtool_2KOdYTL6 690 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::load_client_certificate // Access: Published // Description: Attempts to load the certificate named by // set_client_certificate_filename() immediately, and // returns true if successful, false otherwise. // // Normally this need not be explicitly called, since it // will be called automatically if the server requests a // certificate, but it may be useful to determine ahead // of time if the certificate can be loaded correctly. //////////////////////////////////////////////////////////////////// 1 4 this 3 864 172 14 Dtool_2KOd3Zf_ 6 181 833 0 14 Dtool_2KOd3Zf_ 956 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_preapproved_server_certificate_filename // Access: Published // Description: Adds the certificate defined in the indicated PEM // filename as a "pre-approved" certificate for the // indicated server, defined by the hostname and port // (only) from the given URL. // // If the server offers this particular certificate on a // secure connection, it will be accepted without // question. This is particularly useful for // communicating with a server using a known self-signed // certificate. // // See also the similar // add_preapproved_server_certificate_pem(), and the // weaker add_preapproved_server_certificate_name(). //////////////////////////////////////////////////////////////////// 3 4 this 3 864 3 url 1 853 8 filename 1 869 173 14 Dtool_2KOd_nsc 6 182 833 0 14 Dtool_2KOd_nsc 982 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_preapproved_server_certificate_pem // Access: Published // Description: Adds the certificate defined in the indicated data // string, formatted as a PEM block, as a "pre-approved" // certificate for the indicated server, defined by the // hostname and port (only) from the given URL. // // If the server offers this particular certificate on a // secure connection, it will be accepted without // question. This is particularly useful for // communicating with a server using a known self-signed // certificate. // // See also the similar // add_preapproved_server_certificate_filename(), and // the weaker add_preapproved_server_certificate_name(). //////////////////////////////////////////////////////////////////// 3 4 this 3 864 3 url 1 853 3 pem 1 855 174 14 Dtool_2KOdNvQK 6 183 833 0 14 Dtool_2KOdNvQK 1358 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::add_preapproved_server_certificate_name // Access: Published // Description: Adds the certificate *name* only, as a "pre-approved" // certificate name for the indicated server, defined by // the hostname and port (only) from the given URL. // // This is a weaker function than // add_preapproved_server_certificate_filename(). This // checks only the subject name of the certificate, // without checking for a particular certificate by key. // This means that a variety of server certificates may // match the indicated name. // // Because this is a weaker verification, it only // applies to server certificates that are signed by a // recognized certificate authority. Thus, it cannot be // used to pre-approve self-signed certificates, but it // can be used to accept a server certificate offered by // a different hostname than the one in the cert itself. // // The certificate name should be formatted in the form // /type0=value0/type1=value1/type2=... //////////////////////////////////////////////////////////////////// 3 4 this 3 864 3 url 1 853 4 name 1 855 175 14 Dtool_2KOd7J_J 4 184 834 0 14 Dtool_2KOd7J_J 344 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_preapproved_server_certificates // Access: Published // Description: Removes all preapproved server certificates for the // indicated server and port. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 3 url 1 853 176 14 Dtool_2KOdBEo_ 4 185 834 0 14 Dtool_2KOdBEo_ 330 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::clear_all_preapproved_server_certificates // Access: Published // Description: Removes all preapproved server certificates for all // servers. //////////////////////////////////////////////////////////////////// 1 4 this 3 864 177 14 Dtool_2KOdsU3G 4 186 834 0 14 Dtool_2KOdsU3G 483 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_http_version // Access: Published // Description: Specifies the version of HTTP that the client uses to // identify itself to the server. The default is HV_11, // or HTTP 1.0; you can set this to HV_10 (HTTP 1.0) to // request the server use the older interface. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 7 version 1 805 178 14 Dtool_2KOdNyb3 6 187 805 0 14 Dtool_2KOdNyb3 324 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_http_version // Access: Published // Description: Returns the client's current setting for HTTP // version. See set_http_version(). //////////////////////////////////////////////////////////////////// 1 4 this 3 865 179 14 Dtool_2KOd9nwv 6 188 855 0 14 Dtool_2KOd9nwv 336 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_http_version_string // Access: Published // Description: Returns the current HTTP version setting as a string, // e.g. "HTTP/1.0" or "HTTP/1.1". //////////////////////////////////////////////////////////////////// 1 4 this 3 865 180 14 Dtool_2KOdG_NH 6 189 805 0 14 Dtool_2KOdG_NH 464 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::parse_http_version_string // Access: Published // Description: Matches the string representing a particular HTTP // version against any of the known versions and returns // the appropriate enumerated value, or HV_other if the // version is unknown. //////////////////////////////////////////////////////////////////// 1 7 version 1 855 181 14 Dtool_2KOdcD3X 6 190 833 0 14 Dtool_2KOdcD3X 539 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::load_certificates // Access: Published // Description: Reads the certificate(s) (delimited by -----BEGIN // CERTIFICATE----- and -----END CERTIFICATE-----) from // the indicated file and makes them known as trusted // public keys for validating future connections. // Returns true on success, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 8 filename 1 869 182 14 Dtool_2KOd7Lvd 4 192 834 0 14 Dtool_2KOd7Lvd 556 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_verify_ssl // Access: Published // Description: Specifies whether the client will insist on verifying // the identity of the servers it connects to via SSL // (that is, https). // // The parameter value is an enumerated type which // indicates the level of security to which the client // will insist upon. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 10 verify_ssl 1 811 183 14 Dtool_2KOdZMkP 6 193 811 0 14 Dtool_2KOdZMkP 403 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_verify_ssl // Access: Published // Description: Returns whether the client will insist on verifying // the identity of the servers it connects to via SSL // (that is, https). See set_verify_ssl(). //////////////////////////////////////////////////////////////////// 1 4 this 3 865 184 14 Dtool_2KOdR6r0 4 194 834 0 14 Dtool_2KOdR6r0 715 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::set_cipher_list // Access: Published // Description: Specifies the set of ciphers that are to be made // available for SSL connections. This is a string as // described in the ciphers(1) man page of the OpenSSL // documentation (or see // http://www.openssl.org/docs/apps/ciphers.html ). If // this is not specified, the default is provided by the // Config file. You may also specify "DEFAULT" to use // the built-in OpenSSL default value. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 11 cipher_list 1 855 185 14 Dtool_2KOdpJQo 6 195 855 0 14 Dtool_2KOdpJQo 323 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_cipher_list // Access: Published // Description: Returns the set of ciphers as set by // set_cipher_list(). See set_cipher_list(). //////////////////////////////////////////////////////////////////// 1 4 this 3 865 186 14 Dtool_2KOdDV90 7 196 872 0 14 Dtool_2KOdDV90 1184 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::make_channel // Access: Published // Description: Returns a new HTTPChannel object that may be used // for reading multiple documents using the same // connection, for greater network efficiency than // calling HTTPClient::get_document() repeatedly (which // would force a new connection for each document). // // Also, HTTPChannel has some additional, less common // interface methods than the basic interface methods // that exist on HTTPClient; if you wish to call any of // these methods you must first obtain an HTTPChannel. // // Pass true for persistent_connection to gain this // network efficiency. If, on the other hand, your // intention is to use the channel to retrieve only one // document, then pass false to inform the server that // we will be dropping the connection after the first // document. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 21 persistent_connection 1 833 187 14 Dtool_2KOdd7dJ 7 197 872 0 14 Dtool_2KOdd7dJ 531 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::post_form // Access: Published // Description: Posts form data to a particular URL and retrieves the // response. Returns a new HTTPChannel object whether // the document is successfully read or not; you can // test is_valid() and get_return_code() to determine // whether the document was retrieved. //////////////////////////////////////////////////////////////////// 3 4 this 3 864 3 url 1 853 4 body 1 855 188 14 Dtool_2KOdUmtQ 7 198 872 0 14 Dtool_2KOdUmtQ 508 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_document // Access: Published // Description: Opens the named document for reading. Returns a new // HTTPChannel object whether the document is // successfully read or not; you can test is_valid() and // get_return_code() to determine whether the document // was retrieved. //////////////////////////////////////////////////////////////////// 2 4 this 3 864 3 url 1 853 189 14 Dtool_2KOdC6NS 7 199 872 0 14 Dtool_2KOdC6NS 522 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_header // Access: Published // Description: Like get_document(), except only the header // associated with the document is retrieved. This may // be used to test for existence of the document; it // might also return the size of the document (if the // server gives us this information). //////////////////////////////////////////////////////////////////// 2 4 this 3 864 3 url 1 853 190 14 Dtool_2KOdKC9x 6 200 855 0 14 Dtool_2KOdKC9x 489 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::base64_encode // Access: Published, Static // Description: Implements HTTPAuthorization::base64_encode(). This // is provided here just as a convenient place to // publish it for access by the scripting language; C++ // code should probably use HTTPAuthorization directly. //////////////////////////////////////////////////////////////////// 1 1 s 1 855 191 14 Dtool_2KOd9KMP 6 201 855 0 14 Dtool_2KOd9KMP 489 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::base64_decode // Access: Published, Static // Description: Implements HTTPAuthorization::base64_decode(). This // is provided here just as a convenient place to // publish it for access by the scripting language; C++ // code should probably use HTTPAuthorization directly. //////////////////////////////////////////////////////////////////// 1 1 s 1 855 192 14 Dtool_2KOdstOT 7 202 864 0 14 Dtool_2KOdstOT 272 //////////////////////////////////////////////////////////////////// // Function: HTTPClient::get_global_ptr // Access: Published, Static // Description: Returns the default global HTTPClient. //////////////////////////////////////////////////////////////////// 0 193 14 Dtool_2KOd4tMA 7 204 873 603 14 Dtool_2KOd4tMA 715 // Filename: httpEntityTag.I // Created by: drose (28Jan03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 194 14 Dtool_2KOdQDIw 7 204 873 603 14 Dtool_2KOdQDIw 230 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 874 195 14 Dtool_2KOd5Xv8 7 204 873 603 14 Dtool_2KOd5Xv8 380 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Constructor // Access: Published // Description: This constructor accepts a string as formatted from // an HTTP server (e.g. the tag is quoted, with an // optional W/ prefix.) //////////////////////////////////////////////////////////////////// 1 4 text 1 855 196 14 Dtool_2KOdZ_ii 7 204 873 603 14 Dtool_2KOdZ_ii 328 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Constructor // Access: Published // Description: This constructor accepts an explicit weak flag and a // literal (not quoted) tag string. //////////////////////////////////////////////////////////////////// 2 4 weak 1 833 3 tag 1 855 197 14 Dtool_2KOdF2kZ 6 205 873 0 14 Dtool_2KOdF2kZ 238 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 873 4 copy 1 874 198 14 Dtool_2KOds54_ 6 206 833 0 14 Dtool_2KOds54_ 525 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::is_weak // Access: Published // Description: Returns true if the entity tag is marked as "weak". // A consistent weak entity tag does not guarantee that // its resource has not changed in any way, but it does // promise that the resource has not changed in any // semantically meaningful way. //////////////////////////////////////////////////////////////////// 1 4 this 3 874 199 14 Dtool_2KOdHG7c 6 207 855 0 14 Dtool_2KOdHG7c 258 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::get_tag // Access: Published // Description: Returns the tag as a literal string. //////////////////////////////////////////////////////////////////// 1 4 this 3 874 200 14 Dtool_2KOdJDGH 6 208 855 0 14 Dtool_2KOdJDGH 372 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::get_string // Access: Published // Description: Returns the entity tag formatted for sending to an // HTTP server (the tag is quoted, with a conditional W/ // prefix). //////////////////////////////////////////////////////////////////// 1 4 this 3 874 201 14 Dtool_2KOdICzc 6 209 833 0 14 Dtool_2KOdICzc 345 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::strong_equiv // Access: Published // Description: Returns true if the two tags have "strong" equivalence: // they are the same tag, and both are "strong". //////////////////////////////////////////////////////////////////// 2 4 this 3 874 5 other 1 874 202 14 Dtool_2KOduDMa 6 210 833 0 14 Dtool_2KOduDMa 349 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::weak_equiv // Access: Published // Description: Returns true if the two tags have "weak" equivalence: // they are the same tag, and one or both may be "weak". //////////////////////////////////////////////////////////////////// 2 4 this 3 874 5 other 1 874 203 14 Dtool_2KOduwLK 6 211 833 0 14 Dtool_2KOduwLK 381 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Operator == // Access: Published // Description: The == operator tests object equivalence; see also // strong_equiv() and weak_equiv() for the two kinds of // HTTP equivalence. //////////////////////////////////////////////////////////////////// 2 4 this 3 874 5 other 1 874 204 14 Dtool_2KOdqnpJ 6 212 833 0 14 Dtool_2KOdqnpJ 225 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 874 5 other 1 874 205 14 Dtool_2KOdT6L5 6 213 833 0 14 Dtool_2KOdT6L5 224 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::Operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 874 5 other 1 874 206 14 Dtool_2KOddIqM 6 214 835 0 14 Dtool_2KOddIqM 409 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::compare_to // Access: Published // Description: Returns a number less than zero if this HTTPEntityTag // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. //////////////////////////////////////////////////////////////////// 2 4 this 3 874 5 other 1 874 207 14 Dtool_2KOdGXUH 4 215 834 0 14 Dtool_2KOdGXUH 221 //////////////////////////////////////////////////////////////////// // Function: HTTPEntityTag::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 874 3 out 1 847 208 14 Dtool_2KOdaGVJ 7 218 876 627 14 Dtool_2KOdaGVJ 712 // Filename: documentSpec.I // Created by: drose (28Jan03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 209 14 Dtool_2KOdrhhh 7 218 876 627 14 Dtool_2KOdrhhh 229 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 877 210 14 Dtool_2KOdBmXi 7 218 876 627 14 Dtool_2KOdBmXi 224 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 3 url 1 853 211 14 Dtool_2KOdctNb 7 218 876 627 14 Dtool_2KOdctNb 224 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 3 url 1 855 212 14 Dtool_2KOdpTpy 6 219 876 0 14 Dtool_2KOdpTpy 237 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 876 4 copy 1 877 213 14 Dtool_2KOdiL7f 6 220 833 0 14 Dtool_2KOdiL7f 224 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 877 5 other 1 877 214 14 Dtool_2KOdzx6X 6 221 833 0 14 Dtool_2KOdzx6X 224 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 877 5 other 1 877 215 14 Dtool_2KOd2Z_X 6 222 833 0 14 Dtool_2KOd2Z_X 223 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 877 5 other 1 877 216 14 Dtool_2KOd4ZmY 6 223 835 0 14 Dtool_2KOd4ZmY 224 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::compare_to // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 877 5 other 1 877 217 14 Dtool_2KOdUTc6 4 224 834 0 14 Dtool_2KOdUTc6 598 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_url // Access: Published // Description: Changes the URL of the DocumentSpec without modifying // its other properties. Normally this would be a // strange thing to do, because the tag and date are // usually strongly associated with the URL. To get a // DocumentSpec pointing to a new URL, you would // normally create a new DocumentSpec object. //////////////////////////////////////////////////////////////////// 2 4 this 3 876 3 url 1 853 218 14 Dtool_2KOdUTT8 6 225 853 0 14 Dtool_2KOdUTT8 259 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_url // Access: Published // Description: Retrieves the URL of the DocumentSpec. //////////////////////////////////////////////////////////////////// 1 4 this 3 877 219 14 Dtool_2KOdKAZX 4 226 834 0 14 Dtool_2KOdKAZX 296 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_tag // Access: Published // Description: Changes the identity tag associated with the // DocumentSpec. //////////////////////////////////////////////////////////////////// 2 4 this 3 876 3 tag 1 874 220 14 Dtool_2KOdbgI_ 6 227 833 0 14 Dtool_2KOdbgI_ 306 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::has_tag // Access: Published // Description: Returns true if an identity tag is associated with // the DocumentSpec. //////////////////////////////////////////////////////////////////// 1 4 this 3 877 221 14 Dtool_2KOdTNmT 6 228 874 0 14 Dtool_2KOdTNmT 524 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_tag // Access: Published // Description: Returns the identity tag associated with the // DocumentSpec, if there is one. It is an error to // call this if has_tag() returns false. // // The identity tag is set by the HTTP server to // uniquely refer to a particular version of a document. //////////////////////////////////////////////////////////////////// 1 4 this 3 877 222 14 Dtool_2KOdHg2z 4 229 834 0 14 Dtool_2KOdHg2z 315 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::clear_tag // Access: Published // Description: Removes the identity tag associated with the // DocumentSpec, if there is one. //////////////////////////////////////////////////////////////////// 1 4 this 3 876 223 14 Dtool_2KOdBu_L 4 230 834 0 14 Dtool_2KOdBu_L 303 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_date // Access: Published // Description: Changes the last-modified date associated with the // DocumentSpec. //////////////////////////////////////////////////////////////////// 2 4 this 3 876 4 date 1 859 224 14 Dtool_2KOdwwOq 6 231 833 0 14 Dtool_2KOdwwOq 312 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::has_date // Access: Published // Description: Returns true if a last-modified date is associated // with the DocumentSpec. //////////////////////////////////////////////////////////////////// 1 4 this 3 877 225 14 Dtool_2KOd16s_ 6 232 859 0 14 Dtool_2KOd16s_ 395 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_date // Access: Published // Description: Returns the last-modified date associated with the // DocumentSpec, if there is one. It is an error to // call this if has_date() returns false. //////////////////////////////////////////////////////////////////// 1 4 this 3 877 226 14 Dtool_2KOd1ns7 4 233 834 0 14 Dtool_2KOd1ns7 322 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::clear_date // Access: Published // Description: Removes the last-modified date associated with the // DocumentSpec, if there is one. //////////////////////////////////////////////////////////////////// 1 4 this 3 876 227 14 Dtool_2KOdOwGy 4 235 834 0 14 Dtool_2KOdOwGy 1984 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_request_mode // Access: Published // Description: Sets the request mode of this DocumentSpec. This is // only relevant when using the DocumentSpec to generate // a request (for instance, in HTTPChannel). This // specifies whether the document request will ask the // server for a newer version than the indicated // version, or the exact version, neither, or either. // // The possible values are: // // RM_any: ignore date and tag (if specified), and // retrieve any document that matches the URL. For a // subrange request, if the document matches the // version indicated exactly, retrieve the subrange // only; otherwise, retrieve the entire document. // // RM_equal: request only the precise version of the // document that matches the particular date and/or // tag exactly, if specified; fail if this version is // not available. // // RM_newer: request any document that is newer than // the version indicated by the particular date and/or // tag; fail if only that version (or older versions) // are available. // // RM_newer_or_equal: request any document that // matches the version indicated by the particular // date and/or tag, or is a newer version; fail if // only older versions are available. // // In any of the above, you may specify either or both // of the last-modified date and the identity tag, // whichever is known to the client. // // The default mode is RM_any. //////////////////////////////////////////////////////////////////// 2 4 this 3 876 12 request_mode 1 814 228 14 Dtool_2KOdis_z 6 236 814 0 14 Dtool_2KOdis_z 318 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_request_mode // Access: Published // Description: Returns the request mode of this DocumentSpec. See // set_request_mode(). //////////////////////////////////////////////////////////////////// 1 4 this 3 877 229 14 Dtool_2KOdaqta 4 238 834 0 14 Dtool_2KOdaqta 1075 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::set_cache_control // Access: Published // Description: Specifies what kind of cached value is acceptable for // this document. Warning: some HTTP proxies may not // respect this setting and may return a cached result // anyway. // // CC_allow_cache: the normal HTTP behavior; the // server may return a cached value if it believes it // is valid. // // CC_revalidate: a proxy is forced to contact the // origin server and verify that is cached value is in // fact still valid before it returns it. // // CC_no_cache: a proxy must not return its cached // value at all, but is forced to go all the way back // to the origin server for the official document. // // The default mode is CC_allow_cache. //////////////////////////////////////////////////////////////////// 2 4 this 3 876 13 cache_control 1 815 230 14 Dtool_2KOdiIC1 6 239 815 0 14 Dtool_2KOdiIC1 320 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::get_cache_control // Access: Published // Description: Returns the request mode of this DocumentSpec. See // set_cache_control(). //////////////////////////////////////////////////////////////////// 1 4 this 3 877 231 14 Dtool_2KOdXwSU 6 240 833 0 14 Dtool_2KOdXwSU 391 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::input // Access: Published // Description: Can be used to read in the DocumentSpec from a stream // generated either by output() or write(). Returns // true on success, false on failure. //////////////////////////////////////////////////////////////////// 2 4 this 3 876 2 in 1 845 232 14 Dtool_2KOdg56_ 4 241 834 0 14 Dtool_2KOdg56_ 220 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 877 3 out 1 847 233 14 Dtool_2KOdEH_O 4 242 834 0 14 Dtool_2KOdEH_O 219 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 877 3 out 1 847 12 indent_level 1 835 234 14 Dtool_2KOdf_Sn 4 242 834 0 14 Dtool_2KOdf_Sn 219 //////////////////////////////////////////////////////////////////// // Function: DocumentSpec::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 877 3 out 1 847 235 14 Dtool_2KOdGDrT 7 247 864 0 14 Dtool_2KOdGDrT 763 // Filename: httpChannel.I // Created by: drose (24Sep02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_client // Access: Published // Description: Returns the HTTPClient object that owns this channel. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 236 14 Dtool_2KOdVoes 6 248 833 0 14 Dtool_2KOdVoes 367 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::is_valid // Access: Published // Description: Returns true if the last-requested document was // successfully retrieved and is ready to be read, false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 237 14 Dtool_2KOdnmy8 6 249 833 0 14 Dtool_2KOdnmy8 410 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::is_connection_ready // Access: Published // Description: Returns true if a connection has been established to // the named server in a previous call to connect_to() // or begin_connect_to(), false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 238 14 Dtool_2KOd_XTe 6 250 853 0 14 Dtool_2KOd_XTe 572 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_url // Access: Published // Description: Returns the URL that was used to retrieve the // most recent document: whatever URL was last passed to // get_document() or get_header(). If a redirect has // transparently occurred, this will return the new, // redirected URL (the actual URL at which the document // was located). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 239 14 Dtool_2KOdbGRg 6 251 877 0 14 Dtool_2KOdbGRg 703 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_document_spec // Access: Published // Description: Returns the DocumentSpec associated with the most // recent document. This includes its actual URL // (following redirects) along with the identity tag and // last-modified date, if supplied by the server. // // This structure may be saved and used to retrieve the // same version of the document later, or to // conditionally retrieve a newer version if it is // available. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 240 14 Dtool_2KOdFji4 6 252 805 0 14 Dtool_2KOdFji4 385 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_http_version // Access: Published // Description: Returns the HTTP version number returned by the // server, as one of the HTTPClient enumerated types, // e.g. HTTPClient::HV_11. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 241 14 Dtool_2KOd8qBF 6 253 855 0 14 Dtool_2KOd8qBF 348 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_http_version_string // Access: Published // Description: Returns the HTTP version number returned by the // server, formatted as a string, e.g. "HTTP/1.1". //////////////////////////////////////////////////////////////////// 1 4 this 3 879 242 14 Dtool_2KOdd4Hd 6 254 835 0 14 Dtool_2KOdd4Hd 853 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_status_code // Access: Published // Description: Returns the HTML return code from the document // retrieval request. This will be in the 200 range if // the document is successfully retrieved, or some other // value in the case of an error. // // Some proxy errors during an https-over-proxy request // would return the same status code as a different // error that occurred on the host server. To // differentiate these cases, status codes that are // returned by the proxy during the CONNECT phase // (except code 407) are incremented by 1000. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 243 14 Dtool_2KOdvrvb 6 255 855 0 14 Dtool_2KOdvrvb 383 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_status_string // Access: Published // Description: Returns the string as returned by the server // describing the status code for humans. This may or // may not be meaningful. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 244 14 Dtool_2KOdHxhf 6 256 855 0 14 Dtool_2KOdHxhf 668 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_www_realm // Access: Published // Description: If the document failed to connect because of a 401 // (Authorization required), this method will return the // "realm" returned by the server in which the requested // document must be authenticated. This string may be // presented to the user to request an associated // username and password (which then should be stored in // HTTPClient::set_username()). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 245 14 Dtool_2KOd8j1e 6 257 855 0 14 Dtool_2KOd8j1e 604 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_proxy_realm // Access: Published // Description: If the document failed to connect because of a 407 // (Proxy authorization required), this method will // return the "realm" returned by the proxy. This // string may be presented to the user to request an // associated username and password (which then should // be stored in HTTPClient::set_username()). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 246 14 Dtool_2KOd2aFd 6 258 853 0 14 Dtool_2KOd2aFd 669 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_redirect // Access: Published // Description: If the document failed with a redirect code (300 // series), this will generally contain the new URL the // server wants us to try. In many cases, the client // will automatically follow redirects; if these are // succesful the client will return a successful code // and get_redirect() will return empty, but get_url() // will return the new, redirected URL. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 247 14 Dtool_2KOdTcPw 6 259 855 0 14 Dtool_2KOdTcPw 409 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_header_value // Access: Published // Description: Returns the HTML header value associated with the // indicated key, or empty string if the key was not // defined in the message returned by the server. //////////////////////////////////////////////////////////////////// 2 4 this 3 879 3 key 1 855 248 14 Dtool_2KOdUfeR 6 260 835 0 14 Dtool_2KOdUfeR 498 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_num_redirect_steps // Access: Published // Description: If the document automatically followed one or more // redirects, this will return the number of redirects // that were automatically followed. Use // get_redirect_step() to retrieve each URL in // sequence. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 249 14 Dtool_2KOdQU6R 6 261 853 0 14 Dtool_2KOdQU6R 446 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_redirect_step // Access: Published // Description: Use in conjunction with get_num_redirect_steps() to // extract the chain of URL's that the channel was // automatically redirected through to arrive at the // final document. //////////////////////////////////////////////////////////////////// 2 4 this 3 879 1 n 1 835 250 14 Dtool_2KOdf944 4 262 834 0 14 Dtool_2KOdf944 894 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_persistent_connection // Access: Published // Description: Indicates whether the HTTPChannel should try to keep // the connection to the server open and reuse that // connection for multiple documents, or whether it // should close the connection and open a new one for // each request. Set this true to keep the connections // around when possible, false to recycle them. // // It makes most sense to set this false when the // HTTPChannel will be used only once to retrieve a // single document, true when you will be using the same // HTTPChannel object to retrieve multiple documents. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 21 persistent_connection 1 833 251 14 Dtool_2KOdiWP3 6 263 833 0 14 Dtool_2KOdiWP3 553 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_persistent_connection // Access: Published // Description: Returns whether the HTTPChannel should try to keep // the connection to the server open and reuse that // connection for multiple documents, or whether it // should close the connection and open a new one for // each request. See set_persistent_connection(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 252 14 Dtool_2KOd8OgU 6 264 833 0 14 Dtool_2KOd8OgU 485 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::will_close_connection // Access: Published // Description: Returns true if the server has indicated it will // close the connection after this document has been // read, or false if it will remain open (and future // documents may be requested on the same connection). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 253 14 Dtool_2KOdqU04 4 265 834 0 14 Dtool_2KOdqU04 615 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_allow_proxy // Access: Published // Description: If this is true (the normal case), the HTTPClient // will be consulted for information about the proxy to // be used for each connection via this HTTPChannel. If // this has been set to false by the user, then all // connections will be made directly, regardless of the // proxy settings indicated on the HTTPClient. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 11 allow_proxy 1 833 254 14 Dtool_2KOdOM44 6 266 833 0 14 Dtool_2KOdOM44 615 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_allow_proxy // Access: Published // Description: If this is true (the normal case), the HTTPClient // will be consulted for information about the proxy to // be used for each connection via this HTTPChannel. If // this has been set to false by the user, then all // connections will be made directly, regardless of the // proxy settings indicated on the HTTPClient. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 255 14 Dtool_2KOdqHlR 4 267 834 0 14 Dtool_2KOdqHlR 1220 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_proxy_tunnel // Access: Published // Description: Normally, a proxy is itself asked for ordinary URL's, // and the proxy decides whether to hand the client a // cached version of the document or to contact the // server for a fresh version. The proxy may also // modify the headers and transfer encoding on the way. // // If this is set to true, then instead of asking for // URL's from the proxy, we will ask the proxy to open a // connection to the server (for instance, on port 80); // if the proxy honors this request, then we contact the // server directly through this connection to retrieve // the document. If the proxy does not honor the // connect request, then the retrieve operation fails. // // SSL connections (e.g. https), and connections through // a Socks proxy, are always tunneled, regardless of the // setting of this flag. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 12 proxy_tunnel 1 833 256 14 Dtool_2KOdCBWq 6 268 833 0 14 Dtool_2KOdCBWq 418 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_proxy_tunnel // Access: Published // Description: Returns true if connections always tunnel through a // proxy, or false (the normal case) if we allow the // proxy to serve up documents. See set_proxy_tunnel(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 257 14 Dtool_2KOdv_Dp 4 269 834 0 14 Dtool_2KOdv_Dp 633 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_connect_timeout // Access: Published // Description: Sets the maximum length of time, in seconds, that the // channel will wait before giving up on establishing a // TCP connection. // // At present, this is used only for the nonblocking // interfaces (e.g. begin_get_document(), // begin_connect_to()), but it is used whether // set_blocking_connect() is true or false. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 15 timeout_seconds 1 843 258 14 Dtool_2KOdR14O 6 270 843 0 14 Dtool_2KOdR14O 382 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_connect_timeout // Access: Published // Description: Returns the length of time, in seconds, to wait for a // new nonblocking socket to connect. See // set_connect_timeout(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 259 14 Dtool_2KOdDZOE 4 271 834 0 14 Dtool_2KOdDZOE 1043 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_blocking_connect // Access: Published // Description: If this flag is true, a socket connect will block // even for nonblocking I/O calls like // begin_get_document(), begin_connect_to(), etc. If // false, a socket connect will not block for // nonblocking I/O calls, but will block for blocking // I/O calls (get_document(), connect_to(), etc.). // // Setting this true is useful when you want to use // non-blocking I/O once you have established the // connection, but you don't want to bother with polling // for the initial connection. It's also useful when // you don't particularly care about non-blocking I/O, // but you need to respect timeouts like connect_timeout // and http_timeout. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 16 blocking_connect 1 833 260 14 Dtool_2KOdndZu 6 272 833 0 14 Dtool_2KOdndZu 596 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_blocking_connect // Access: Published // Description: If this flag is true, a socket connect will block // even for nonblocking I/O calls like // begin_get_document(), begin_connect_to(), etc. If // false, a socket connect will not block for // nonblocking I/O calls, but will block for blocking // I/O calls (get_document(), connect_to(), etc.). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 261 14 Dtool_2KOdlXv7 4 273 834 0 14 Dtool_2KOdlXv7 838 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_http_timeout // Access: Published // Description: Sets the maximum length of time, in seconds, that the // channel will wait for the HTTP server to finish // sending its response to our request. // // The timer starts counting after the TCP connection // has been established (see set_connect_timeout(), // above) and the request has been sent. // // At present, this is used only for the nonblocking // interfaces (e.g. begin_get_document(), // begin_connect_to()), but it is used whether // set_blocking_connect() is true or false. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 15 timeout_seconds 1 843 262 14 Dtool_2KOdfwd5 6 274 843 0 14 Dtool_2KOdfwd5 383 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_http_timeout // Access: Published // Description: Returns the length of time, in seconds, to wait for // the HTTP server to respond to our request. See // set_http_timeout(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 263 14 Dtool_2KOdYPGx 4 275 834 0 14 Dtool_2KOdYPGx 1032 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_skip_body_size // Access: Published // Description: Specifies the maximum number of bytes in a received // (but unwanted) body that will be skipped past, in // order to reset to a new request. // // That is, if this HTTPChannel requests a file via // get_document(), but does not call download_to_ram(), // download_to_file(), or open_read_body(), and instead // immediately requests a new file, then the HTTPChannel // has a choice whether to skip past the unwanted // document, or to close the connection and open a new // one. If the number of bytes to skip is more than // this threshold, the connection will be closed; // otherwise, the data will simply be read and // discarded. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 14 skip_body_size 1 856 264 14 Dtool_2KOdmtn1 6 276 856 0 14 Dtool_2KOdmtn1 441 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_skip_body_size // Access: Published // Description: Returns the maximum number of bytes in a received // (but unwanted) body that will be skipped past, in // order to reset to a new request. See // set_skip_body_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 265 14 Dtool_2KOdJYhk 4 277 834 0 14 Dtool_2KOdJYhk 712 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_idle_timeout // Access: Published // Description: Specifies the amount of time, in seconds, in which a // previously-established connection is allowed to // remain open and unused. If a previous connection has // remained unused for at least this number of seconds, // it will be closed and a new connection will be // opened; otherwise, the same connection will be reused // for the next request (for this particular // HTTPChannel). //////////////////////////////////////////////////////////////////// 2 4 this 3 872 12 idle_timeout 1 843 266 14 Dtool_2KOdk4Pi 6 278 843 0 14 Dtool_2KOdk4Pi 411 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_idle_timeout // Access: Published // Description: Returns the amount of time, in seconds, in which an // previously-established connection is allowed to // remain open and unused. See set_idle_timeout(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 267 14 Dtool_2KOdFJnS 4 279 834 0 14 Dtool_2KOdFJnS 1100 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_download_throttle // Access: Published // Description: Specifies whether nonblocking downloads (via // download_to_file() or download_to_ram()) will be // limited so as not to use all available bandwidth. // // If this is true, when a download has been started on // this channel it will be invoked no more frequently // than get_max_updates_per_second(), and the total // bandwidth used by the download will be no more than // get_max_bytes_per_second(). If this is false, // downloads will proceed as fast as the server can send // the data. // // This only has effect on the nonblocking I/O methods // like begin_get_document(), etc. The blocking methods // like get_document() always use as much CPU and // bandwidth as they can get. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 17 download_throttle 1 833 268 14 Dtool_2KOdqGLu 6 280 833 0 14 Dtool_2KOdqGLu 349 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_download_throttle // Access: Published // Description: Returns whether the nonblocking downloads will be // bandwidth-limited. See set_download_throttle(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 269 14 Dtool_2KOdqw0a 4 281 834 0 14 Dtool_2KOdqw0a 449 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_max_bytes_per_second // Access: Published // Description: When bandwidth throttling is in effect (see // set_download_throttle()), this specifies the maximum // number of bytes per second that may be consumed by // this channel. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 20 max_bytes_per_second 1 843 270 14 Dtool_2KOdi_cQ 6 282 843 0 14 Dtool_2KOdi_cQ 392 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_max_bytes_per_second // Access: Published // Description: Returns the maximum number of bytes per second that // may be consumed by this channel when // get_download_throttle() is true. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 271 14 Dtool_2KOd5shL 4 283 834 0 14 Dtool_2KOd5shL 467 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_max_updates_per_second // Access: Published // Description: When bandwidth throttling is in effect (see // set_download_throttle()), this specifies the maximum // number of times per second that run() will attempt to // do any downloading at all. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 22 max_updates_per_second 1 843 272 14 Dtool_2KOdHMcA 6 284 843 0 14 Dtool_2KOdHMcA 393 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_max_updates_per_second // Access: Published // Description: Returns the maximum number of times per second that // run() will do anything at all, when // get_download_throttle() is true. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 273 14 Dtool_2KOdhZWP 4 285 834 0 14 Dtool_2KOdhZWP 617 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::set_expected_file_size // Access: Published // Description: This may be called immediately after a call to // get_document() or some related function to specify // the expected size of the document we are retrieving, // if we happen to know. This is used as the return // value to get_file_size() only in the case that the // server does not tell us the actual file size. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 9 file_size 1 856 274 14 Dtool_2KOdsNiH 6 286 835 0 14 Dtool_2KOdsNiH 877 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_file_size // Access: Published, Virtual // Description: Returns the size of the file, if it is known. // Returns the value set by set_expected_file_size() if // the file size is not known, or 0 if this value was // not set. // // If the file is dynamically generated, the size may // not be available until a read has started // (e.g. open_read_body() has been called); and even // then it may increase as more of the file is read due // to the nature of HTTP/1.1 requests which can change // their minds midstream about how much data they're // sending you. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 275 14 Dtool_2KOdEQik 6 287 833 0 14 Dtool_2KOdEQik 637 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::is_file_size_known // Access: Published // Description: Returns true if the size of the file we are currently // retrieving was told us by the server and thus is // reliably known, or false if the size reported by // get_file_size() represents an educated guess // (possibly as set by set_expected_file_size(), or as // inferred from a chunked transfer encoding in // progress). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 276 14 Dtool_2KOdH5ry 6 288 856 0 14 Dtool_2KOdH5ry 591 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_first_byte_requested // Access: Published // Description: Returns the first byte of the file requested by the // request. This will normally be 0 to indicate that // the file is being requested from the beginning, but // if the file was requested via a get_subdocument() // call, this will contain the first_byte parameter from // that call. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 277 14 Dtool_2KOdWrQH 6 289 856 0 14 Dtool_2KOdWrQH 586 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_last_byte_requested // Access: Published // Description: Returns the last byte of the file requested by the // request. This will normally be 0 to indicate that // the file is being requested to its last byte, but if // the file was requested via a get_subdocument() call, // this will contain the last_byte parameter from that // call. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 278 14 Dtool_2KOdhJd9 6 290 856 0 14 Dtool_2KOdhJd9 700 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_first_byte_delivered // Access: Published // Description: Returns the first byte of the file (that will be) // delivered by the server in response to the current // request. Normally, this is the same as // get_first_byte_requested(), but some servers will // ignore a subdocument request and always return the // whole file, in which case this value will be 0, // regardless of what was requested to // get_subdocument(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 279 14 Dtool_2KOdXcmb 6 291 856 0 14 Dtool_2KOdXcmb 697 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_last_byte_delivered // Access: Published // Description: Returns the last byte of the file (that will be) // delivered by the server in response to the current // request. Normally, this is the same as // get_last_byte_requested(), but some servers will // ignore a subdocument request and always return the // whole file, in which case this value will be 0, // regardless of what was requested to // get_subdocument(). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 280 14 Dtool_2KOdN8ab 4 292 834 0 14 Dtool_2KOdN8ab 326 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::write_headers // Access: Published // Description: Outputs a list of all headers defined by the server // to the indicated output stream. //////////////////////////////////////////////////////////////////// 2 4 this 3 879 3 out 1 847 281 14 Dtool_2KOdIvGa 4 293 834 0 14 Dtool_2KOdIvGa 894 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::reset // Access: Published // Description: Stops whatever file transaction is currently in // progress, closes the connection, and resets to begin // anew. You shouldn't ever need to call this, since // the channel should be able to reset itself cleanly // between requests, but it is provided in case you are // an especially nervous type. // // Don't call this after every request unless you set // set_persistent_connection() to false, since calling // reset() rudely closes the connection regardless of // whether we have told the server we intend to keep it // open or not. //////////////////////////////////////////////////////////////////// 1 4 this 3 872 282 14 Dtool_2KOdPZJB 4 294 834 0 14 Dtool_2KOdPZJB 838 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::preserve_status // Access: Published // Description: Preserves the previous status code (presumably a // failure) from the previous connection attempt. If // the subsequent connection attempt also fails, the // returned status code will be the better of the // previous code and the current code. // // This can be called to daisy-chain subsequent attempts // to download the same document from different servers. // After all servers have been attempted, the final // status code will reflect the attempt that most nearly // succeeded. //////////////////////////////////////////////////////////////////// 1 4 this 3 872 283 14 Dtool_2KOdBzJt 4 295 834 0 14 Dtool_2KOdBzJt 334 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::clear_extra_headers // Access: Published // Description: Resets the extra headers that were previously added // via calls to send_extra_header(). //////////////////////////////////////////////////////////////////// 1 4 this 3 872 284 14 Dtool_2KOddFsV 4 296 834 0 14 Dtool_2KOddFsV 658 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::send_extra_header // Access: Published // Description: Specifies an additional key: value pair that is added // into the header sent to the server with the next // request. This is passed along with no interpretation // by the HTTPChannel code. You may call this // repeatedly to append multiple headers. // // This is persistent for one request only; it must be // set again for each new request. //////////////////////////////////////////////////////////////////// 3 4 this 3 872 3 key 1 855 5 value 1 855 285 14 Dtool_2KOdwPqu 6 297 833 0 14 Dtool_2KOdwPqu 338 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_document // Access: Published // Description: Opens the named document for reading, if available. // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 286 14 Dtool_2KOd4V7o 6 298 833 0 14 Dtool_2KOd4V7o 603 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_subdocument // Access: Published // Description: Retrieves only the specified byte range of the // indicated document. If last_byte is 0, it stands for // the last byte of the document. When a subdocument is // requested, get_file_size() and get_bytes_downloaded() // will report the number of bytes of the subdocument, // not of the complete document. //////////////////////////////////////////////////////////////////// 4 4 this 3 872 3 url 1 877 10 first_byte 1 856 9 last_byte 1 856 287 14 Dtool_2KOdLWd4 6 299 833 0 14 Dtool_2KOdLWd4 523 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_header // Access: Published // Description: Like get_document(), except only the header // associated with the document is retrieved. This may // be used to test for existence of the document; it // might also return the size of the document (if the // server gives us this information). //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 288 14 Dtool_2KOdss5e 6 300 833 0 14 Dtool_2KOdss5e 302 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::post_form // Access: Published // Description: Posts form data to a particular URL and retrieves the // response. //////////////////////////////////////////////////////////////////// 3 4 this 3 872 3 url 1 877 4 body 1 855 289 14 Dtool_2KOdxlX3 6 301 833 0 14 Dtool_2KOdxlX3 339 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::put_document // Access: Published // Description: Uploads the indicated body to the server to replace // the indicated URL, if the server allows this. //////////////////////////////////////////////////////////////////// 3 4 this 3 872 3 url 1 877 4 body 1 855 290 14 Dtool_2KOdAciN 6 302 833 0 14 Dtool_2KOdAciN 276 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::delete_document // Access: Published // Description: Requests the server to remove the indicated URL. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 291 14 Dtool_2KOde1xo 6 303 833 0 14 Dtool_2KOde1xo 401 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_trace // Access: Published // Description: Sends a TRACE message to the server, which should // return back the same message as the server received // it, allowing inspection of proxy hops, etc. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 292 14 Dtool_2KOdaL93 6 304 833 0 14 Dtool_2KOdaL93 624 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::connect_to // Access: Published // Description: Establish a direct connection to the server and port // indicated by the URL, but do not issue any HTTP // requests. If successful, the connection may then be // taken to use for whatever purposes you like by // calling get_connection(). // // This establishes a blocking I/O socket. Also see // begin_connect_to(). //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 293 14 Dtool_2KOdDbra 6 305 833 0 14 Dtool_2KOdDbra 380 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_options // Access: Published // Description: Sends an OPTIONS message to the server, which should // query the available options, possibly in relation to // a specified URL. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 294 14 Dtool_2KOdez8L 4 306 834 0 14 Dtool_2KOdez8L 785 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_get_document // Access: Published // Description: Begins a non-blocking request to retrieve a given // document. This method will return immediately, even // before a connection to the server has necessarily // been established; you must then call run() from time // to time until the return value of run() is false. // Then you may check is_valid() and get_status_code() // to determine the status of your request. // // If a previous request had been pending, that request // is discarded. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 295 14 Dtool_2KOd4Z2h 4 307 834 0 14 Dtool_2KOd4Z2h 658 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_get_subdocument // Access: Published // Description: Begins a non-blocking request to retrieve only the // specified byte range of the indicated document. If // last_byte is 0, it stands for the last byte of the // document. When a subdocument is requested, // get_file_size() and get_bytes_downloaded() will // report the number of bytes of the subdocument, not of // the complete document. //////////////////////////////////////////////////////////////////// 4 4 this 3 872 3 url 1 877 10 first_byte 1 856 9 last_byte 1 856 296 14 Dtool_2KOdV0p8 4 308 834 0 14 Dtool_2KOdV0p8 347 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_get_header // Access: Published // Description: Begins a non-blocking request to retrieve a given // header. See begin_get_document() and get_header(). //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 297 14 Dtool_2KOd8VHe 4 309 834 0 14 Dtool_2KOd8VHe 769 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_post_form // Access: Published // Description: Posts form data to a particular URL and retrieves the // response, all using non-blocking I/O. See // begin_get_document() and post_form(). // // It is important to note that you *must* call run() // repeatedly after calling this method until run() // returns false, and you may not call any other // document posting or retrieving methods using the // HTTPChannel object in the interim, or your form data // may not get posted. //////////////////////////////////////////////////////////////////// 3 4 this 3 872 3 url 1 877 4 body 1 855 298 14 Dtool_2KOdV81y 6 310 833 0 14 Dtool_2KOdV81y 731 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::run // Access: Published // Description: This must be called from time to time when // non-blocking I/O is in use. It checks for data // coming in on the socket and writes data out to the // socket when possible, and does whatever processing is // required towards completing the current task. // // The return value is true if the task is still pending // (and run() will need to be called again in the // future), or false if the current task is complete. //////////////////////////////////////////////////////////////////// 1 4 this 3 872 299 14 Dtool_2KOdc0qc 4 311 834 0 14 Dtool_2KOdc0qc 920 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::begin_connect_to // Access: Published // Description: Begins a non-blocking request to establish a direct // connection to the server and port indicated by the // URL. No HTTP requests will be issued beyond what is // necessary to establish the connection. When run() // has finished, you may call is_connection_ready() to // determine if the connection was successfully // established. // // If successful, the connection may then be taken to // use for whatever purposes you like by calling // get_connection(). // // This establishes a nonblocking I/O socket. Also see // connect_to(). //////////////////////////////////////////////////////////////////// 2 4 this 3 872 3 url 1 877 300 14 Dtool_2KOdFCBU 6 312 844 0 14 Dtool_2KOdFCBU 948 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::open_read_body // Access: Published // Description: Returns a newly-allocated istream suitable for // reading the body of the document. This may only be // called immediately after a call to get_document() or // post_form(), or after a call to run() has returned // false. // // Note that, in nonblocking mode, the returned stream // may report an early EOF, even before the actual end // of file. When this happens, you should call // stream->is_closed() to determine whether you should // attempt to read some more later. // // The user is responsible for passing the returned // istream to close_read_body() later. //////////////////////////////////////////////////////////////////// 1 4 this 3 872 301 14 Dtool_2KOdmKSJ 4 313 834 0 14 Dtool_2KOdmKSJ 516 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::close_read_body // Access: Public // Description: Closes a file opened by a previous call to // open_read_body(). This really just deletes the // istream pointer, but it is recommended to use this // interface instead of deleting it explicitly, to help // work around compiler issues. //////////////////////////////////////////////////////////////////// 2 4 this 3 879 6 stream 1 845 302 14 Dtool_2KOdPbQV 6 314 833 0 14 Dtool_2KOdPbQV 1950 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_file // Access: Published // Description: Specifies the name of a file to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the file and return true if it was // successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated file. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the file for writing the // output. In this case, the file must already exist // and must have at least first_byte bytes in it. If // subdocument_resumes is false, a subdocument will // always be downloaded beginning at the first byte of // the file. //////////////////////////////////////////////////////////////////// 3 4 this 3 872 8 filename 1 869 19 subdocument_resumes 1 833 303 14 Dtool_2KOdKhGP 6 314 833 0 14 Dtool_2KOdKhGP 1950 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_file // Access: Published // Description: Specifies the name of a file to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the file and return true if it was // successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated file. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the file for writing the // output. In this case, the file must already exist // and must have at least first_byte bytes in it. If // subdocument_resumes is false, a subdocument will // always be downloaded beginning at the first byte of // the file. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 8 filename 1 869 304 14 Dtool_2KOdovIW 6 315 833 0 14 Dtool_2KOdovIW 1778 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_ram // Access: Published // Description: Specifies a Ramfile object to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the Ramfile and return true if it // was successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated Ramfile. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the Ramfile for writing // the output. In this case, the Ramfile must already // have at least first_byte bytes in it. //////////////////////////////////////////////////////////////////// 3 4 this 3 872 7 ramfile 1 881 19 subdocument_resumes 1 833 305 14 Dtool_2KOdlZ_P 6 315 833 0 14 Dtool_2KOdlZ_P 1778 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_ram // Access: Published // Description: Specifies a Ramfile object to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the Ramfile and return true if it // was successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated Ramfile. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the Ramfile for writing // the output. In this case, the Ramfile must already // have at least first_byte bytes in it. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 7 ramfile 1 881 306 14 Dtool_2KOd_hXy 6 316 833 0 14 Dtool_2KOd_hXy 1956 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_stream // Access: Published // Description: Specifies the name of an ostream to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the file and return true if it was // successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated file. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the file for writing the // output. In this case, the file must already exist // and must have at least first_byte bytes in it. If // subdocument_resumes is false, a subdocument will // always be downloaded beginning at the first byte of // the file. //////////////////////////////////////////////////////////////////// 3 4 this 3 872 4 strm 1 847 19 subdocument_resumes 1 833 307 14 Dtool_2KOdPs3R 6 316 833 0 14 Dtool_2KOdPs3R 1956 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::download_to_stream // Access: Published // Description: Specifies the name of an ostream to download the // resulting document to. This should be called // immediately after get_document() or // begin_get_document() or related functions. // // In the case of the blocking I/O methods like // get_document(), this function will download the // entire document to the file and return true if it was // successfully downloaded, false otherwise. // // In the case of non-blocking I/O methods like // begin_get_document(), this function simply indicates an // intention to download to the indicated file. It // returns true if the file can be opened for writing, // false otherwise, but the contents will not be // completely downloaded until run() has returned false. // At this time, it is possible that a communications // error will have left a partial file, so // is_download_complete() may be called to test this. // // If subdocument_resumes is true and the document in // question was previously requested as a subdocument // (i.e. get_subdocument() with a first_byte value // greater than zero), this will automatically seek to // the appropriate byte within the file for writing the // output. In this case, the file must already exist // and must have at least first_byte bytes in it. If // subdocument_resumes is false, a subdocument will // always be downloaded beginning at the first byte of // the file. //////////////////////////////////////////////////////////////////// 2 4 this 3 872 4 strm 1 847 308 14 Dtool_2KOdRUR4 6 317 848 0 14 Dtool_2KOdRUR4 656 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_connection // Access: Published // Description: Returns the connection that was established via a // previous call to connect_to() or begin_connect_to(), // or NULL if the connection attempt failed or if those // methods have not recently been called. // // This stream has been allocated from the free store. // It is the user's responsibility to delete this // pointer when finished with it. //////////////////////////////////////////////////////////////////// 1 4 this 3 872 309 14 Dtool_2KOdH2KX 6 318 856 0 14 Dtool_2KOdH2KX 643 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_bytes_downloaded // Access: Published // Description: Returns the number of bytes downloaded during the // last (or current) download_to_file() or // download_to_ram operation(). This can be used in // conjunction with get_file_size() to report the // percent complete (but be careful, since // get_file_size() may return 0 if the server has not // told us the size of the file). //////////////////////////////////////////////////////////////////// 1 4 this 3 879 310 14 Dtool_2KOdwOVm 6 319 856 0 14 Dtool_2KOdwOVm 1059 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::get_bytes_requested // Access: Published // Description: When download throttling is in effect // (set_download_throttle() has been set to true) and // non-blocking I/O methods (like begin_get_document()) // are used, this returns the number of bytes // "requested" from the server so far: that is, the // theoretical maximum value for get_bytes_downloaded(), // if the server has been keeping up with our demand. // // If this number is less than get_bytes_downloaded(), // then the server has not been supplying bytes fast // enough to meet our own download throttle rate. // // When download throttling is not in effect, or when // the blocking I/O methods (like get_document(), etc.) // are used, this returns 0. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 311 14 Dtool_2KOdXuSB 6 320 833 0 14 Dtool_2KOdXuSB 984 //////////////////////////////////////////////////////////////////// // Function: HTTPChannel::is_download_complete // Access: Published // Description: Returns true when a download_to() or // download_to_ram() has executed and the file has been // fully downloaded. If this still returns false after // processing has completed, there was an error in // transmission. // // Note that simply testing is_download_complete() does // not prove that the requested document was succesfully // retrieved--you might have just downloaded the "404 // not found" stub (for instance) that a server would // provide in response to some error condition. You // should also check is_valid() to prove that the file // you expected has been successfully retrieved. //////////////////////////////////////////////////////////////////// 1 4 this 3 879 312 14 Dtool_2KOde2x8 7 321 884 0 14 Dtool_2KOde2x8 0 0 313 14 Dtool_2KOdB4PE 7 323 885 704 14 Dtool_2KOdB4PE 221 //////////////////////////////////////////////////////////////////// // Function: Decompressor::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 314 14 Dtool_2KOdw6VS 6 325 835 0 14 Dtool_2KOdw6VS 454 //////////////////////////////////////////////////////////////////// // Function: Decompressor::initiate // Access: Public // Description: Begins a background decompression of the named file // (whose filename must end in ".pz") to a new file // without the .pz extension. The source file is // removed after successful completion. //////////////////////////////////////////////////////////////////// 2 4 this 3 885 11 source_file 1 869 315 14 Dtool_2KOdP1ck 6 325 835 0 14 Dtool_2KOdP1ck 401 //////////////////////////////////////////////////////////////////// // Function: Decompressor::initiate // Access: Public // Description: Begins a background decompression from the named // source file to the named destination file. The // source file is removed after successful completion. //////////////////////////////////////////////////////////////////// 3 4 this 3 885 11 source_file 1 869 9 dest_file 1 869 316 14 Dtool_2KOd4YBi 6 326 835 0 14 Dtool_2KOd4YBi 493 //////////////////////////////////////////////////////////////////// // Function: Decompressor::run // Access: Public // Description: Called each frame to do the next bit of work in the // background task. Returns EU_ok if a chunk is // completed but there is more to go, or EU_success when // we're all done. Any other return value indicates an // error. //////////////////////////////////////////////////////////////////// 1 4 this 3 885 317 14 Dtool_2KOdHZkY 6 327 833 0 14 Dtool_2KOdHZkY 362 //////////////////////////////////////////////////////////////////// // Function: Decompressor::decompress // Access: Public // Description: Performs a foreground decompression of the named // file; does not return until the decompression is // complete. //////////////////////////////////////////////////////////////////// 2 4 this 3 885 11 source_file 1 869 318 14 Dtool_2KOdDUun 6 327 833 0 14 Dtool_2KOdDUun 393 //////////////////////////////////////////////////////////////////// // Function: Decompressor::decompress // Access: Public // Description: Does an in-memory decompression of the indicated // Ramfile. The decompressed contents are written back // into the same Ramfile on completion. //////////////////////////////////////////////////////////////////// 2 4 this 3 885 20 source_and_dest_file 1 881 319 14 Dtool_2KOdujks 6 328 888 0 14 Dtool_2KOdujks 307 //////////////////////////////////////////////////////////////////// // Function: Decompressor::get_progress // Access: Public // Description: Returns the ratio through the decompression step // in the background. //////////////////////////////////////////////////////////////////// 1 4 this 3 886 320 14 Dtool_2KOd_aVY 7 331 889 710 14 Dtool_2KOd_aVY 247 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::Constructor // Access: Public // Description: Primarily used for testing. //////////////////////////////////////////////////////////////////// 0 321 14 Dtool_2KOdR1U1 7 331 889 710 14 Dtool_2KOdR1U1 273 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::Constructor // Access: Public // Description: Create a download db with these client and server dbs //////////////////////////////////////////////////////////////////// 2 11 server_file 1 890 11 client_file 1 890 322 14 Dtool_2KOd6i5v 7 331 889 710 14 Dtool_2KOd6i5v 273 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::Constructor // Access: Public // Description: Create a download db with these client and server dbs //////////////////////////////////////////////////////////////////// 2 11 server_file 1 881 11 client_file 1 890 323 14 Dtool_2KOdXINq 4 333 834 0 14 Dtool_2KOdXINq 214 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::output // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 3 out 1 847 324 14 Dtool_2KOd3Ao5 4 334 834 0 14 Dtool_2KOd3Ao5 213 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::write // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 3 out 1 847 325 14 Dtool_2KOdV2oK 4 335 834 0 14 Dtool_2KOdV2oK 225 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::write_version_map // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 3 out 1 847 326 14 Dtool_2KOddnHR 6 336 833 0 14 Dtool_2KOddnHR 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 4 file 1 890 327 14 Dtool_2KOdtu0x 6 337 833 0 14 Dtool_2KOdtu0x 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 4 file 1 890 328 14 Dtool_2KOdd__n 6 338 835 0 14 Dtool_2KOdd__n 696 // Filename: downloadDb.I // Created by: shochet (08Sep00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 891 329 14 Dtool_2KOdXid5 6 339 835 0 14 Dtool_2KOdXid5 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 891 330 14 Dtool_2KOdC6SH 6 340 855 0 14 Dtool_2KOdC6SH 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 5 index 1 835 331 14 Dtool_2KOdtjxY 6 341 855 0 14 Dtool_2KOdtjxY 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 5 index 1 835 332 14 Dtool_2KOdQDcT 6 342 835 0 14 Dtool_2KOdQDcT 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 333 14 Dtool_2KOd5_ms 4 343 834 0 14 Dtool_2KOd5_ms 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 4 size 1 835 334 14 Dtool_2KOdMBMJ 6 344 835 0 14 Dtool_2KOdMBMJ 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 4 size 1 835 335 14 Dtool_2KOdTy7k 6 345 835 0 14 Dtool_2KOdTy7k 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 336 14 Dtool_2KOd_6E_ 4 346 834 0 14 Dtool_2KOd_6E_ 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 4 size 1 835 337 14 Dtool_2KOdyAuk 6 347 888 0 14 Dtool_2KOdyAuk 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 338 14 Dtool_2KOd2HN2 6 348 888 0 14 Dtool_2KOd2HN2 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 339 14 Dtool_2KOddYJ4 4 349 834 0 14 Dtool_2KOddYJ4 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855 340 14 Dtool_2KOd0bjV 4 350 834 0 14 Dtool_2KOd0bjV 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855 341 14 Dtool_2KOdwEYN 4 351 834 0 14 Dtool_2KOdwEYN 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855 342 14 Dtool_2KOdBgOD 4 352 834 0 14 Dtool_2KOdBgOD 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855 343 14 Dtool_2KOdvRAy 6 353 835 0 14 Dtool_2KOdvRAy 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 344 14 Dtool_2KOdlMf6 6 354 855 0 14 Dtool_2KOdlMf6 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 891 6 mfname 1 855 5 index 1 835 345 14 Dtool_2KOdOqV1 6 355 833 0 14 Dtool_2KOdOqV1 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 346 14 Dtool_2KOdNg5P 6 356 833 0 14 Dtool_2KOdNg5P 375 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: A multifile is complete when it is completely // downloaded. Note: it may already be decompressed // or extracted and it is still complete //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 347 14 Dtool_2KOdSEoI 6 357 833 0 14 Dtool_2KOdSEoI 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 348 14 Dtool_2KOd8yC1 6 358 833 0 14 Dtool_2KOd8yC1 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 349 14 Dtool_2KOdzdCE 7 359 894 0 14 Dtool_2KOdzdCE 260 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: Return the hash value of the file we are working on //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 350 14 Dtool_2KOdiMJh 4 360 834 0 14 Dtool_2KOdiMJh 253 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: Set the hash value of file we are working on //////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 3 val 1 894 351 14 Dtool_2KOd1YhV 7 361 894 0 14 Dtool_2KOd1YhV 249 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: Return the hash value of the server file //////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855 352 14 Dtool_2KOd7_my 4 362 834 0 14 Dtool_2KOd7_my 253 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: Set the hash value of file we are working on //////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 3 val 1 894 353 14 Dtool_2KOdU638 4 363 834 0 14 Dtool_2KOdU638 236 // Operations on multifiles //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855 354 14 Dtool_2KOduOKg 4 364 834 0 14 Dtool_2KOduOKg 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 13 server_mfname 1 855 355 14 Dtool_2KOdrRXT 4 365 834 0 14 Dtool_2KOdrRXT 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855 356 14 Dtool_2KOdsfrv 4 366 834 0 14 Dtool_2KOdsfrv 311 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::create_new_server_db // Access: Public // Description: Used on the server side makefiles to create a // new clean server db //////////////////////////////////////////////////////////////////// 1 4 this 3 889 357 14 Dtool_2KOdcfl4 4 367 834 0 14 Dtool_2KOdcfl4 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 5 4 this 3 889 6 mfname 1 855 5 phase 1 888 4 size 1 835 6 status 1 835 358 14 Dtool_2KOdRAQv 4 368 834 0 14 Dtool_2KOdRAQv 208 //////////////////////////////////////////////////////////////////// // Function: DownloadDb:: // Access: Public // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 5 fname 1 855 359 14 Dtool_2KOdQsdt 7 369 896 0 14 Dtool_2KOdQsdt 218 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::read_db // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 889 4 file 1 890 16 want_server_info 1 833 360 14 Dtool_2KOdUwJj 7 369 896 0 14 Dtool_2KOdUwJj 218 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::read_db // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 889 4 file 1 881 16 want_server_info 1 833 361 14 Dtool_2KOdM7K5 6 370 833 0 14 Dtool_2KOdM7K5 219 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::write_db // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 889 4 file 1 890 2 db 1 896 16 want_server_info 1 833 362 14 Dtool_2KOdm3aE 4 371 834 0 14 Dtool_2KOdm3aE 433 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::add_version // Access: Published // Description: Appends a new version of the file onto the end of the // list, or changes the hash associated with a version // previously added. // // Note: version numbers start at 1 //////////////////////////////////////////////////////////////////// 4 4 this 3 889 4 name 1 869 4 hash 1 897 7 version 1 835 363 14 Dtool_2KOd05Zn 4 372 834 0 14 Dtool_2KOd05Zn 330 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::insert_new_version // Access: Published // Description: Inserts a new version 1 copy of the file, sliding all // the other versions up by one. //////////////////////////////////////////////////////////////////// 3 4 this 3 889 4 name 1 869 4 hash 1 897 364 14 Dtool_2KOdVFEb 6 373 833 0 14 Dtool_2KOdVFEb 404 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::has_version // Access: Published // Description: Returns true if the indicated file has version // information, false otherwise. Some files recorded in // the database may not bother to track versions. //////////////////////////////////////////////////////////////////// 2 4 this 3 891 4 name 1 869 365 14 Dtool_2KOdbMUC 6 374 835 0 14 Dtool_2KOdbMUC 306 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::get_num_versions // Access: Published // Description: Returns the number of versions stored for the // indicated file. //////////////////////////////////////////////////////////////////// 2 4 this 3 891 4 name 1 869 366 14 Dtool_2KOdLJWU 4 375 834 0 14 Dtool_2KOdLJWU 394 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::set_num_versions // Access: Published // Description: Reduces the number of versions of a particular file // stored in the ddb by throwing away all versions // higher than the indicated index. //////////////////////////////////////////////////////////////////// 3 4 this 3 889 4 name 1 869 12 num_versions 1 835 367 14 Dtool_2KOdeTF2 6 376 835 0 14 Dtool_2KOdeTF2 440 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::get_version // Access: Published // Description: Returns the version number of this particular file, // determined by looking up the hash generated from the // file. Returns -1 if the version number cannot be // determined. //////////////////////////////////////////////////////////////////// 3 4 this 3 891 4 name 1 869 4 hash 1 897 368 14 Dtool_2KOd6zuc 6 377 897 0 14 Dtool_2KOd6zuc 318 //////////////////////////////////////////////////////////////////// // Function: DownloadDb::get_hash // Access: Published // Description: Returns the MD5 hash associated with the indicated // version of the indicated file. //////////////////////////////////////////////////////////////////// 3 4 this 3 891 4 name 1 869 7 version 1 835 369 14 Dtool_2KOd8R9_ 7 382 884 0 14 Dtool_2KOd8R9_ 0 0 370 14 Dtool_2KOdfneg 7 385 899 0 14 Dtool_2KOdfneg 233 //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 root 1 853 4 http 1 864 371 14 Dtool_2KOdTJ7i 7 385 899 0 14 Dtool_2KOdTJ7i 233 //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 root 1 853 372 14 Dtool_2KOdQLpa 7 386 864 0 14 Dtool_2KOdQLpa 811 // Filename: virtualFileMountHTTP.I // Created by: drose (30Oct08) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::get_http_client // Access: Published // Description: Returns the HTTPClient object that services this // mount point. //////////////////////////////////////////////////////////////////// 1 4 this 3 900 373 14 Dtool_2KOd0R3N 6 387 853 0 14 Dtool_2KOd0R3N 308 //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::get_root // Access: Published // Description: Returns the URL that represents the root of this // mount point. //////////////////////////////////////////////////////////////////// 1 4 this 3 900 374 14 Dtool_2KOdgDGs 4 388 834 0 14 Dtool_2KOdgDGs 758 //////////////////////////////////////////////////////////////////// // Function: VirtualFileMountHTTP::reload_vfs_mount_url // Access: Published, Static // Description: Reads all of the vfs-mount-url lines in the // Config.prc file and replaces the mount settings to // match them. // // This will mount any url's mentioned in the config // file, and unmount and unmount any url's no longer // mentioned in the config file. Normally, it is called // automatically at startup, and need not be called // again, unless you have fiddled with some config // settings. //////////////////////////////////////////////////////////////////// 0 375 14 Dtool_2KOdvlPL 7 389 884 0 14 Dtool_2KOdvlPL 0 0 376 14 Dtool_2KOdUQPe 7 391 902 765 14 Dtool_2KOdUQPe 221 //////////////////////////////////////////////////////////////////// // Function: Extractor::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 377 14 Dtool_2KOdszJD 6 393 833 0 14 Dtool_2KOdszJD 392 //////////////////////////////////////////////////////////////////// // Function: Extractor::set_multifile // Access: Published // Description: Specifies the filename of the Multifile that the // Extractor will read. Returns true on success, false // if the mulifile name is invalid. //////////////////////////////////////////////////////////////////// 2 4 this 3 902 14 multifile_name 1 869 378 14 Dtool_2KOdbwYp 4 394 834 0 14 Dtool_2KOdbwYp 453 //////////////////////////////////////////////////////////////////// // Function: Extractor::set_extract_dir // Access: Published // Description: Specifies the directory into which all extracted // subfiles will be written. Relative paths of subfiles // within the Multifile will be written as relative // paths to this directory. //////////////////////////////////////////////////////////////////// 2 4 this 3 902 11 extract_dir 1 869 379 14 Dtool_2KOdZFSE 4 395 834 0 14 Dtool_2KOdZFSE 368 //////////////////////////////////////////////////////////////////// // Function: Extractor::reset // Access: Published // Description: Interrupts the Extractor in the middle of its // business and makes it ready to accept a new list of // subfiles to extract. //////////////////////////////////////////////////////////////////// 1 4 this 3 902 380 14 Dtool_2KOd22R_ 6 396 833 0 14 Dtool_2KOd22R_ 391 //////////////////////////////////////////////////////////////////// // Function: Extractor::request_subfile // Access: Published // Description: Requests a particular subfile to be extracted when // step() or run() is called. Returns true if the // subfile exists, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 902 12 subfile_name 1 869 381 14 Dtool_2KOdRYjW 6 397 835 0 14 Dtool_2KOdRYjW 334 //////////////////////////////////////////////////////////////////// // Function: Extractor::request_all_subfiles // Access: Published // Description: Requests all subfiles in the Multifile to be // extracted. Returns the number requested. //////////////////////////////////////////////////////////////////// 1 4 this 3 902 382 14 Dtool_2KOdCcut 6 398 835 0 14 Dtool_2KOdCcut 695 //////////////////////////////////////////////////////////////////// // Function: Extractor::step // Access: Published // Description: After all of the requests have been made via // request_file() or request_all_subfiles(), call step() // repeatedly until it stops returning EU_ok. // // step() extracts the next small unit of data from the // Multifile. Returns EU_ok if progress is continuing, // EU_error_abort if there is a problem, or EU_success // when the last piece has been extracted. // // Also see run(). //////////////////////////////////////////////////////////////////// 1 4 this 3 902 383 14 Dtool_2KOdhtp3 6 399 888 0 14 Dtool_2KOdhtp3 292 //////////////////////////////////////////////////////////////////// // Function: Extractor::get_progress // Access: Public // Description: Returns the fraction of the Multifile extracted so // far. //////////////////////////////////////////////////////////////////// 1 4 this 3 903 384 14 Dtool_2KOdaBlQ 6 400 833 0 14 Dtool_2KOdaBlQ 674 //////////////////////////////////////////////////////////////////// // Function: Extractor::run // Access: Published // Description: A convenience function to extract the Multifile all // at once, when you don't care about doing it in the // background. // // First, call request_file() or request_all_files() to // specify the files you would like to extract, then // call run() to do the extraction. Also see step() for // when you would like the extraction to happen as a // background task. //////////////////////////////////////////////////////////////////// 1 4 this 3 902 385 14 Dtool_2KOdZfxv 7 402 905 781 14 Dtool_2KOdZfxv 715 // Filename: multiplexStream.I // Created by: drose (27Nov00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 386 14 Dtool_2KOdZXC6 4 403 834 0 14 Dtool_2KOdZXC6 379 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_ostream // Access: Public // Description: Adds the indicated generic ostream to the multiplex // output. The ostream will receive whatever data is // sent to the pipe. //////////////////////////////////////////////////////////////////// 3 4 this 3 905 3 out 1 847 12 delete_later 1 833 387 14 Dtool_2KOddq5z 4 403 834 0 14 Dtool_2KOddq5z 379 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_ostream // Access: Public // Description: Adds the indicated generic ostream to the multiplex // output. The ostream will receive whatever data is // sent to the pipe. //////////////////////////////////////////////////////////////////// 2 4 this 3 905 3 out 1 847 388 14 Dtool_2KOdFGvk 6 404 833 0 14 Dtool_2KOdFGvk 335 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_stdio_file // Access: Public // Description: Adds the given file, previously opened using the C // stdio library, to the multiplex output. //////////////////////////////////////////////////////////////////// 3 4 this 3 905 4 file 1 906 15 close_when_done 1 833 389 14 Dtool_2KOdk5Dq 4 405 834 0 14 Dtool_2KOdk5Dq 266 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_standard_output // Access: Public // Description: Adds the standard output channel. //////////////////////////////////////////////////////////////////// 1 4 this 3 905 390 14 Dtool_2KOdrLNF 6 406 833 0 14 Dtool_2KOdrLNF 400 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_file // Access: Public // Description: Adds the given file to the multiplex output. The // file is opened in append mode with line buffering. // Returns false if the file cannot be opened. //////////////////////////////////////////////////////////////////// 2 4 this 3 905 4 file 1 890 391 14 Dtool_2KOdJUTf 4 407 834 0 14 Dtool_2KOdJUTf 542 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::add_system_debug // Access: Public // Description: Adds the system debug output the the multiplex // output. This may map to a syslog or some such // os-specific output system. It may do nothing on a // particular system. // // Presently, this maps only to OutputDebugString() on // Windows. //////////////////////////////////////////////////////////////////// 1 4 this 3 905 392 14 Dtool_2KOdJH3n 4 408 834 0 14 Dtool_2KOdJH3n 270 //////////////////////////////////////////////////////////////////// // Function: MultiplexStream::flush // Access: Public // Description: Forces out all output that hasn't yet been written. //////////////////////////////////////////////////////////////////// 1 4 this 3 905 393 14 Dtool_2KOdXe93 7 411 908 783 14 Dtool_2KOdXe93 216 //////////////////////////////////////////////////////////////////// // Function: Patcher::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 394 14 Dtool_2KOd8YxX 7 411 908 783 14 Dtool_2KOd8YxX 216 //////////////////////////////////////////////////////////////////// // Function: Patcher::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 6 buffer 1 909 395 14 Dtool_2KOdYc1E 6 413 835 0 14 Dtool_2KOdYc1E 213 //////////////////////////////////////////////////////////////////// // Function: Patcher::initiate // Access: Public // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 908 5 patch 1 890 6 infile 1 890 396 14 Dtool_2KOd_N2z 6 414 835 0 14 Dtool_2KOd_N2z 208 //////////////////////////////////////////////////////////////////// // Function: Patcher::run // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 908 397 14 Dtool_2KOdx_F5 6 415 888 0 14 Dtool_2KOdx_F5 701 // Filename: patcher.I // Created by: darren (20Dec00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Patcher::get_progress // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 911 398 14 Dtool_2KOdKnUw 7 417 913 793 14 Dtool_2KOdKnUw 713 // Filename: stringStream.I // Created by: drose (03Jul07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: StringStream::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 399 14 Dtool_2KOdheLC 7 417 913 793 14 Dtool_2KOdheLC 318 //////////////////////////////////////////////////////////////////// // Function: StringStream::Constructor // Access: Published // Description: This version of the constructor preloads the buffer // with the indicated data. //////////////////////////////////////////////////////////////////// 1 6 source 1 855 400 14 Dtool_2KOdV15i 4 418 834 0 14 Dtool_2KOdV15i 243 //////////////////////////////////////////////////////////////////// // Function: StringStream::clear_data // Access: Published // Description: Empties the buffer. //////////////////////////////////////////////////////////////////// 1 4 this 3 913 401 14 Dtool_2KOd74S2 6 419 856 0 14 Dtool_2KOd74S2 319 //////////////////////////////////////////////////////////////////// // Function: StringStream::get_data_size // Access: Published // Description: Returns the number of characters available to be read // from the data stream. //////////////////////////////////////////////////////////////////// 1 4 this 3 913 402 14 Dtool_2KOd_ccq 6 420 855 0 14 Dtool_2KOd_ccq 274 //////////////////////////////////////////////////////////////////// // Function: StringStream::get_data // Access: Published // Description: Returns the contents of the data stream as a string. //////////////////////////////////////////////////////////////////// 1 4 this 3 913 403 14 Dtool_2KOdJWYJ 4 421 834 0 14 Dtool_2KOdJWYJ 311 //////////////////////////////////////////////////////////////////// // Function: StringStream::set_data // Access: Published // Description: Replaces the contents of the data stream. This // implicitly reseeks to 0. //////////////////////////////////////////////////////////////////// 2 4 this 3 913 4 data 1 855 404 14 Dtool_2KOdSY78 4 422 834 0 14 Dtool_2KOdSY78 307 //////////////////////////////////////////////////////////////////// // Function: StringStream::swap_data // Access: Published // Description: Swaps the indicated buffer for the contents of the // internal buffer. //////////////////////////////////////////////////////////////////// 2 4 this 3 913 4 data 1 914 405 14 Dtool_2KOdZj2d 6 378 916 0 14 Dtool_2KOdZj2d 0 1 4 name 1 890 406 14 Dtool_2KOdwHLZ 6 379 916 0 14 Dtool_2KOdwHLZ 0 1 4 name 1 890 124 794 8 SSReader 26625 8 SSReader 8 SSReader 0 0 0 0 407 0 5 408 409 410 411 412 0 0 0 0 0 433 //////////////////////////////////////////////////////////////////// // Class : SSReader // Description : An internal class for reading from a socket stream. // This serves as a base class for both ISocketStream // and SocketStream; its purpose is to minimize // redundant code between them. Do not use it directly. //////////////////////////////////////////////////////////////////// 795 8 SSWriter 26625 8 SSWriter 8 SSWriter 0 0 0 0 413 0 11 414 415 416 417 418 419 420 421 422 423 424 0 0 0 0 0 431 //////////////////////////////////////////////////////////////////// // Class : SSWriter // Description : An internal class for writing to a socket stream. // This serves as a base class for both OSocketStream // and SocketStream; its purpose is to minimize // redundant code between them. Do not use it directly. //////////////////////////////////////////////////////////////////// 796 13 ISocketStream 26625 13 ISocketStream 13 ISocketStream 0 0 0 0 429 0 3 430 431 432 0 0 2 3 797 425 426 3 794 427 428 0 1 798 529 //////////////////////////////////////////////////////////////////// // Class : ISocketStream // Description : This is a base class for istreams implemented in // Panda that read from a (possibly non-blocking) // socket. It adds is_closed(), which can be called // after an eof condition to check whether the socket // has been closed, or whether more data may be // available later. //////////////////////////////////////////////////////////////////// 797 7 istream 2049 7 istream 7 istream 0 0 0 0 0 0 0 0 0 0 0 0 0 798 9 ReadState 794624 24 ISocketStream::ReadState 24 ISocketStream::ReadState 796 0 0 0 0 0 0 0 0 0 4 10 RS_initial 25 ISocketStream::RS_initial 0 10 RS_reading 25 ISocketStream::RS_reading 1 11 RS_complete 26 ISocketStream::RS_complete 2 8 RS_error 23 ISocketStream::RS_error 3 0 0 799 13 OSocketStream 141313 13 OSocketStream 13 OSocketStream 0 0 0 0 440 0 3 437 438 439 0 0 2 3 800 433 434 3 795 435 436 0 0 486 //////////////////////////////////////////////////////////////////// // Class : OSocketStream // Description : A base class for ostreams that write to a (possibly // non-blocking) socket. It adds is_closed(), which can // be called after any write operation fails to check // whether the socket has been closed, or whether more // data may be sent later. //////////////////////////////////////////////////////////////////// 800 7 ostream 2049 7 ostream 7 ostream 0 0 0 0 0 0 0 0 0 0 0 0 0 801 12 SocketStream 141313 12 SocketStream 12 SocketStream 0 0 0 0 452 0 5 447 448 449 450 451 0 0 3 3 802 441 442 3 794 443 444 3 795 445 446 0 0 285 //////////////////////////////////////////////////////////////////// // Class : SocketStream // Description : A base class for iostreams that read and write to a // (possibly non-blocking) socket. //////////////////////////////////////////////////////////////////// 802 8 iostream 2049 8 iostream 8 iostream 0 0 0 0 0 0 0 0 0 0 0 0 0 803 7 URLSpec 141313 7 URLSpec 7 URLSpec 0 0 0 1 453 500 0 45 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 490 491 492 493 494 495 496 497 498 499 0 1 489 0 0 0 437 //////////////////////////////////////////////////////////////////// // Class : URLSpec // Description : A container for a URL, e.g. "http://server:port/path". // // The URLSpec object is similar to a Filename in that // it contains logic to identify the various parts of a // URL and return (or modify) them separately. //////////////////////////////////////////////////////////////////// 804 8 HTTPEnum 141313 8 HTTPEnum 8 HTTPEnum 0 0 0 0 501 0 0 0 0 0 0 2 805 806 348 //////////////////////////////////////////////////////////////////// // Class : HTTPEnum // Description : This class is just used as a namespace wrapper for // some of the enumerated types used by various classes // within the HTTPClient family. //////////////////////////////////////////////////////////////////// 805 11 HTTPVersion 794624 21 HTTPEnum::HTTPVersion 21 HTTPEnum::HTTPVersion 804 0 0 0 0 0 0 0 0 0 4 5 HV_09 15 HTTPEnum::HV_09 0 5 HV_10 15 HTTPEnum::HV_10 1 5 HV_11 15 HTTPEnum::HV_11 2 8 HV_other 18 HTTPEnum::HV_other 3 0 0 806 6 Method 794624 16 HTTPEnum::Method 16 HTTPEnum::Method 804 0 0 0 0 0 0 0 0 0 8 9 M_options 19 HTTPEnum::M_options 0 5 M_get 15 HTTPEnum::M_get 1 6 M_head 16 HTTPEnum::M_head 2 6 M_post 16 HTTPEnum::M_post 3 5 M_put 15 HTTPEnum::M_put 4 8 M_delete 18 HTTPEnum::M_delete 5 7 M_trace 17 HTTPEnum::M_trace 6 9 M_connect 19 HTTPEnum::M_connect 7 0 0 807 8 HTTPDate 141313 8 HTTPDate 8 HTTPDate 0 0 0 1 502 519 0 16 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 0 0 0 0 0 466 //////////////////////////////////////////////////////////////////// // Class : HTTPDate // Description : A container for an HTTP-legal time/date indication. // This can accept a string from an HTTP header and will // decode it into a C time_t value; conversely, it can // accept a time_t value and encode it for output as a // string. //////////////////////////////////////////////////////////////////// 808 10 HTTPCookie 26625 10 HTTPCookie 10 HTTPCookie 0 0 0 1 520 521 0 20 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 0 0 0 0 0 327 //////////////////////////////////////////////////////////////////// // Class : HTTPCookie // Description : A cookie sent from an HTTP server to be stored on the // client and returned when the path and/or domain // matches. //////////////////////////////////////////////////////////////////// 809 10 HTTPClient 75777 10 HTTPClient 10 HTTPClient 0 0 0 1 542 0 0 48 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 0 0 1 0 810 0 0 0 1 811 871 //////////////////////////////////////////////////////////////////// // Class : HTTPClient // Description : Handles contacting an HTTP server and retrieving a // document. Each HTTPClient object represents a // separate context, and stores its own list of cookies, // passwords, and certificates; however, a given // HTTPClient is capable of making multiple simultaneous // requests to the same or different servers. // // It is up to the programmer whether one HTTPClient // should be used to retrieve all documents, or a // separate one should be created each time. There is a // default, global HTTPClient available in // HTTPClient::get_global_ptr(). //////////////////////////////////////////////////////////////////// 810 14 ReferenceCount 2049 14 ReferenceCount 14 ReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 425 //////////////////////////////////////////////////////////////////// // Class : ReferenceCount // Description : A base class for all things that want to be // reference-counted. ReferenceCount works in // conjunction with PointerTo to automatically delete // objects when the last pointer to them goes away. //////////////////////////////////////////////////////////////////// 811 9 VerifySSL 794624 21 HTTPClient::VerifySSL 21 HTTPClient::VerifySSL 809 0 0 0 0 0 0 0 0 0 3 12 VS_no_verify 24 HTTPClient::VS_no_verify 0 16 VS_no_date_check 28 HTTPClient::VS_no_date_check 1 9 VS_normal 21 HTTPClient::VS_normal 2 0 0 812 13 HTTPEntityTag 141313 13 HTTPEntityTag 13 HTTPEntityTag 0 0 0 1 591 603 0 11 592 593 594 595 596 597 598 599 600 601 602 0 0 0 0 0 404 //////////////////////////////////////////////////////////////////// // Class : HTTPEntityTag // Description : A container for an "entity tag" from an HTTP server. // This is used to identify a particular version of a // document or resource, particularly useful for // verifying caches. //////////////////////////////////////////////////////////////////// 813 12 DocumentSpec 141313 12 DocumentSpec 12 DocumentSpec 0 0 0 1 604 627 0 22 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 0 0 0 0 2 814 815 562 //////////////////////////////////////////////////////////////////// // Class : DocumentSpec // Description : A descriptor that refers to a particular version of a // document. This includes the URL of the document and // its identity tag and last-modified dates. // // The DocumentSpec may also be used to request a newer // document than a particular one if available, for // instance to refresh a cached document. //////////////////////////////////////////////////////////////////// 814 11 RequestMode 794624 25 DocumentSpec::RequestMode 25 DocumentSpec::RequestMode 813 0 0 0 0 0 0 0 0 0 4 6 RM_any 20 DocumentSpec::RM_any 0 8 RM_equal 22 DocumentSpec::RM_equal 1 8 RM_newer 22 DocumentSpec::RM_newer 2 17 RM_equal_or_newer 31 DocumentSpec::RM_equal_or_newer 3 0 0 815 12 CacheControl 794624 26 DocumentSpec::CacheControl 26 DocumentSpec::CacheControl 813 0 0 0 0 0 0 0 0 0 3 14 CC_allow_cache 28 DocumentSpec::CC_allow_cache 0 13 CC_revalidate 27 DocumentSpec::CC_revalidate 1 11 CC_no_cache 25 DocumentSpec::CC_no_cache 2 0 0 816 11 HTTPChannel 75777 11 HTTPChannel 11 HTTPChannel 0 0 0 0 0 0 75 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 1 918 0 1 0 817 0 0 0 1 818 875 //////////////////////////////////////////////////////////////////// // Class : HTTPChannel // Description : A single channel of communication from an HTTPClient. // This is similar to the concept of a 'connection', // except that HTTP is technically connectionless; in // fact, a channel may represent one unbroken connection // or it may transparently close and reopen a new // connection with each request. // // A channel is conceptually a single thread of I/O. // One document at a time may be requested using a // channel; a new document may (in general) not be // requested from the same HTTPChannel until the first // document has been fully retrieved. //////////////////////////////////////////////////////////////////// 817 19 TypedReferenceCount 2049 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 710 //////////////////////////////////////////////////////////////////// // Class : TypedReferenceCount // Description : A base class for things which need to inherit from // both TypedObject and from ReferenceCount. It's // convenient to define this intermediate base class // instead of multiply inheriting from the two classes // each time they are needed, so that we can sensibly // pass around pointers to things which are both // TypedObjects and ReferenceCounters. // // See also TypedObject for detailed instructions. //////////////////////////////////////////////////////////////////// 818 10 StatusCode 794624 23 HTTPChannel::StatusCode 23 HTTPChannel::StatusCode 816 0 0 0 0 0 0 0 0 0 20 13 SC_incomplete 26 HTTPChannel::SC_incomplete 0 17 SC_internal_error 30 HTTPChannel::SC_internal_error 1 16 SC_no_connection 29 HTTPChannel::SC_no_connection 2 10 SC_timeout 23 HTTPChannel::SC_timeout 3 18 SC_lost_connection 31 HTTPChannel::SC_lost_connection 4 20 SC_non_http_response 33 HTTPChannel::SC_non_http_response 5 15 SC_invalid_http 28 HTTPChannel::SC_invalid_http 6 24 SC_socks_invalid_version 37 HTTPChannel::SC_socks_invalid_version 7 35 SC_socks_no_acceptable_login_method 48 HTTPChannel::SC_socks_no_acceptable_login_method 8 16 SC_socks_refused 29 HTTPChannel::SC_socks_refused 9 22 SC_socks_no_connection 35 HTTPChannel::SC_socks_no_connection 10 23 SC_ssl_internal_failure 36 HTTPChannel::SC_ssl_internal_failure 11 19 SC_ssl_no_handshake 32 HTTPChannel::SC_ssl_no_handshake 12 23 SC_http_error_watermark 36 HTTPChannel::SC_http_error_watermark 13 33 SC_ssl_invalid_server_certificate 46 HTTPChannel::SC_ssl_invalid_server_certificate 14 37 SC_ssl_self_signed_server_certificate 50 HTTPChannel::SC_ssl_self_signed_server_certificate 15 24 SC_ssl_unexpected_server 37 HTTPChannel::SC_ssl_unexpected_server 16 22 SC_download_open_error 35 HTTPChannel::SC_download_open_error 17 23 SC_download_write_error 36 HTTPChannel::SC_download_write_error 18 25 SC_download_invalid_range 38 HTTPChannel::SC_download_invalid_range 19 0 194 // get_status_code() will either return an HTTP-style status code >= // 100 (e.g. 404), or one of the following values. In general, // these are ordered from less-successful to more-successful. 819 12 Decompressor 26625 12 Decompressor 12 Decompressor 0 0 0 1 703 704 0 4 705 706 707 708 0 0 0 0 0 319 //////////////////////////////////////////////////////////////////// // Class : Decompressor // Description : This manages run-time decompression of a // zlib-compressed stream, as a background or foreground // task. //////////////////////////////////////////////////////////////////// 820 10 DownloadDb 26625 10 DownloadDb 10 DownloadDb 0 0 0 1 709 710 0 45 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 0 0 0 0 1 821 594 //////////////////////////////////////////////////////////////////// // Class : DownloadDb // Description : A listing of files within multifiles for management // of client-side synchronization with a server-provided // set of files. // // This class manages one copy of the database for the // client, representing the files on the client system, // and another copy for the server, representing the // files the server has available. //////////////////////////////////////////////////////////////////// 821 6 Status 794624 18 DownloadDb::Status 18 DownloadDb::Status 820 0 0 0 0 0 0 0 0 0 4 17 Status_incomplete 29 DownloadDb::Status_incomplete 0 15 Status_complete 27 DownloadDb::Status_complete 1 19 Status_decompressed 31 DownloadDb::Status_decompressed 2 16 Status_extracted 28 DownloadDb::Status_extracted 3 0 213 // Status of a multifile is stored in this enum // Note these values are in increasing order of "doneness" // So if you are decompressed, you are complete // If you are extracted, you are decompressed and complete 822 15 VirtualFileHTTP 75777 15 VirtualFileHTTP 15 VirtualFileHTTP 0 0 0 0 0 0 1 758 0 0 1 0 823 0 0 0 0 359 //////////////////////////////////////////////////////////////////// // Class : VirtualFileHTTP // Description : This maps a document retrieved from an HTTPClient // into the VirtualFileSystem, allowing models etc. to // be loaded directly from a web page. //////////////////////////////////////////////////////////////////// 823 11 VirtualFile 2049 11 VirtualFile 11 VirtualFile 0 0 0 0 0 0 0 0 0 0 0 0 278 //////////////////////////////////////////////////////////////////// // Class : VirtualFile // Description : The abstract base class for a file or directory // within the VirtualFileSystem. //////////////////////////////////////////////////////////////////// 824 20 VirtualFileMountHTTP 75777 20 VirtualFileMountHTTP 20 VirtualFileMountHTTP 0 0 0 1 759 0 0 4 760 761 762 763 0 0 1 0 825 0 0 0 0 264 //////////////////////////////////////////////////////////////////// // Class : VirtualFileMountHTTP // Description : Maps a web page (URL root) into the // VirtualFileSystem. //////////////////////////////////////////////////////////////////// 825 16 VirtualFileMount 2049 16 VirtualFileMount 16 VirtualFileMount 0 0 0 0 0 0 0 0 0 0 0 0 365 //////////////////////////////////////////////////////////////////// // Class : VirtualFileMount // Description : The abstract base class for a mount definition used // within a VirtualFileSystem. Normally users don't // need to monkey with this class directly. //////////////////////////////////////////////////////////////////// 826 9 Extractor 26625 9 Extractor 9 Extractor 0 0 0 1 764 765 0 8 766 767 768 769 770 771 772 773 0 0 0 0 0 862 //////////////////////////////////////////////////////////////////// // Class : Extractor // Description : This class automatically extracts the contents of a // Multifile to the current directory (or to a specified // directory) in the background. // // It is designed to limit its use of system resources // and run unobtrusively in the background. After // specifying the files you wish to extract via repeated // calls to request_subfile(), begin the process by // calling run() repeatedly. Each call to run() // extracts another small portion of the Multifile. // Call run() whenever you have spare cycles until run() // returns EU_success. //////////////////////////////////////////////////////////////////// 827 15 MultiplexStream 141313 15 MultiplexStream 15 MultiplexStream 0 0 0 1 774 781 0 6 775 776 777 778 779 780 0 0 1 0 800 0 0 0 0 544 //////////////////////////////////////////////////////////////////// // Class : MultiplexStream // Description : This is a special ostream that forwards the data that // is written to it to any number of other sources, for // instance other ostreams, or explicitly to a disk file // or to system logging utilities. It's a very handy // thing to set Notify to refer to when running in batch // mode. //////////////////////////////////////////////////////////////////// 828 7 Patcher 26625 7 Patcher 7 Patcher 0 0 0 1 782 783 0 3 784 785 786 0 0 0 0 0 209 //////////////////////////////////////////////////////////////////// // Class : Patcher // Description : Applies a patch synchronously //////////////////////////////////////////////////////////////////// 829 12 StringStream 141313 12 StringStream 12 StringStream 0 0 0 1 787 793 0 5 788 789 790 791 792 0 0 1 0 802 0 0 0 0 346 //////////////////////////////////////////////////////////////////// // Class : StringStream // Description : A bi-directional stream object that reads and writes // data to an internal buffer, which can be retrieved // and/or set as a string. //////////////////////////////////////////////////////////////////// 830 10 SSReader * 8576 10 SSReader * 10 SSReader * 0 0 794 0 0 0 0 0 0 0 0 0 0 831 10 Datagram * 8576 10 Datagram * 10 Datagram * 0 0 832 0 0 0 0 0 0 0 0 0 0 832 8 Datagram 2048 8 Datagram 8 Datagram 0 0 0 0 0 0 0 0 0 0 0 0 900 //////////////////////////////////////////////////////////////////// // Class : Datagram // Description : An ordered list of data elements, formatted in memory // for transmission over a socket or writing to a data // file. // // Data elements should be added one at a time, in // order, to the Datagram. The nature and contents of // the data elements are totally up to the user. When a // Datagram has been transmitted and received, its data // elements may be extracted using a DatagramIterator; // it is up to the caller to know the correct type of // each data element in order. // // A Datagram is itself headerless; it is simply a // collection of data elements. //////////////////////////////////////////////////////////////////// 833 4 bool 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 834 4 void 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0 835 3 int 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 836 16 SSReader const * 8576 16 SSReader const * 16 SSReader const * 0 0 837 0 0 0 0 0 0 0 0 0 0 837 14 SSReader const 8832 14 SSReader const 14 SSReader const 0 0 794 0 0 0 0 0 0 0 0 0 0 838 10 SSWriter * 8576 10 SSWriter * 10 SSWriter * 0 0 795 0 0 0 0 0 0 0 0 0 0 839 16 Datagram const * 8576 16 Datagram const * 16 Datagram const * 0 0 840 0 0 0 0 0 0 0 0 0 0 840 14 Datagram const 8832 14 Datagram const 14 Datagram const 0 0 832 0 0 0 0 0 0 0 0 0 0 841 16 SSWriter const * 8576 16 SSWriter const * 16 SSWriter const * 0 0 842 0 0 0 0 0 0 0 0 0 0 842 14 SSWriter const 8832 14 SSWriter const 14 SSWriter const 0 0 795 0 0 0 0 0 0 0 0 0 0 843 6 double 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0 844 15 ISocketStream * 8576 15 ISocketStream * 15 ISocketStream * 0 0 796 0 0 0 0 0 0 0 0 0 0 845 9 istream * 8576 9 istream * 9 istream * 0 0 797 0 0 0 0 0 0 0 0 0 0 846 15 OSocketStream * 8576 15 OSocketStream * 15 OSocketStream * 0 0 799 0 0 0 0 0 0 0 0 0 0 847 9 ostream * 8576 9 ostream * 9 ostream * 0 0 800 0 0 0 0 0 0 0 0 0 0 848 14 SocketStream * 8576 14 SocketStream * 14 SocketStream * 0 0 801 0 0 0 0 0 0 0 0 0 0 849 20 SocketStream const * 8576 20 SocketStream const * 20 SocketStream const * 0 0 850 0 0 0 0 0 0 0 0 0 0 850 18 SocketStream const 8832 18 SocketStream const 18 SocketStream const 0 0 801 0 0 0 0 0 0 0 0 0 0 851 10 iostream * 8576 10 iostream * 10 iostream * 0 0 802 0 0 0 0 0 0 0 0 0 0 852 9 URLSpec * 8576 9 URLSpec * 9 URLSpec * 0 0 803 0 0 0 0 0 0 0 0 0 0 853 15 URLSpec const * 8576 15 URLSpec const * 15 URLSpec const * 0 0 854 0 0 0 0 0 0 0 0 0 0 854 13 URLSpec const 8832 13 URLSpec const 13 URLSpec const 0 0 803 0 0 0 0 0 0 0 0 0 0 855 13 atomic string 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0 856 12 unsigned int 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0 857 4 char 8194 4 char 4 char 0 5 0 0 0 0 0 0 0 0 0 0 0 858 10 HTTPDate * 8576 10 HTTPDate * 10 HTTPDate * 0 0 807 0 0 0 0 0 0 0 0 0 0 859 16 HTTPDate const * 8576 16 HTTPDate const * 16 HTTPDate const * 0 0 860 0 0 0 0 0 0 0 0 0 0 860 14 HTTPDate const 8832 14 HTTPDate const 14 HTTPDate const 0 0 807 0 0 0 0 0 0 0 0 0 0 861 12 HTTPCookie * 8576 12 HTTPCookie * 12 HTTPCookie * 0 0 808 0 0 0 0 0 0 0 0 0 0 862 18 HTTPCookie const * 8576 18 HTTPCookie const * 18 HTTPCookie const * 0 0 863 0 0 0 0 0 0 0 0 0 0 863 16 HTTPCookie const 8832 16 HTTPCookie const 16 HTTPCookie const 0 0 808 0 0 0 0 0 0 0 0 0 0 864 12 HTTPClient * 8576 12 HTTPClient * 12 HTTPClient * 0 0 809 0 0 0 0 0 0 0 0 0 0 865 18 HTTPClient const * 8576 18 HTTPClient const * 18 HTTPClient const * 0 0 866 0 0 0 0 0 0 0 0 0 0 866 16 HTTPClient const 8832 16 HTTPClient const 16 HTTPClient const 0 0 809 0 0 0 0 0 0 0 0 0 0 867 19 vector< URLSpec > * 8576 19 vector< URLSpec > * 19 vector< URLSpec > * 0 0 868 0 0 0 0 0 0 0 0 0 0 868 17 vector< URLSpec > 2048 17 vector< URLSpec > 17 vector< URLSpec > 0 0 0 0 0 0 0 0 0 0 0 0 0 869 16 Filename const * 8576 16 Filename const * 16 Filename const * 0 0 870 0 0 0 0 0 0 0 0 0 0 870 14 Filename const 8832 14 Filename const 14 Filename const 0 0 871 0 0 0 0 0 0 0 0 0 0 871 8 Filename 2048 8 Filename 8 Filename 0 0 0 0 0 0 0 0 0 0 0 0 869 //////////////////////////////////////////////////////////////////// // Class : Filename // Description : The name of a file, such as a texture file or an Egg // file. Stores the full pathname, and includes // functions for extracting out the directory prefix // part and the file extension and stuff. // // A Filename is also aware of the mapping between the // Unix-like filename convention we use internally, and // the local OS's specific filename convention, and it // knows how to perform basic OS-specific I/O, like // testing for file existence and searching a // searchpath, as well as the best way to open an // fstream for reading or writing. //////////////////////////////////////////////////////////////////// 872 13 HTTPChannel * 8576 13 HTTPChannel * 13 HTTPChannel * 0 0 816 0 0 0 0 0 0 0 0 0 0 873 15 HTTPEntityTag * 8576 15 HTTPEntityTag * 15 HTTPEntityTag * 0 0 812 0 0 0 0 0 0 0 0 0 0 874 21 HTTPEntityTag const * 8576 21 HTTPEntityTag const * 21 HTTPEntityTag const * 0 0 875 0 0 0 0 0 0 0 0 0 0 875 19 HTTPEntityTag const 8832 19 HTTPEntityTag const 19 HTTPEntityTag const 0 0 812 0 0 0 0 0 0 0 0 0 0 876 14 DocumentSpec * 8576 14 DocumentSpec * 14 DocumentSpec * 0 0 813 0 0 0 0 0 0 0 0 0 0 877 20 DocumentSpec const * 8576 20 DocumentSpec const * 20 DocumentSpec const * 0 0 878 0 0 0 0 0 0 0 0 0 0 878 18 DocumentSpec const 8832 18 DocumentSpec const 18 DocumentSpec const 0 0 813 0 0 0 0 0 0 0 0 0 0 879 19 HTTPChannel const * 8576 19 HTTPChannel const * 19 HTTPChannel const * 0 0 880 0 0 0 0 0 0 0 0 0 0 880 17 HTTPChannel const 8832 17 HTTPChannel const 17 HTTPChannel const 0 0 816 0 0 0 0 0 0 0 0 0 0 881 9 Ramfile * 8576 9 Ramfile * 9 Ramfile * 0 0 882 0 0 0 0 0 0 0 0 0 0 882 7 Ramfile 2048 7 Ramfile 7 Ramfile 0 0 0 0 0 0 0 0 0 0 0 0 271 //////////////////////////////////////////////////////////////////// // Class : Ramfile // Description : An in-memory buffer specifically designed for // downloading files to memory. //////////////////////////////////////////////////////////////////// 883 10 TypeHandle 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098 //////////////////////////////////////////////////////////////////// // Class : TypeHandle // Description : TypeHandle is the identifier used to differentiate // C++ class types. Any C++ classes that inherit from // some base class, and must be differentiated at run // time, should store a static TypeHandle object that // can be queried through a static member function // named get_class_type(). Most of the time, it is also // desirable to inherit from TypedObject, which provides // some virtual functions to return the TypeHandle for a // particular instance. // // At its essence, a TypeHandle is simply a unique // identifier that is assigned by the TypeRegistry. The // TypeRegistry stores a tree of TypeHandles, so that // ancestry of a particular type may be queried, and the // type name may be retrieved for run-time display. //////////////////////////////////////////////////////////////////// 884 12 TypeHandle * 8576 12 TypeHandle * 12 TypeHandle * 0 0 883 0 0 0 0 0 0 0 0 0 0 885 14 Decompressor * 8576 14 Decompressor * 14 Decompressor * 0 0 819 0 0 0 0 0 0 0 0 0 0 886 20 Decompressor const * 8576 20 Decompressor const * 20 Decompressor const * 0 0 887 0 0 0 0 0 0 0 0 0 0 887 18 Decompressor const 8832 18 Decompressor const 18 Decompressor const 0 0 819 0 0 0 0 0 0 0 0 0 0 888 5 float 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 889 12 DownloadDb * 8576 12 DownloadDb * 12 DownloadDb * 0 0 820 0 0 0 0 0 0 0 0 0 0 890 10 Filename * 8576 10 Filename * 10 Filename * 0 0 871 0 0 0 0 0 0 0 0 0 0 891 18 DownloadDb const * 8576 18 DownloadDb const * 18 DownloadDb const * 0 0 892 0 0 0 0 0 0 0 0 0 0 892 16 DownloadDb const 8832 16 DownloadDb const 16 DownloadDb const 0 0 820 0 0 0 0 0 0 0 0 0 0 893 7 HashVal 2048 7 HashVal 7 HashVal 0 0 0 0 0 0 0 0 0 0 0 0 292 //////////////////////////////////////////////////////////////////// // Class : HashVal // Description : Stores a 128-bit value that represents the hashed // contents (typically MD5) of a file or buffer. //////////////////////////////////////////////////////////////////// 894 9 HashVal * 8576 9 HashVal * 9 HashVal * 0 0 893 0 0 0 0 0 0 0 0 0 0 895 2 Db 1312768 14 DownloadDb::Db 14 DownloadDb::Db 820 0 0 0 0 0 0 0 0 0 0 0 0 896 4 Db * 8576 16 DownloadDb::Db * 16 DownloadDb::Db * 0 0 895 0 0 0 0 0 0 0 0 0 0 897 15 HashVal const * 8576 15 HashVal const * 15 HashVal const * 0 0 898 0 0 0 0 0 0 0 0 0 0 898 13 HashVal const 8832 13 HashVal const 13 HashVal const 0 0 893 0 0 0 0 0 0 0 0 0 0 899 22 VirtualFileMountHTTP * 8576 22 VirtualFileMountHTTP * 22 VirtualFileMountHTTP * 0 0 824 0 0 0 0 0 0 0 0 0 0 900 28 VirtualFileMountHTTP const * 8576 28 VirtualFileMountHTTP const * 28 VirtualFileMountHTTP const * 0 0 901 0 0 0 0 0 0 0 0 0 0 901 26 VirtualFileMountHTTP const 8832 26 VirtualFileMountHTTP const 26 VirtualFileMountHTTP const 0 0 824 0 0 0 0 0 0 0 0 0 0 902 11 Extractor * 8576 11 Extractor * 11 Extractor * 0 0 826 0 0 0 0 0 0 0 0 0 0 903 17 Extractor const * 8576 17 Extractor const * 17 Extractor const * 0 0 904 0 0 0 0 0 0 0 0 0 0 904 15 Extractor const 8832 15 Extractor const 15 Extractor const 0 0 826 0 0 0 0 0 0 0 0 0 0 905 17 MultiplexStream * 8576 17 MultiplexStream * 17 MultiplexStream * 0 0 827 0 0 0 0 0 0 0 0 0 0 906 6 FILE * 8576 6 FILE * 6 FILE * 0 0 907 0 0 0 0 0 0 0 0 0 0 907 4 FILE 1024 4 FILE 4 FILE 0 0 0 0 0 0 0 0 0 0 0 0 0 908 9 Patcher * 8576 9 Patcher * 9 Patcher * 0 0 828 0 0 0 0 0 0 0 0 0 0 909 8 Buffer * 8576 8 Buffer * 8 Buffer * 0 0 910 0 0 0 0 0 0 0 0 0 0 910 6 Buffer 2048 6 Buffer 6 Buffer 0 0 0 0 0 0 0 0 0 0 0 0 178 //////////////////////////////////////////////////////////////////// // Class : Buffer // Description : //////////////////////////////////////////////////////////////////// 911 15 Patcher const * 8576 15 Patcher const * 15 Patcher const * 0 0 912 0 0 0 0 0 0 0 0 0 0 912 13 Patcher const 8832 13 Patcher const 13 Patcher const 0 0 828 0 0 0 0 0 0 0 0 0 0 913 14 StringStream * 8576 14 StringStream * 14 StringStream * 0 0 829 0 0 0 0 0 0 0 0 0 0 914 25 vector< unsigned char > * 8576 25 vector< unsigned char > * 25 vector< unsigned char > * 0 0 915 0 0 0 0 0 0 0 0 0 0 915 12 vector_uchar 2048 23 vector< unsigned char > 23 vector< unsigned char > 0 0 0 0 0 0 0 0 0 0 0 0 0 916 17 unsigned long int 8214 17 unsigned long int 17 unsigned long int 0 1 0 0 0 0 0 0 0 0 0 0 0 917 6 string 2048 20 basic_string< char > 20 basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 918 0 244 18 get_redirect_steps 22 get_num_redirect_steps 17 get_redirect_step