mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-26 21:22:27 -06:00
8417 lines
439 KiB
Text
8417 lines
439 KiB
Text
1412101749
|
|
2 2
|
|
15 libp3downloader 4 _Rn_ 12 panda3d.core
|
|
387
|
|
407 9 ~SSReader 0 6 794 19 SSReader::~SSReader 0 0 226
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: SSReader::Destructor
|
|
// Access: Public, Virtual
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
34
|
|
virtual SSReader::~SSReader(void);
|
|
|
|
408 16 receive_datagram 0 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 0 6 794 19 SSReader::is_closed 0 1 2 0
|
|
43
|
|
virtual bool SSReader::is_closed(void) = 0;
|
|
|
|
410 5 close 0 6 794 15 SSReader::close 0 1 3 0
|
|
39
|
|
virtual void SSReader::close(void) = 0;
|
|
|
|
411 19 set_tcp_header_size 0 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 0 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 0 6 795 19 SSWriter::~SSWriter 0 0 226
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: SSWriter::Destructor
|
|
// Access: Public, Virtual
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
34
|
|
virtual SSWriter::~SSWriter(void);
|
|
|
|
414 13 send_datagram 0 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 0 6 795 19 SSWriter::is_closed 0 1 7 0
|
|
43
|
|
virtual bool SSWriter::is_closed(void) = 0;
|
|
|
|
416 5 close 0 6 795 15 SSWriter::close 0 1 8 0
|
|
39
|
|
virtual void SSWriter::close(void) = 0;
|
|
|
|
417 15 set_collect_tcp 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 6 796 29 ISocketStream::~ISocketStream 0 0 234
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ISocketStream::Destructor
|
|
// Access: Published, Virtual
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
44
|
|
virtual ISocketStream::~ISocketStream(void);
|
|
|
|
430 9 is_closed 0 6 796 24 ISocketStream::is_closed 0 1 17 0
|
|
48
|
|
virtual bool ISocketStream::is_closed(void) = 0;
|
|
|
|
431 5 close 0 6 796 20 ISocketStream::close 0 1 18 0
|
|
44
|
|
virtual void ISocketStream::close(void) = 0;
|
|
|
|
432 14 get_read_state 0 6 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 0 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 0 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 0 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 0 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 0 6 799 24 OSocketStream::is_closed 0 1 24 0
|
|
48
|
|
virtual bool OSocketStream::is_closed(void) = 0;
|
|
|
|
438 5 close 0 6 799 20 OSocketStream::close 0 1 25 0
|
|
44
|
|
virtual void OSocketStream::close(void) = 0;
|
|
|
|
439 5 flush 0 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 0 4 799 29 OSocketStream::~OSocketStream 0 0 0
|
|
36
|
|
OSocketStream::~OSocketStream(void);
|
|
|
|
441 18 upcast_to_iostream 0 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 0 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 0 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 0 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 0 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 0 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 0 6 801 23 SocketStream::is_closed 0 1 31 0
|
|
47
|
|
virtual bool SocketStream::is_closed(void) = 0;
|
|
|
|
448 5 close 0 6 801 19 SocketStream::close 0 1 32 0
|
|
43
|
|
virtual void SocketStream::close(void) = 0;
|
|
|
|
449 19 set_tcp_header_size 0 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 0 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 0 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 0 4 801 27 SocketStream::~SocketStream 0 0 0
|
|
34
|
|
SocketStream::~SocketStream(void);
|
|
|
|
453 7 URLSpec 0 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 = 0 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 == 0 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 != 0 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 < 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 [] 0 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 0 4 803 14 URLSpec::input 0 1 88 214
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::input
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
33
|
|
bool URLSpec::input(istream &in);
|
|
|
|
495 6 output 0 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 0 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 0 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 0 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 0 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 0 4 803 17 URLSpec::~URLSpec 0 0 0
|
|
24
|
|
URLSpec::~URLSpec(void);
|
|
|
|
501 9 ~HTTPEnum 0 4 804 19 HTTPEnum::~HTTPEnum 0 0 0
|
|
26
|
|
HTTPEnum::~HTTPEnum(void);
|
|
|
|
502 8 HTTPDate 0 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 = 0 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 0 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 0 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 0 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 0 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 == 0 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 != 0 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 < 0 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 > 0 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 0 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 += 0 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 -= 0 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 + 0 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 - 0 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 0 4 807 15 HTTPDate::input 0 1 116 215
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::input
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
34
|
|
bool HTTPDate::input(istream &in);
|
|
|
|
518 6 output 0 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 0 4 807 19 HTTPDate::~HTTPDate 0 0 0
|
|
26
|
|
HTTPDate::~HTTPDate(void);
|
|
|
|
520 10 HTTPCookie 0 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 0 4 808 23 HTTPCookie::~HTTPCookie 0 0 222
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::Destructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
37
|
|
inline HTTPCookie::~HTTPCookie(void);
|
|
|
|
522 8 set_name 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 < 0 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 0 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 0 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 0 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 0 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 0 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 0 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 = 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 = 0 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 0 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 0 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 0 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 0 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 0 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 == 0 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 != 0 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 < 0 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 0 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 0 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 0 4 812 29 HTTPEntityTag::~HTTPEntityTag 0 0 0
|
|
36
|
|
HTTPEntityTag::~HTTPEntityTag(void);
|
|
|
|
604 12 DocumentSpec 0 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 = 0 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 == 0 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 != 0 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 < 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 4 813 27 DocumentSpec::~DocumentSpec 0 0 0
|
|
34
|
|
DocumentSpec::~DocumentSpec(void);
|
|
|
|
628 10 get_client 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 4 816 25 HTTPChannel::get_redirect 0 1 246 670
|
|
////////////////////////////////////////////////////////////////////
|
|
// 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
|
|
// successful 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 4 816 33 HTTPChannel::is_download_complete 0 1 311 985
|
|
////////////////////////////////////////////////////////////////////
|
|
// 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 successfully
|
|
// 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 0 4 816 27 HTTPChannel::get_class_type 0 1 312 0
|
|
52
|
|
static TypeHandle HTTPChannel::get_class_type(void);
|
|
|
|
703 12 Decompressor 0 4 819 26 Decompressor::Decompressor 0 1 313 221
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: Decompressor::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
33
|
|
Decompressor::Decompressor(void);
|
|
|
|
704 13 ~Decompressor 0 4 819 27 Decompressor::~Decompressor 0 0 220
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: Decompressor::Destructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
34
|
|
Decompressor::~Decompressor(void);
|
|
|
|
705 8 initiate 0 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 0 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 0 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 0 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 0 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 0 4 820 23 DownloadDb::~DownloadDb 0 0 218
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::Destructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
30
|
|
DownloadDb::~DownloadDb(void);
|
|
|
|
711 6 output 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 1 0 9 check_crc 0 1 405 0
|
|
43
|
|
unsigned long int check_crc(Filename name);
|
|
|
|
757 11 check_adler 0 1 0 11 check_adler 0 1 406 0
|
|
45
|
|
unsigned long int check_adler(Filename name);
|
|
|
|
758 9 Extractor 0 4 822 20 Extractor::Extractor 0 1 369 221
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: Extractor::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
27
|
|
Extractor::Extractor(void);
|
|
|
|
759 10 ~Extractor 0 4 822 21 Extractor::~Extractor 0 0 220
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: Extractor::Destructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
28
|
|
Extractor::~Extractor(void);
|
|
|
|
760 13 set_multifile 0 4 822 24 Extractor::set_multifile 0 1 370 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);
|
|
|
|
761 15 set_extract_dir 0 4 822 26 Extractor::set_extract_dir 0 1 371 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);
|
|
|
|
762 5 reset 0 4 822 16 Extractor::reset 0 1 372 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);
|
|
|
|
763 15 request_subfile 0 4 822 26 Extractor::request_subfile 0 1 373 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);
|
|
|
|
764 20 request_all_subfiles 0 4 822 31 Extractor::request_all_subfiles 0 1 374 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);
|
|
|
|
765 4 step 0 4 822 15 Extractor::step 0 1 375 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);
|
|
|
|
766 12 get_progress 0 4 822 23 Extractor::get_progress 0 1 376 292
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: Extractor::get_progress
|
|
// Access: Public
|
|
// Description: Returns the fraction of the Multifile extracted so
|
|
// far.
|
|
////////////////////////////////////////////////////////////////////
|
|
42
|
|
float Extractor::get_progress(void) const;
|
|
|
|
767 3 run 0 4 822 14 Extractor::run 0 1 377 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);
|
|
|
|
768 15 MultiplexStream 0 4 823 32 MultiplexStream::MultiplexStream 0 1 378 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);
|
|
|
|
769 11 add_ostream 0 4 823 28 MultiplexStream::add_ostream 0 2 379 380 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));
|
|
|
|
770 14 add_stdio_file 0 4 823 31 MultiplexStream::add_stdio_file 0 1 381 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);
|
|
|
|
771 19 add_standard_output 0 4 823 36 MultiplexStream::add_standard_output 0 1 382 266
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MultiplexStream::add_standard_output
|
|
// Access: Public
|
|
// Description: Adds the standard output channel.
|
|
////////////////////////////////////////////////////////////////////
|
|
55
|
|
inline void MultiplexStream::add_standard_output(void);
|
|
|
|
772 8 add_file 0 4 823 25 MultiplexStream::add_file 0 1 383 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);
|
|
|
|
773 16 add_system_debug 0 4 823 33 MultiplexStream::add_system_debug 0 1 384 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);
|
|
|
|
774 5 flush 0 4 823 22 MultiplexStream::flush 0 1 385 270
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MultiplexStream::flush
|
|
// Access: Public
|
|
// Description: Forces out all output that hasn't yet been written.
|
|
////////////////////////////////////////////////////////////////////
|
|
41
|
|
inline void MultiplexStream::flush(void);
|
|
|
|
775 16 ~MultiplexStream 0 4 823 33 MultiplexStream::~MultiplexStream 0 0 0
|
|
40
|
|
MultiplexStream::~MultiplexStream(void);
|
|
|
|
776 14 get_class_type 0 4 824 31 VirtualFileHTTP::get_class_type 0 1 386 0
|
|
56
|
|
static TypeHandle VirtualFileHTTP::get_class_type(void);
|
|
|
|
777 20 VirtualFileMountHTTP 0 4 826 42 VirtualFileMountHTTP::VirtualFileMountHTTP 0 2 387 388 233
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualFileMountHTTP::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
105
|
|
VirtualFileMountHTTP::VirtualFileMountHTTP(URLSpec const &root, HTTPClient *http = ((get_global_ptr())));
|
|
|
|
778 15 get_http_client 0 4 826 37 VirtualFileMountHTTP::get_http_client 0 1 389 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;
|
|
|
|
779 8 get_root 0 4 826 30 VirtualFileMountHTTP::get_root 0 1 390 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;
|
|
|
|
780 20 reload_vfs_mount_url 0 4 826 42 VirtualFileMountHTTP::reload_vfs_mount_url 0 1 391 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);
|
|
|
|
781 14 get_class_type 0 4 826 36 VirtualFileMountHTTP::get_class_type 0 1 392 0
|
|
61
|
|
static TypeHandle VirtualFileMountHTTP::get_class_type(void);
|
|
|
|
782 7 Patcher 0 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 0 6 828 17 Patcher::~Patcher 0 0 215
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: Patcher::Destructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
32
|
|
virtual Patcher::~Patcher(void);
|
|
|
|
784 8 initiate 0 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 0 4 828 12 Patcher::run 0 1 396 208
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: Patcher::run
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
23
|
|
int Patcher::run(void);
|
|
|
|
786 12 get_progress 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 4 829 27 StringStream::~StringStream 0 0 0
|
|
34
|
|
StringStream::~StringStream(void);
|
|
|
|
406
|
|
1 14 Dtool__Rn_67qN 0 6 3 833 0 14 Dtool__Rn_67qN 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__Rn__aY4 0 6 4 833 0 14 Dtool__Rn__aY4 0 1 4 this 3 830
|
|
3 14 Dtool__Rn_MYcR 0 4 5 834 0 14 Dtool__Rn_MYcR 0 1 4 this 3 830
|
|
4 14 Dtool__Rn_WTyD 0 4 6 834 0 14 Dtool__Rn_WTyD 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__Rn_zBsm 0 6 7 835 0 14 Dtool__Rn_zBsm 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__Rn_6KI4 0 6 10 833 0 14 Dtool__Rn_6KI4 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__Rn_a9A2 0 6 11 833 0 14 Dtool__Rn_a9A2 0 1 4 this 3 838
|
|
8 14 Dtool__Rn_vnFP 0 4 12 834 0 14 Dtool__Rn_vnFP 0 1 4 this 3 838
|
|
9 14 Dtool__Rn_I4mc 0 4 13 834 0 14 Dtool__Rn_I4mc 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__Rn_sxGI 0 6 14 833 0 14 Dtool__Rn_sxGI 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__Rn_8JD3 0 4 15 834 0 14 Dtool__Rn_8JD3 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__Rn_Z9kF 0 6 16 843 0 14 Dtool__Rn_Z9kF 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__Rn_5taB 0 4 17 834 0 14 Dtool__Rn_5taB 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__Rn_v_Uk 0 6 18 835 0 14 Dtool__Rn_v_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__Rn_Z9wc 0 6 19 833 0 14 Dtool__Rn_Z9wc 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__Rn_vr_z 0 6 20 833 0 14 Dtool__Rn_vr_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__Rn_QnLp 0 6 29 833 0 14 Dtool__Rn_QnLp 0 1 4 this 3 844
|
|
18 14 Dtool__Rn_rVVb 0 4 30 834 0 14 Dtool__Rn_rVVb 0 1 4 this 3 844
|
|
19 14 Dtool__Rn_Kndi 0 6 31 798 0 14 Dtool__Rn_Kndi 0 1 4 this 3 844
|
|
20 14 Dtool__Rn_6pzq 0 6 23 845 0 14 Dtool__Rn_6pzq 0 1 4 this 3 844
|
|
21 14 Dtool__Rn_KSzi 0 6 24 844 0 14 Dtool__Rn_KSzi 0 1 4 this 3 845
|
|
22 14 Dtool__Rn_5yaa 0 6 25 830 0 14 Dtool__Rn_5yaa 0 1 4 this 3 844
|
|
23 14 Dtool__Rn_rr6b 0 6 26 844 0 14 Dtool__Rn_rr6b 0 1 4 this 3 830
|
|
24 14 Dtool__Rn_6STp 0 6 38 833 0 14 Dtool__Rn_6STp 0 1 4 this 3 846
|
|
25 14 Dtool__Rn_R4ab 0 4 39 834 0 14 Dtool__Rn_R4ab 0 1 4 this 3 846
|
|
26 14 Dtool__Rn_eCPl 0 6 40 833 0 14 Dtool__Rn_eCPl 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__Rn_QTlu 0 6 34 847 0 14 Dtool__Rn_QTlu 0 1 4 this 3 846
|
|
28 14 Dtool__Rn_f_gd 0 6 35 846 0 14 Dtool__Rn_f_gd 0 1 4 this 3 847
|
|
29 14 Dtool__Rn_J5xO 0 6 36 838 0 14 Dtool__Rn_J5xO 0 1 4 this 3 846
|
|
30 14 Dtool__Rn_hyJs 0 6 37 846 0 14 Dtool__Rn_hyJs 0 1 4 this 3 838
|
|
31 14 Dtool__Rn_C8Lh 0 6 50 833 0 14 Dtool__Rn_C8Lh 0 1 4 this 3 848
|
|
32 14 Dtool__Rn__VvS 0 4 51 834 0 14 Dtool__Rn__VvS 0 1 4 this 3 848
|
|
33 14 Dtool__Rn_4s19 0 4 52 834 0 14 Dtool__Rn_4s19 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__Rn_UoAo 0 6 53 835 0 14 Dtool__Rn_UoAo 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__Rn_PzDV 0 6 54 833 0 14 Dtool__Rn_PzDV 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__Rn_8JpJ 0 6 44 851 0 14 Dtool__Rn_8JpJ 0 1 4 this 3 848
|
|
37 14 Dtool__Rn_vaoG 0 6 45 848 0 14 Dtool__Rn_vaoG 0 1 4 this 3 851
|
|
38 14 Dtool__Rn__nsC 0 6 46 830 0 14 Dtool__Rn__nsC 0 1 4 this 3 848
|
|
39 14 Dtool__Rn_Kst_ 0 6 47 848 0 14 Dtool__Rn_Kst_ 0 1 4 this 3 830
|
|
40 14 Dtool__Rn_SRUA 0 6 48 838 0 14 Dtool__Rn_SRUA 0 1 4 this 3 848
|
|
41 14 Dtool__Rn_p0U9 0 6 49 848 0 14 Dtool__Rn_p0U9 0 1 4 this 3 838
|
|
42 14 Dtool__Rn_d3sO 0 7 57 852 500 14 Dtool__Rn_d3sO 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
43 14 Dtool__Rn_KJ80 0 7 57 852 500 14 Dtool__Rn_KJ80 224 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::Copy Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 copy 1 853
|
|
44 14 Dtool__Rn_bRSb 0 7 57 852 500 14 Dtool__Rn_bRSb 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__Rn_qRHT 0 7 57 852 500 14 Dtool__Rn_qRHT 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__Rn_eMOO 0 6 58 852 0 14 Dtool__Rn_eMOO 232 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::Copy Assignment Operator
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 852 4 copy 1 853
|
|
47 14 Dtool__Rn_hCwY 0 6 58 852 0 14 Dtool__Rn_hCwY 227 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::Assignment Operator
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 852 3 url 1 855
|
|
48 14 Dtool__Rn_UZVF 0 6 59 833 0 14 Dtool__Rn_UZVF 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::Operator ==
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 853 5 other 1 853
|
|
49 14 Dtool__Rn_j_VB 0 6 60 833 0 14 Dtool__Rn_j_VB 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::Operator !=
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 853 5 other 1 853
|
|
50 14 Dtool__Rn_p_Dk 0 6 61 833 0 14 Dtool__Rn_p_Dk 218 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::Operator <
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 853 5 other 1 853
|
|
51 14 Dtool__Rn_OeWk 0 6 62 835 0 14 Dtool__Rn_OeWk 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__Rn_bXfj 0 6 63 833 0 14 Dtool__Rn_bXfj 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__Rn_7GBb 0 6 64 833 0 14 Dtool__Rn_7GBb 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__Rn_NvY8 0 6 65 833 0 14 Dtool__Rn_NvY8 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__Rn_7ZQR 0 6 66 833 0 14 Dtool__Rn_7ZQR 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__Rn_NCN_ 0 6 67 833 0 14 Dtool__Rn_NCN_ 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__Rn_vN5k 0 6 68 833 0 14 Dtool__Rn_vN5k 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__Rn_SAZN 0 6 69 833 0 14 Dtool__Rn_SAZN 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__Rn_LoNu 0 6 70 855 0 14 Dtool__Rn_LoNu 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__Rn_7ewl 0 6 71 855 0 14 Dtool__Rn_7ewl 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__Rn_iXGH 0 6 72 855 0 14 Dtool__Rn_iXGH 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__Rn_z1_b 0 6 73 855 0 14 Dtool__Rn_z1_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__Rn_ZGG8 0 6 74 855 0 14 Dtool__Rn_ZGG8 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__Rn_qS8J 0 6 75 835 0 14 Dtool__Rn_qS8J 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__Rn_DsHV 0 6 76 855 0 14 Dtool__Rn_DsHV 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__Rn_zxVw 0 6 77 833 0 14 Dtool__Rn_zxVw 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__Rn_rd_U 0 6 78 835 0 14 Dtool__Rn_rd_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__Rn_HWmv 0 6 79 855 0 14 Dtool__Rn_HWmv 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__Rn_U1HY 0 6 80 855 0 14 Dtool__Rn_U1HY 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__Rn_Xspr 0 6 81 855 0 14 Dtool__Rn_Xspr 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__Rn_DXzo 0 6 82 833 0 14 Dtool__Rn_DXzo 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__Rn_DCPV 0 6 83 855 0 14 Dtool__Rn_DCPV 255 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::get_url
|
|
// Access: Published
|
|
// Description: Returns the complete URL specification.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 853
|
|
73 14 Dtool__Rn_iPvz 0 4 84 834 0 14 Dtool__Rn_iPvz 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__Rn_OWTX 0 4 85 834 0 14 Dtool__Rn_OWTX 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__Rn_37oh 0 4 86 834 0 14 Dtool__Rn_37oh 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__Rn_zigh 0 4 87 834 0 14 Dtool__Rn_zigh 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__Rn_11tS 0 4 88 834 0 14 Dtool__Rn_11tS 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__Rn_U1E4 0 4 88 834 0 14 Dtool__Rn_U1E4 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__Rn_JbzZ 0 4 89 834 0 14 Dtool__Rn_JbzZ 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__Rn_bhX4 0 4 90 834 0 14 Dtool__Rn_bhX4 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__Rn_11SR 0 4 91 834 0 14 Dtool__Rn_11SR 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__Rn_Lfs6 0 4 92 834 0 14 Dtool__Rn_Lfs6 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__Rn_AXhy 0 4 92 834 0 14 Dtool__Rn_AXhy 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__Rn_0Ix1 0 6 94 855 0 14 Dtool__Rn_0Ix1 210 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::c_str
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 853
|
|
85 14 Dtool__Rn__kB4 0 6 95 833 0 14 Dtool__Rn__kB4 210 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::empty
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 853
|
|
86 14 Dtool__Rn_NVhO 0 6 96 856 0 14 Dtool__Rn_NVhO 211 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::length
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 853
|
|
87 14 Dtool__Rn_4pUs 0 6 97 857 0 14 Dtool__Rn_4pUs 222 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::Indexing operator
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 853 1 n 1 835
|
|
88 14 Dtool__Rn_TPRh 0 6 98 833 0 14 Dtool__Rn_TPRh 214 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::input
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 852 2 in 1 845
|
|
89 14 Dtool__Rn_eXk2 0 4 99 834 0 14 Dtool__Rn_eXk2 215 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::output
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 853 3 out 1 847
|
|
90 14 Dtool__Rn_ko8E 0 6 100 855 0 14 Dtool__Rn_ko8E 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__Rn_cj8i 0 6 100 855 0 14 Dtool__Rn_cj8i 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__Rn_CXNb 0 6 101 855 0 14 Dtool__Rn_CXNb 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__Rn_o8IX 0 6 101 855 0 14 Dtool__Rn_o8IX 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__Rn_sqPc 0 6 102 855 0 14 Dtool__Rn_sqPc 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__Rn_F1dJ 0 6 103 855 0 14 Dtool__Rn_F1dJ 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__Rn_qwwt 0 6 93 855 0 14 Dtool__Rn_qwwt 229 ////////////////////////////////////////////////////////////////////
|
|
// Function: URLSpec::string typecast operator
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 853
|
|
97 14 Dtool__Rn_xUCO 0 7 110 858 519 14 Dtool__Rn_xUCO 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__Rn_DU7n 0 7 110 858 519 14 Dtool__Rn_DU7n 225 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::Copy Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 copy 1 859
|
|
99 14 Dtool__Rn_2lK9 0 7 110 858 519 14 Dtool__Rn_2lK9 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__Rn_i8vm 0 7 110 858 519 14 Dtool__Rn_i8vm 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 time 1 856
|
|
101 14 Dtool__Rn_SJN6 0 6 111 858 0 14 Dtool__Rn_SJN6 233 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::Copy Assignment Operator
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 858 4 copy 1 859
|
|
102 14 Dtool__Rn_Dz_E 0 7 112 858 519 14 Dtool__Rn_Dz_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__Rn_XkTy 0 6 113 833 0 14 Dtool__Rn_XkTy 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__Rn_LLsb 0 6 114 855 0 14 Dtool__Rn_LLsb 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::get_string
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 859
|
|
105 14 Dtool__Rn_iMJn 0 6 115 856 0 14 Dtool__Rn_iMJn 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__Rn_b8yo 0 6 116 833 0 14 Dtool__Rn_b8yo 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::Operator ==
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859
|
|
107 14 Dtool__Rn_95ho 0 6 117 833 0 14 Dtool__Rn_95ho 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::Operator !=
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859
|
|
108 14 Dtool__Rn_f7Fy 0 6 118 833 0 14 Dtool__Rn_f7Fy 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::Operator <
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859
|
|
109 14 Dtool__Rn_UJHy 0 6 119 833 0 14 Dtool__Rn_UJHy 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::Operator >
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859
|
|
110 14 Dtool__Rn__D07 0 6 120 835 0 14 Dtool__Rn__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__Rn_jIFs 0 6 121 858 0 14 Dtool__Rn_jIFs 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::operator +=
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 858 7 seconds 1 835
|
|
112 14 Dtool__Rn_q_Hs 0 6 122 858 0 14 Dtool__Rn_q_Hs 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::operator -=
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 858 7 seconds 1 835
|
|
113 14 Dtool__Rn_Nh_f 0 7 123 858 519 14 Dtool__Rn_Nh_f 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::operator +
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 859 7 seconds 1 835
|
|
114 14 Dtool__Rn_Th8R 0 6 124 835 0 14 Dtool__Rn_Th8R 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::operator -
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 859 5 other 1 859
|
|
115 14 Dtool__Rn_2wBg 0 7 124 858 519 14 Dtool__Rn_2wBg 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::operator -
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 859 7 seconds 1 835
|
|
116 14 Dtool__Rn_DJiR 0 6 125 833 0 14 Dtool__Rn_DJiR 215 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::input
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 858 2 in 1 845
|
|
117 14 Dtool__Rn_fj07 0 4 126 834 0 14 Dtool__Rn_fj07 216 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPDate::output
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 859 3 out 1 847
|
|
118 14 Dtool__Rn_2hG5 0 7 129 861 521 14 Dtool__Rn_2hG5 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__Rn_WucY 0 7 129 861 521 14 Dtool__Rn_WucY 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__Rn_Atcu 0 7 129 861 521 14 Dtool__Rn_Atcu 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__Rn_Ock5 0 4 131 834 0 14 Dtool__Rn_Ock5 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::set_name
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 861 4 name 1 855
|
|
122 14 Dtool__Rn_yFhg 0 6 132 855 0 14 Dtool__Rn_yFhg 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__Rn_i2Qd 0 4 133 834 0 14 Dtool__Rn_i2Qd 221 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::set_value
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 861 5 value 1 855
|
|
124 14 Dtool__Rn_FSc5 0 6 134 855 0 14 Dtool__Rn_FSc5 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__Rn_VNff 0 4 135 834 0 14 Dtool__Rn_VNff 222 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::set_domain
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 861 6 domain 1 855
|
|
126 14 Dtool__Rn_BGrk 0 6 136 855 0 14 Dtool__Rn_BGrk 222 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::get_domain
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 862
|
|
127 14 Dtool__Rn_gXYU 0 4 137 834 0 14 Dtool__Rn_gXYU 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::set_path
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 861 4 path 1 855
|
|
128 14 Dtool__Rn_P4T7 0 6 138 855 0 14 Dtool__Rn_P4T7 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__Rn_pqyy 0 4 139 834 0 14 Dtool__Rn_pqyy 223 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::set_expires
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 861 7 expires 1 859
|
|
130 14 Dtool__Rn_Ato1 0 4 140 834 0 14 Dtool__Rn_Ato1 267 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::clear_expires
|
|
// Access: Published
|
|
// Description: Removes the expiration date on the cookie.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 861
|
|
131 14 Dtool__Rn_NpuR 0 6 141 833 0 14 Dtool__Rn_NpuR 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__Rn_RhpB 0 7 142 858 519 14 Dtool__Rn_RhpB 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__Rn_8wcJ 0 4 143 834 0 14 Dtool__Rn_8wcJ 222 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::set_secure
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 861 4 flag 1 833
|
|
134 14 Dtool__Rn_lxx4 0 6 144 833 0 14 Dtool__Rn_lxx4 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__Rn_FRXJ 0 6 145 833 0 14 Dtool__Rn_FRXJ 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__Rn_f06y 0 4 146 834 0 14 Dtool__Rn_f06y 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__Rn_u1Zp 0 6 147 833 0 14 Dtool__Rn_u1Zp 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__Rn_dC4P 0 6 148 833 0 14 Dtool__Rn_dC4P 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__Rn_v13h 0 6 148 833 0 14 Dtool__Rn_v13h 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__Rn_6_jU 0 6 149 833 0 14 Dtool__Rn_6_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__Rn_DQSj 0 4 150 834 0 14 Dtool__Rn_DQSj 218 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPCookie::output
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 862 3 out 1 847
|
|
142 14 Dtool__Rn_hdYN 0 7 153 864 0 14 Dtool__Rn_hdYN 222 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPClient::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
143 14 Dtool__Rn_f2lz 0 7 153 864 0 14 Dtool__Rn_f2lz 227 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPClient::Copy Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 copy 1 865
|
|
144 14 Dtool__Rn_KPp_ 0 7 154 864 0 14 Dtool__Rn_KPp_ 235 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPClient::Copy Assignment Operator
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 864 4 copy 1 865
|
|
145 14 Dtool__Rn_IeNt 0 4 155 834 0 14 Dtool__Rn_IeNt 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__Rn_0gjL 0 4 156 834 0 14 Dtool__Rn_0gjL 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__Rn_cdMt 0 6 157 855 0 14 Dtool__Rn_cdMt 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__Rn_Ctsw 0 4 158 834 0 14 Dtool__Rn_Ctsw 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__Rn__OJB 0 6 159 855 0 14 Dtool__Rn__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__Rn_qHMi 0 4 160 834 0 14 Dtool__Rn_qHMi 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__Rn_95uR 0 6 161 833 0 14 Dtool__Rn_95uR 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__Rn_6XUO 0 4 162 834 0 14 Dtool__Rn_6XUO 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__Rn_gkTU 0 4 163 834 0 14 Dtool__Rn_gkTU 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__Rn_MVZA 0 4 164 834 0 14 Dtool__Rn_MVZA 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__Rn_lCAB 0 4 165 834 0 14 Dtool__Rn_lCAB 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__Rn_JHk7 0 6 166 855 0 14 Dtool__Rn_JHk7 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__Rn_XtH7 0 4 166 834 0 14 Dtool__Rn_XtH7 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__Rn_hpQq 0 4 167 834 0 14 Dtool__Rn_hpQq 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__Rn_lElE 0 6 168 855 0 14 Dtool__Rn_lElE 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__Rn_juM1 0 4 169 834 0 14 Dtool__Rn_juM1 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__Rn_16l5 0 6 170 833 0 14 Dtool__Rn_16l5 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__Rn_GzuN 0 4 171 834 0 14 Dtool__Rn_GzuN 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__Rn__mcR 0 6 172 833 0 14 Dtool__Rn__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__Rn_jqXB 0 7 173 861 521 14 Dtool__Rn_jqXB 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__Rn_mmJ1 0 4 174 834 0 14 Dtool__Rn_mmJ1 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__Rn_0N9X 0 4 175 834 0 14 Dtool__Rn_0N9X 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__Rn_4_Fk 0 4 176 834 0 14 Dtool__Rn_4_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__Rn_QVI3 0 4 177 834 0 14 Dtool__Rn_QVI3 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__Rn_WLUz 0 4 178 834 0 14 Dtool__Rn_WLUz 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__Rn_jJrF 0 4 179 834 0 14 Dtool__Rn_jJrF 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__Rn_YTL6 0 6 180 833 0 14 Dtool__Rn_YTL6 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__Rn_3Zf_ 0 6 181 833 0 14 Dtool__Rn_3Zf_ 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__Rn__nsc 0 6 182 833 0 14 Dtool__Rn__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__Rn_NvQK 0 6 183 833 0 14 Dtool__Rn_NvQK 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__Rn_7J_J 0 4 184 834 0 14 Dtool__Rn_7J_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__Rn_BEo_ 0 4 185 834 0 14 Dtool__Rn_BEo_ 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__Rn_sU3G 0 4 186 834 0 14 Dtool__Rn_sU3G 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__Rn_Nyb3 0 6 187 805 0 14 Dtool__Rn_Nyb3 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__Rn_9nwv 0 6 188 855 0 14 Dtool__Rn_9nwv 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__Rn_G_NH 0 6 189 805 0 14 Dtool__Rn_G_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__Rn_cD3X 0 6 190 833 0 14 Dtool__Rn_cD3X 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__Rn_7Lvd 0 4 192 834 0 14 Dtool__Rn_7Lvd 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__Rn_ZMkP 0 6 193 811 0 14 Dtool__Rn_ZMkP 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__Rn_R6r0 0 4 194 834 0 14 Dtool__Rn_R6r0 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__Rn_pJQo 0 6 195 855 0 14 Dtool__Rn_pJQo 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__Rn_DV90 0 7 196 872 0 14 Dtool__Rn_DV90 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__Rn_d7dJ 0 7 197 872 0 14 Dtool__Rn_d7dJ 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__Rn_UmtQ 0 7 198 872 0 14 Dtool__Rn_UmtQ 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__Rn_C6NS 0 7 199 872 0 14 Dtool__Rn_C6NS 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__Rn_KC9x 0 6 200 855 0 14 Dtool__Rn_KC9x 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__Rn_9KMP 0 6 201 855 0 14 Dtool__Rn_9KMP 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__Rn_stOT 0 7 202 864 0 14 Dtool__Rn_stOT 272 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPClient::get_global_ptr
|
|
// Access: Published, Static
|
|
// Description: Returns the default global HTTPClient.
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
193 14 Dtool__Rn_4tMA 0 7 204 873 603 14 Dtool__Rn_4tMA 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__Rn_QDIw 0 7 204 873 603 14 Dtool__Rn_QDIw 230 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPEntityTag::Copy Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 copy 1 874
|
|
195 14 Dtool__Rn_5Xv8 0 7 204 873 603 14 Dtool__Rn_5Xv8 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__Rn_Z_ii 0 7 204 873 603 14 Dtool__Rn_Z_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__Rn_F2kZ 0 6 205 873 0 14 Dtool__Rn_F2kZ 238 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPEntityTag::Copy Assignment Operator
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 873 4 copy 1 874
|
|
198 14 Dtool__Rn_s54_ 0 6 206 833 0 14 Dtool__Rn_s54_ 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__Rn_HG7c 0 6 207 855 0 14 Dtool__Rn_HG7c 258 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPEntityTag::get_tag
|
|
// Access: Published
|
|
// Description: Returns the tag as a literal string.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 874
|
|
200 14 Dtool__Rn_JDGH 0 6 208 855 0 14 Dtool__Rn_JDGH 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__Rn_ICzc 0 6 209 833 0 14 Dtool__Rn_ICzc 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__Rn_uDMa 0 6 210 833 0 14 Dtool__Rn_uDMa 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__Rn_uwLK 0 6 211 833 0 14 Dtool__Rn_uwLK 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__Rn_qnpJ 0 6 212 833 0 14 Dtool__Rn_qnpJ 225 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPEntityTag::Operator !=
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 874 5 other 1 874
|
|
205 14 Dtool__Rn_T6L5 0 6 213 833 0 14 Dtool__Rn_T6L5 224 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPEntityTag::Operator <
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 874 5 other 1 874
|
|
206 14 Dtool__Rn_dIqM 0 6 214 835 0 14 Dtool__Rn_dIqM 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__Rn_GXUH 0 4 215 834 0 14 Dtool__Rn_GXUH 221 ////////////////////////////////////////////////////////////////////
|
|
// Function: HTTPEntityTag::output
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 874 3 out 1 847
|
|
208 14 Dtool__Rn_aGVJ 0 7 218 876 627 14 Dtool__Rn_aGVJ 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__Rn_rhhh 0 7 218 876 627 14 Dtool__Rn_rhhh 229 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::Copy Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 copy 1 877
|
|
210 14 Dtool__Rn_BmXi 0 7 218 876 627 14 Dtool__Rn_BmXi 224 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 3 url 1 853
|
|
211 14 Dtool__Rn_ctNb 0 7 218 876 627 14 Dtool__Rn_ctNb 224 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 3 url 1 855
|
|
212 14 Dtool__Rn_pTpy 0 6 219 876 0 14 Dtool__Rn_pTpy 237 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::Copy Assignment Operator
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 876 4 copy 1 877
|
|
213 14 Dtool__Rn_iL7f 0 6 220 833 0 14 Dtool__Rn_iL7f 224 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::operator ==
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 877 5 other 1 877
|
|
214 14 Dtool__Rn_zx6X 0 6 221 833 0 14 Dtool__Rn_zx6X 224 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::operator !=
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 877 5 other 1 877
|
|
215 14 Dtool__Rn_2Z_X 0 6 222 833 0 14 Dtool__Rn_2Z_X 223 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::operator <
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 877 5 other 1 877
|
|
216 14 Dtool__Rn_4ZmY 0 6 223 835 0 14 Dtool__Rn_4ZmY 224 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::compare_to
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 877 5 other 1 877
|
|
217 14 Dtool__Rn_UTc6 0 4 224 834 0 14 Dtool__Rn_UTc6 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__Rn_UTT8 0 6 225 853 0 14 Dtool__Rn_UTT8 259 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::get_url
|
|
// Access: Published
|
|
// Description: Retrieves the URL of the DocumentSpec.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 877
|
|
219 14 Dtool__Rn_KAZX 0 4 226 834 0 14 Dtool__Rn_KAZX 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__Rn_bgI_ 0 6 227 833 0 14 Dtool__Rn_bgI_ 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__Rn_TNmT 0 6 228 874 0 14 Dtool__Rn_TNmT 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__Rn_Hg2z 0 4 229 834 0 14 Dtool__Rn_Hg2z 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__Rn_Bu_L 0 4 230 834 0 14 Dtool__Rn_Bu_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__Rn_wwOq 0 6 231 833 0 14 Dtool__Rn_wwOq 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__Rn_16s_ 0 6 232 859 0 14 Dtool__Rn_16s_ 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__Rn_1ns7 0 4 233 834 0 14 Dtool__Rn_1ns7 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__Rn_OwGy 0 4 235 834 0 14 Dtool__Rn_OwGy 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__Rn_is_z 0 6 236 814 0 14 Dtool__Rn_is_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__Rn_aqta 0 4 238 834 0 14 Dtool__Rn_aqta 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__Rn_iIC1 0 6 239 815 0 14 Dtool__Rn_iIC1 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__Rn_XwSU 0 6 240 833 0 14 Dtool__Rn_XwSU 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__Rn_g56_ 0 4 241 834 0 14 Dtool__Rn_g56_ 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::output
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 877 3 out 1 847
|
|
233 14 Dtool__Rn_EH_O 0 4 242 834 0 14 Dtool__Rn_EH_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__Rn_f_Sn 0 4 242 834 0 14 Dtool__Rn_f_Sn 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: DocumentSpec::write
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 877 3 out 1 847
|
|
235 14 Dtool__Rn_GDrT 0 7 247 864 0 14 Dtool__Rn_GDrT 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__Rn_Voes 0 6 248 833 0 14 Dtool__Rn_Voes 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__Rn_nmy8 0 6 249 833 0 14 Dtool__Rn_nmy8 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__Rn__XTe 0 6 250 853 0 14 Dtool__Rn__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__Rn_bGRg 0 6 251 877 0 14 Dtool__Rn_bGRg 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__Rn_Fji4 0 6 252 805 0 14 Dtool__Rn_Fji4 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__Rn_8qBF 0 6 253 855 0 14 Dtool__Rn_8qBF 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__Rn_d4Hd 0 6 254 835 0 14 Dtool__Rn_d4Hd 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__Rn_vrvb 0 6 255 855 0 14 Dtool__Rn_vrvb 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__Rn_Hxhf 0 6 256 855 0 14 Dtool__Rn_Hxhf 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__Rn_8j1e 0 6 257 855 0 14 Dtool__Rn_8j1e 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__Rn_2aFd 0 6 258 853 0 14 Dtool__Rn_2aFd 670 ////////////////////////////////////////////////////////////////////
|
|
// 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
|
|
// successful 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__Rn_TcPw 0 6 259 855 0 14 Dtool__Rn_TcPw 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__Rn_UfeR 0 6 260 835 0 14 Dtool__Rn_UfeR 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__Rn_QU6R 0 6 261 853 0 14 Dtool__Rn_QU6R 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__Rn_f944 0 4 262 834 0 14 Dtool__Rn_f944 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__Rn_iWP3 0 6 263 833 0 14 Dtool__Rn_iWP3 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__Rn_8OgU 0 6 264 833 0 14 Dtool__Rn_8OgU 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__Rn_qU04 0 4 265 834 0 14 Dtool__Rn_qU04 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__Rn_OM44 0 6 266 833 0 14 Dtool__Rn_OM44 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__Rn_qHlR 0 4 267 834 0 14 Dtool__Rn_qHlR 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__Rn_CBWq 0 6 268 833 0 14 Dtool__Rn_CBWq 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__Rn_v_Dp 0 4 269 834 0 14 Dtool__Rn_v_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__Rn_R14O 0 6 270 843 0 14 Dtool__Rn_R14O 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__Rn_DZOE 0 4 271 834 0 14 Dtool__Rn_DZOE 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__Rn_ndZu 0 6 272 833 0 14 Dtool__Rn_ndZu 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__Rn_lXv7 0 4 273 834 0 14 Dtool__Rn_lXv7 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__Rn_fwd5 0 6 274 843 0 14 Dtool__Rn_fwd5 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__Rn_YPGx 0 4 275 834 0 14 Dtool__Rn_YPGx 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__Rn_mtn1 0 6 276 856 0 14 Dtool__Rn_mtn1 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__Rn_JYhk 0 4 277 834 0 14 Dtool__Rn_JYhk 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__Rn_k4Pi 0 6 278 843 0 14 Dtool__Rn_k4Pi 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__Rn_FJnS 0 4 279 834 0 14 Dtool__Rn_FJnS 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__Rn_qGLu 0 6 280 833 0 14 Dtool__Rn_qGLu 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__Rn_qw0a 0 4 281 834 0 14 Dtool__Rn_qw0a 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__Rn_i_cQ 0 6 282 843 0 14 Dtool__Rn_i_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__Rn_5shL 0 4 283 834 0 14 Dtool__Rn_5shL 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__Rn_HMcA 0 6 284 843 0 14 Dtool__Rn_HMcA 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__Rn_hZWP 0 4 285 834 0 14 Dtool__Rn_hZWP 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__Rn_sNiH 0 6 286 835 0 14 Dtool__Rn_sNiH 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__Rn_EQik 0 6 287 833 0 14 Dtool__Rn_EQik 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__Rn_H5ry 0 6 288 856 0 14 Dtool__Rn_H5ry 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__Rn_WrQH 0 6 289 856 0 14 Dtool__Rn_WrQH 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__Rn_hJd9 0 6 290 856 0 14 Dtool__Rn_hJd9 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__Rn_Xcmb 0 6 291 856 0 14 Dtool__Rn_Xcmb 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__Rn_N8ab 0 4 292 834 0 14 Dtool__Rn_N8ab 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__Rn_IvGa 0 4 293 834 0 14 Dtool__Rn_IvGa 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__Rn_PZJB 0 4 294 834 0 14 Dtool__Rn_PZJB 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__Rn_BzJt 0 4 295 834 0 14 Dtool__Rn_BzJt 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__Rn_dFsV 0 4 296 834 0 14 Dtool__Rn_dFsV 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__Rn_wPqu 0 6 297 833 0 14 Dtool__Rn_wPqu 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__Rn_4V7o 0 6 298 833 0 14 Dtool__Rn_4V7o 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__Rn_LWd4 0 6 299 833 0 14 Dtool__Rn_LWd4 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__Rn_ss5e 0 6 300 833 0 14 Dtool__Rn_ss5e 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__Rn_xlX3 0 6 301 833 0 14 Dtool__Rn_xlX3 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__Rn_AciN 0 6 302 833 0 14 Dtool__Rn_AciN 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__Rn_e1xo 0 6 303 833 0 14 Dtool__Rn_e1xo 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__Rn_aL93 0 6 304 833 0 14 Dtool__Rn_aL93 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__Rn_Dbra 0 6 305 833 0 14 Dtool__Rn_Dbra 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__Rn_ez8L 0 4 306 834 0 14 Dtool__Rn_ez8L 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__Rn_4Z2h 0 4 307 834 0 14 Dtool__Rn_4Z2h 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__Rn_V0p8 0 4 308 834 0 14 Dtool__Rn_V0p8 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__Rn_8VHe 0 4 309 834 0 14 Dtool__Rn_8VHe 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__Rn_V81y 0 6 310 833 0 14 Dtool__Rn_V81y 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__Rn_c0qc 0 4 311 834 0 14 Dtool__Rn_c0qc 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__Rn_FCBU 0 6 312 844 0 14 Dtool__Rn_FCBU 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__Rn_mKSJ 0 4 313 834 0 14 Dtool__Rn_mKSJ 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__Rn_PbQV 0 6 314 833 0 14 Dtool__Rn_PbQV 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__Rn_KhGP 0 6 314 833 0 14 Dtool__Rn_KhGP 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__Rn_ovIW 0 6 315 833 0 14 Dtool__Rn_ovIW 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__Rn_lZ_P 0 6 315 833 0 14 Dtool__Rn_lZ_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__Rn__hXy 0 6 316 833 0 14 Dtool__Rn__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__Rn_Ps3R 0 6 316 833 0 14 Dtool__Rn_Ps3R 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__Rn_RUR4 0 6 317 848 0 14 Dtool__Rn_RUR4 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__Rn_H2KX 0 6 318 856 0 14 Dtool__Rn_H2KX 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__Rn_wOVm 0 6 319 856 0 14 Dtool__Rn_wOVm 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__Rn_XuSB 0 6 320 833 0 14 Dtool__Rn_XuSB 985 ////////////////////////////////////////////////////////////////////
|
|
// 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 successfully
|
|
// 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__Rn_e2x8 0 7 321 884 0 14 Dtool__Rn_e2x8 0 0
|
|
313 14 Dtool__Rn_B4PE 0 7 323 885 704 14 Dtool__Rn_B4PE 221 ////////////////////////////////////////////////////////////////////
|
|
// Function: Decompressor::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
314 14 Dtool__Rn_w6VS 0 6 325 835 0 14 Dtool__Rn_w6VS 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__Rn_P1ck 0 6 325 835 0 14 Dtool__Rn_P1ck 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__Rn_4YBi 0 6 326 835 0 14 Dtool__Rn_4YBi 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__Rn_HZkY 0 6 327 833 0 14 Dtool__Rn_HZkY 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__Rn_DUun 0 6 327 833 0 14 Dtool__Rn_DUun 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__Rn_ujks 0 6 328 888 0 14 Dtool__Rn_ujks 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__Rn__aVY 0 7 331 889 710 14 Dtool__Rn__aVY 247 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::Constructor
|
|
// Access: Public
|
|
// Description: Primarily used for testing.
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
321 14 Dtool__Rn_R1U1 0 7 331 889 710 14 Dtool__Rn_R1U1 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__Rn_6i5v 0 7 331 889 710 14 Dtool__Rn_6i5v 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__Rn_XINq 0 4 333 834 0 14 Dtool__Rn_XINq 214 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::output
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 3 out 1 847
|
|
324 14 Dtool__Rn_3Ao5 0 4 334 834 0 14 Dtool__Rn_3Ao5 213 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::write
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 3 out 1 847
|
|
325 14 Dtool__Rn_V2oK 0 4 335 834 0 14 Dtool__Rn_V2oK 225 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::write_version_map
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 3 out 1 847
|
|
326 14 Dtool__Rn_dnHR 0 6 336 833 0 14 Dtool__Rn_dnHR 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 4 file 1 890
|
|
327 14 Dtool__Rn_tu0x 0 6 337 833 0 14 Dtool__Rn_tu0x 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 4 file 1 890
|
|
328 14 Dtool__Rn_d__n 0 6 338 835 0 14 Dtool__Rn_d__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__Rn_Xid5 0 6 339 835 0 14 Dtool__Rn_Xid5 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 891
|
|
330 14 Dtool__Rn_C6SH 0 6 340 855 0 14 Dtool__Rn_C6SH 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 5 index 1 835
|
|
331 14 Dtool__Rn_tjxY 0 6 341 855 0 14 Dtool__Rn_tjxY 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 5 index 1 835
|
|
332 14 Dtool__Rn_QDcT 0 6 342 835 0 14 Dtool__Rn_QDcT 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855
|
|
333 14 Dtool__Rn_5_ms 0 4 343 834 0 14 Dtool__Rn_5_ms 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 4 size 1 835
|
|
334 14 Dtool__Rn_MBMJ 0 6 344 835 0 14 Dtool__Rn_MBMJ 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 4 size 1 835
|
|
335 14 Dtool__Rn_Ty7k 0 6 345 835 0 14 Dtool__Rn_Ty7k 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855
|
|
336 14 Dtool__Rn__6E_ 0 4 346 834 0 14 Dtool__Rn__6E_ 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 4 size 1 835
|
|
337 14 Dtool__Rn_yAuk 0 6 347 888 0 14 Dtool__Rn_yAuk 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855
|
|
338 14 Dtool__Rn_2HN2 0 6 348 888 0 14 Dtool__Rn_2HN2 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855
|
|
339 14 Dtool__Rn_dYJ4 0 4 349 834 0 14 Dtool__Rn_dYJ4 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855
|
|
340 14 Dtool__Rn_0bjV 0 4 350 834 0 14 Dtool__Rn_0bjV 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855
|
|
341 14 Dtool__Rn_wEYN 0 4 351 834 0 14 Dtool__Rn_wEYN 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855
|
|
342 14 Dtool__Rn_BgOD 0 4 352 834 0 14 Dtool__Rn_BgOD 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855
|
|
343 14 Dtool__Rn_vRAy 0 6 353 835 0 14 Dtool__Rn_vRAy 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855
|
|
344 14 Dtool__Rn_lMf6 0 6 354 855 0 14 Dtool__Rn_lMf6 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 891 6 mfname 1 855 5 index 1 835
|
|
345 14 Dtool__Rn_OqV1 0 6 355 833 0 14 Dtool__Rn_OqV1 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855
|
|
346 14 Dtool__Rn_Ng5P 0 6 356 833 0 14 Dtool__Rn_Ng5P 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__Rn_SEoI 0 6 357 833 0 14 Dtool__Rn_SEoI 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855
|
|
348 14 Dtool__Rn_8yC1 0 6 358 833 0 14 Dtool__Rn_8yC1 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 891 6 mfname 1 855
|
|
349 14 Dtool__Rn_zdCE 0 7 359 894 0 14 Dtool__Rn_zdCE 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__Rn_iMJh 0 4 360 834 0 14 Dtool__Rn_iMJh 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__Rn_1YhV 0 7 361 894 0 14 Dtool__Rn_1YhV 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__Rn_7_my 0 4 362 834 0 14 Dtool__Rn_7_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__Rn_U638 0 4 363 834 0 14 Dtool__Rn_U638 236 // Operations on multifiles
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855
|
|
354 14 Dtool__Rn_uOKg 0 4 364 834 0 14 Dtool__Rn_uOKg 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 13 server_mfname 1 855
|
|
355 14 Dtool__Rn_rRXT 0 4 365 834 0 14 Dtool__Rn_rRXT 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 889 6 mfname 1 855
|
|
356 14 Dtool__Rn_sfrv 0 4 366 834 0 14 Dtool__Rn_sfrv 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__Rn_cfl4 0 4 367 834 0 14 Dtool__Rn_cfl4 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__Rn_RAQv 0 4 368 834 0 14 Dtool__Rn_RAQv 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: DownloadDb::
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 889 6 mfname 1 855 5 fname 1 855
|
|
359 14 Dtool__Rn_Qsdt 0 7 369 896 0 14 Dtool__Rn_Qsdt 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__Rn_UwJj 0 7 369 896 0 14 Dtool__Rn_UwJj 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__Rn_M7K5 0 6 370 833 0 14 Dtool__Rn_M7K5 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__Rn_m3aE 0 4 371 834 0 14 Dtool__Rn_m3aE 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__Rn_05Zn 0 4 372 834 0 14 Dtool__Rn_05Zn 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__Rn_VFEb 0 6 373 833 0 14 Dtool__Rn_VFEb 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__Rn_bMUC 0 6 374 835 0 14 Dtool__Rn_bMUC 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__Rn_LJWU 0 4 375 834 0 14 Dtool__Rn_LJWU 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__Rn_eTF2 0 6 376 835 0 14 Dtool__Rn_eTF2 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__Rn_6zuc 0 6 377 897 0 14 Dtool__Rn_6zuc 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__Rn_UQPe 0 7 381 899 759 14 Dtool__Rn_UQPe 221 ////////////////////////////////////////////////////////////////////
|
|
// Function: Extractor::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
370 14 Dtool__Rn_szJD 0 6 383 833 0 14 Dtool__Rn_szJD 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 899 14 multifile_name 1 869
|
|
371 14 Dtool__Rn_bwYp 0 4 384 834 0 14 Dtool__Rn_bwYp 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 899 11 extract_dir 1 869
|
|
372 14 Dtool__Rn_ZFSE 0 4 385 834 0 14 Dtool__Rn_ZFSE 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 899
|
|
373 14 Dtool__Rn_22R_ 0 6 386 833 0 14 Dtool__Rn_22R_ 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 899 12 subfile_name 1 869
|
|
374 14 Dtool__Rn_RYjW 0 6 387 835 0 14 Dtool__Rn_RYjW 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 899
|
|
375 14 Dtool__Rn_Ccut 0 6 388 835 0 14 Dtool__Rn_Ccut 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 899
|
|
376 14 Dtool__Rn_htp3 0 6 389 888 0 14 Dtool__Rn_htp3 292 ////////////////////////////////////////////////////////////////////
|
|
// Function: Extractor::get_progress
|
|
// Access: Public
|
|
// Description: Returns the fraction of the Multifile extracted so
|
|
// far.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 900
|
|
377 14 Dtool__Rn_aBlQ 0 6 390 833 0 14 Dtool__Rn_aBlQ 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 899
|
|
378 14 Dtool__Rn_Zfxv 0 7 392 902 775 14 Dtool__Rn_Zfxv 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
|
|
379 14 Dtool__Rn_ZXC6 0 4 393 834 0 14 Dtool__Rn_ZXC6 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 902 3 out 1 847 12 delete_later 1 833
|
|
380 14 Dtool__Rn_dq5z 0 4 393 834 0 14 Dtool__Rn_dq5z 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 902 3 out 1 847
|
|
381 14 Dtool__Rn_FGvk 0 6 394 833 0 14 Dtool__Rn_FGvk 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 902 4 file 1 903 15 close_when_done 1 833
|
|
382 14 Dtool__Rn_k5Dq 0 4 395 834 0 14 Dtool__Rn_k5Dq 266 ////////////////////////////////////////////////////////////////////
|
|
// Function: MultiplexStream::add_standard_output
|
|
// Access: Public
|
|
// Description: Adds the standard output channel.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 902
|
|
383 14 Dtool__Rn_rLNF 0 6 396 833 0 14 Dtool__Rn_rLNF 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 902 4 file 1 890
|
|
384 14 Dtool__Rn_JUTf 0 4 397 834 0 14 Dtool__Rn_JUTf 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 902
|
|
385 14 Dtool__Rn_JH3n 0 4 398 834 0 14 Dtool__Rn_JH3n 270 ////////////////////////////////////////////////////////////////////
|
|
// Function: MultiplexStream::flush
|
|
// Access: Public
|
|
// Description: Forces out all output that hasn't yet been written.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 902
|
|
386 14 Dtool__Rn_8R9_ 0 7 402 884 0 14 Dtool__Rn_8R9_ 0 0
|
|
387 14 Dtool__Rn_fneg 0 7 405 905 0 14 Dtool__Rn_fneg 233 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualFileMountHTTP::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 root 1 853 4 http 1 864
|
|
388 14 Dtool__Rn_TJ7i 0 7 405 905 0 14 Dtool__Rn_TJ7i 233 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualFileMountHTTP::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 root 1 853
|
|
389 14 Dtool__Rn_QLpa 0 7 406 864 0 14 Dtool__Rn_QLpa 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 906
|
|
390 14 Dtool__Rn_0R3N 0 6 407 853 0 14 Dtool__Rn_0R3N 308 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualFileMountHTTP::get_root
|
|
// Access: Published
|
|
// Description: Returns the URL that represents the root of this
|
|
// mount point.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 906
|
|
391 14 Dtool__Rn_gDGs 0 4 408 834 0 14 Dtool__Rn_gDGs 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
|
|
392 14 Dtool__Rn_vlPL 0 7 409 884 0 14 Dtool__Rn_vlPL 0 0
|
|
393 14 Dtool__Rn_Xe93 0 7 411 908 783 14 Dtool__Rn_Xe93 216 ////////////////////////////////////////////////////////////////////
|
|
// Function: Patcher::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
394 14 Dtool__Rn_8YxX 0 7 411 908 783 14 Dtool__Rn_8YxX 216 ////////////////////////////////////////////////////////////////////
|
|
// Function: Patcher::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 6 buffer 1 909
|
|
395 14 Dtool__Rn_Yc1E 0 6 413 835 0 14 Dtool__Rn_Yc1E 213 ////////////////////////////////////////////////////////////////////
|
|
// Function: Patcher::initiate
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 908 5 patch 1 890 6 infile 1 890
|
|
396 14 Dtool__Rn__N2z 0 6 414 835 0 14 Dtool__Rn__N2z 208 ////////////////////////////////////////////////////////////////////
|
|
// Function: Patcher::run
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 908
|
|
397 14 Dtool__Rn_x_F5 0 6 415 888 0 14 Dtool__Rn_x_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__Rn_KnUw 0 7 417 913 793 14 Dtool__Rn_KnUw 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__Rn_heLC 0 7 417 913 793 14 Dtool__Rn_heLC 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__Rn_V15i 0 4 418 834 0 14 Dtool__Rn_V15i 243 ////////////////////////////////////////////////////////////////////
|
|
// Function: StringStream::clear_data
|
|
// Access: Published
|
|
// Description: Empties the buffer.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 913
|
|
401 14 Dtool__Rn_74S2 0 6 419 856 0 14 Dtool__Rn_74S2 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__Rn__ccq 0 6 420 855 0 14 Dtool__Rn__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__Rn_JWYJ 0 4 421 834 0 14 Dtool__Rn_JWYJ 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__Rn_SY78 0 4 422 834 0 14 Dtool__Rn_SY78 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__Rn_Zj2d 0 6 378 916 0 14 Dtool__Rn_Zj2d 0 1 4 name 1 890
|
|
406 14 Dtool__Rn_wHLZ 0 6 379 916 0 14 Dtool__Rn_wHLZ 0 1 4 name 1 890
|
|
124
|
|
794 8 SSReader 0 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 0 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 0 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 0 2049 7 istream 7 istream 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
798 9 ReadState 0 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 0 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 0 2049 7 ostream 7 ostream 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
801 12 SocketStream 0 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 0 2049 8 iostream 8 iostream 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
803 7 URLSpec 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 0 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 9 Extractor 0 26625 9 Extractor 9 Extractor 0 0 0 1 758 759 0 8 760 761 762 763 764 765 766 767 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
823 15 MultiplexStream 0 141313 15 MultiplexStream 15 MultiplexStream 0 0 0 1 768 775 0 6 769 770 771 772 773 774 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
824 15 VirtualFileHTTP 0 75777 15 VirtualFileHTTP 15 VirtualFileHTTP 0 0 0 0 0 0 1 776 0 0 1 0 825 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
825 11 VirtualFile 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
826 20 VirtualFileMountHTTP 0 75777 20 VirtualFileMountHTTP 20 VirtualFileMountHTTP 0 0 0 1 777 0 0 4 778 779 780 781 0 0 1 0 827 0 0 0 0 264
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : VirtualFileMountHTTP
|
|
// Description : Maps a web page (URL root) into the
|
|
// VirtualFileSystem.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
827 16 VirtualFileMount 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
828 7 Patcher 0 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 0 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 * 0 8576 10 SSReader * 10 SSReader * 0 0 794 0 0 0 0 0 0 0 0 0 0
|
|
|
|
831 10 Datagram * 0 8576 10 Datagram * 10 Datagram * 0 0 832 0 0 0 0 0 0 0 0 0 0
|
|
|
|
832 8 Datagram 0 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 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
834 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
835 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
836 16 SSReader const * 0 8576 16 SSReader const * 16 SSReader const * 0 0 837 0 0 0 0 0 0 0 0 0 0
|
|
|
|
837 14 SSReader const 0 8832 14 SSReader const 14 SSReader const 0 0 794 0 0 0 0 0 0 0 0 0 0
|
|
|
|
838 10 SSWriter * 0 8576 10 SSWriter * 10 SSWriter * 0 0 795 0 0 0 0 0 0 0 0 0 0
|
|
|
|
839 16 Datagram const * 0 8576 16 Datagram const * 16 Datagram const * 0 0 840 0 0 0 0 0 0 0 0 0 0
|
|
|
|
840 14 Datagram const 0 8832 14 Datagram const 14 Datagram const 0 0 832 0 0 0 0 0 0 0 0 0 0
|
|
|
|
841 16 SSWriter const * 0 8576 16 SSWriter const * 16 SSWriter const * 0 0 842 0 0 0 0 0 0 0 0 0 0
|
|
|
|
842 14 SSWriter const 0 8832 14 SSWriter const 14 SSWriter const 0 0 795 0 0 0 0 0 0 0 0 0 0
|
|
|
|
843 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
844 15 ISocketStream * 0 8576 15 ISocketStream * 15 ISocketStream * 0 0 796 0 0 0 0 0 0 0 0 0 0
|
|
|
|
845 9 istream * 0 8576 9 istream * 9 istream * 0 0 797 0 0 0 0 0 0 0 0 0 0
|
|
|
|
846 15 OSocketStream * 0 8576 15 OSocketStream * 15 OSocketStream * 0 0 799 0 0 0 0 0 0 0 0 0 0
|
|
|
|
847 9 ostream * 0 8576 9 ostream * 9 ostream * 0 0 800 0 0 0 0 0 0 0 0 0 0
|
|
|
|
848 14 SocketStream * 0 8576 14 SocketStream * 14 SocketStream * 0 0 801 0 0 0 0 0 0 0 0 0 0
|
|
|
|
849 20 SocketStream const * 0 8576 20 SocketStream const * 20 SocketStream const * 0 0 850 0 0 0 0 0 0 0 0 0 0
|
|
|
|
850 18 SocketStream const 0 8832 18 SocketStream const 18 SocketStream const 0 0 801 0 0 0 0 0 0 0 0 0 0
|
|
|
|
851 10 iostream * 0 8576 10 iostream * 10 iostream * 0 0 802 0 0 0 0 0 0 0 0 0 0
|
|
|
|
852 9 URLSpec * 0 8576 9 URLSpec * 9 URLSpec * 0 0 803 0 0 0 0 0 0 0 0 0 0
|
|
|
|
853 15 URLSpec const * 0 8576 15 URLSpec const * 15 URLSpec const * 0 0 854 0 0 0 0 0 0 0 0 0 0
|
|
|
|
854 13 URLSpec const 0 8832 13 URLSpec const 13 URLSpec const 0 0 803 0 0 0 0 0 0 0 0 0 0
|
|
|
|
855 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
856 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
857 4 char 0 8194 4 char 4 char 0 5 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
858 10 HTTPDate * 0 8576 10 HTTPDate * 10 HTTPDate * 0 0 807 0 0 0 0 0 0 0 0 0 0
|
|
|
|
859 16 HTTPDate const * 0 8576 16 HTTPDate const * 16 HTTPDate const * 0 0 860 0 0 0 0 0 0 0 0 0 0
|
|
|
|
860 14 HTTPDate const 0 8832 14 HTTPDate const 14 HTTPDate const 0 0 807 0 0 0 0 0 0 0 0 0 0
|
|
|
|
861 12 HTTPCookie * 0 8576 12 HTTPCookie * 12 HTTPCookie * 0 0 808 0 0 0 0 0 0 0 0 0 0
|
|
|
|
862 18 HTTPCookie const * 0 8576 18 HTTPCookie const * 18 HTTPCookie const * 0 0 863 0 0 0 0 0 0 0 0 0 0
|
|
|
|
863 16 HTTPCookie const 0 8832 16 HTTPCookie const 16 HTTPCookie const 0 0 808 0 0 0 0 0 0 0 0 0 0
|
|
|
|
864 12 HTTPClient * 0 8576 12 HTTPClient * 12 HTTPClient * 0 0 809 0 0 0 0 0 0 0 0 0 0
|
|
|
|
865 18 HTTPClient const * 0 8576 18 HTTPClient const * 18 HTTPClient const * 0 0 866 0 0 0 0 0 0 0 0 0 0
|
|
|
|
866 16 HTTPClient const 0 8832 16 HTTPClient const 16 HTTPClient const 0 0 809 0 0 0 0 0 0 0 0 0 0
|
|
|
|
867 19 vector< URLSpec > * 0 8576 19 vector< URLSpec > * 19 vector< URLSpec > * 0 0 868 0 0 0 0 0 0 0 0 0 0
|
|
|
|
868 17 vector< URLSpec > 0 2048 17 vector< URLSpec > 17 vector< URLSpec > 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
869 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 870 0 0 0 0 0 0 0 0 0 0
|
|
|
|
870 14 Filename const 0 8832 14 Filename const 14 Filename const 0 0 871 0 0 0 0 0 0 0 0 0 0
|
|
|
|
871 8 Filename 0 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 * 0 8576 13 HTTPChannel * 13 HTTPChannel * 0 0 816 0 0 0 0 0 0 0 0 0 0
|
|
|
|
873 15 HTTPEntityTag * 0 8576 15 HTTPEntityTag * 15 HTTPEntityTag * 0 0 812 0 0 0 0 0 0 0 0 0 0
|
|
|
|
874 21 HTTPEntityTag const * 0 8576 21 HTTPEntityTag const * 21 HTTPEntityTag const * 0 0 875 0 0 0 0 0 0 0 0 0 0
|
|
|
|
875 19 HTTPEntityTag const 0 8832 19 HTTPEntityTag const 19 HTTPEntityTag const 0 0 812 0 0 0 0 0 0 0 0 0 0
|
|
|
|
876 14 DocumentSpec * 0 8576 14 DocumentSpec * 14 DocumentSpec * 0 0 813 0 0 0 0 0 0 0 0 0 0
|
|
|
|
877 20 DocumentSpec const * 0 8576 20 DocumentSpec const * 20 DocumentSpec const * 0 0 878 0 0 0 0 0 0 0 0 0 0
|
|
|
|
878 18 DocumentSpec const 0 8832 18 DocumentSpec const 18 DocumentSpec const 0 0 813 0 0 0 0 0 0 0 0 0 0
|
|
|
|
879 19 HTTPChannel const * 0 8576 19 HTTPChannel const * 19 HTTPChannel const * 0 0 880 0 0 0 0 0 0 0 0 0 0
|
|
|
|
880 17 HTTPChannel const 0 8832 17 HTTPChannel const 17 HTTPChannel const 0 0 816 0 0 0 0 0 0 0 0 0 0
|
|
|
|
881 9 Ramfile * 0 8576 9 Ramfile * 9 Ramfile * 0 0 882 0 0 0 0 0 0 0 0 0 0
|
|
|
|
882 7 Ramfile 0 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 0 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 * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 883 0 0 0 0 0 0 0 0 0 0
|
|
|
|
885 14 Decompressor * 0 8576 14 Decompressor * 14 Decompressor * 0 0 819 0 0 0 0 0 0 0 0 0 0
|
|
|
|
886 20 Decompressor const * 0 8576 20 Decompressor const * 20 Decompressor const * 0 0 887 0 0 0 0 0 0 0 0 0 0
|
|
|
|
887 18 Decompressor const 0 8832 18 Decompressor const 18 Decompressor const 0 0 819 0 0 0 0 0 0 0 0 0 0
|
|
|
|
888 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
889 12 DownloadDb * 0 8576 12 DownloadDb * 12 DownloadDb * 0 0 820 0 0 0 0 0 0 0 0 0 0
|
|
|
|
890 10 Filename * 0 8576 10 Filename * 10 Filename * 0 0 871 0 0 0 0 0 0 0 0 0 0
|
|
|
|
891 18 DownloadDb const * 0 8576 18 DownloadDb const * 18 DownloadDb const * 0 0 892 0 0 0 0 0 0 0 0 0 0
|
|
|
|
892 16 DownloadDb const 0 8832 16 DownloadDb const 16 DownloadDb const 0 0 820 0 0 0 0 0 0 0 0 0 0
|
|
|
|
893 7 HashVal 0 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 * 0 8576 9 HashVal * 9 HashVal * 0 0 893 0 0 0 0 0 0 0 0 0 0
|
|
|
|
895 2 Db 0 1312768 14 DownloadDb::Db 14 DownloadDb::Db 820 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
896 4 Db * 0 8576 16 DownloadDb::Db * 16 DownloadDb::Db * 0 0 895 0 0 0 0 0 0 0 0 0 0
|
|
|
|
897 15 HashVal const * 0 8576 15 HashVal const * 15 HashVal const * 0 0 898 0 0 0 0 0 0 0 0 0 0
|
|
|
|
898 13 HashVal const 0 8832 13 HashVal const 13 HashVal const 0 0 893 0 0 0 0 0 0 0 0 0 0
|
|
|
|
899 11 Extractor * 0 8576 11 Extractor * 11 Extractor * 0 0 822 0 0 0 0 0 0 0 0 0 0
|
|
|
|
900 17 Extractor const * 0 8576 17 Extractor const * 17 Extractor const * 0 0 901 0 0 0 0 0 0 0 0 0 0
|
|
|
|
901 15 Extractor const 0 8832 15 Extractor const 15 Extractor const 0 0 822 0 0 0 0 0 0 0 0 0 0
|
|
|
|
902 17 MultiplexStream * 0 8576 17 MultiplexStream * 17 MultiplexStream * 0 0 823 0 0 0 0 0 0 0 0 0 0
|
|
|
|
903 6 FILE * 0 8576 6 FILE * 6 FILE * 0 0 904 0 0 0 0 0 0 0 0 0 0
|
|
|
|
904 4 FILE 0 1024 4 FILE 4 FILE 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
905 22 VirtualFileMountHTTP * 0 8576 22 VirtualFileMountHTTP * 22 VirtualFileMountHTTP * 0 0 826 0 0 0 0 0 0 0 0 0 0
|
|
|
|
906 28 VirtualFileMountHTTP const * 0 8576 28 VirtualFileMountHTTP const * 28 VirtualFileMountHTTP const * 0 0 907 0 0 0 0 0 0 0 0 0 0
|
|
|
|
907 26 VirtualFileMountHTTP const 0 8832 26 VirtualFileMountHTTP const 26 VirtualFileMountHTTP const 0 0 826 0 0 0 0 0 0 0 0 0 0
|
|
|
|
908 9 Patcher * 0 8576 9 Patcher * 9 Patcher * 0 0 828 0 0 0 0 0 0 0 0 0 0
|
|
|
|
909 8 Buffer * 0 8576 8 Buffer * 8 Buffer * 0 0 910 0 0 0 0 0 0 0 0 0 0
|
|
|
|
910 6 Buffer 0 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 * 0 8576 15 Patcher const * 15 Patcher const * 0 0 912 0 0 0 0 0 0 0 0 0 0
|
|
|
|
912 13 Patcher const 0 8832 13 Patcher const 13 Patcher const 0 0 828 0 0 0 0 0 0 0 0 0 0
|
|
|
|
913 14 StringStream * 0 8576 14 StringStream * 14 StringStream * 0 0 829 0 0 0 0 0 0 0 0 0 0
|
|
|
|
914 25 vector< unsigned char > * 0 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 0 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 0 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 0 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 0 244 18 get_redirect_steps 22 get_num_redirect_steps 17 get_redirect_step
|