Poodletooth-iLand/panda/pandac/input/libp3recorder.in
Master Jumblespeed d882959bfa switch to remote
2015-05-18 22:11:33 -04:00

1047 lines
54 KiB
Text
Executable file

1412104298
2 2
13 libp3recorder 4 ayCl 12 panda3d.core
47
47 24 upcast_to_ReferenceCount 0 12 94 38 RecorderBase::upcast_to_ReferenceCount 0 1 4 42
upcast from RecorderBase to ReferenceCount
61
ReferenceCount *RecorderBase::upcast_to_ReferenceCount(void);
48 13 ~RecorderBase 0 6 94 27 RecorderBase::~RecorderBase 0 0 232
////////////////////////////////////////////////////////////////////
// Function: RecorderBase::Destructor
// Access: Published, Virtual
// Description:
////////////////////////////////////////////////////////////////////
42
virtual RecorderBase::~RecorderBase(void);
49 12 is_recording 0 4 94 26 RecorderBase::is_recording 0 1 1 934
// Filename: recorderBase.I
// Created by: drose (24Jan04)
//
////////////////////////////////////////////////////////////////////
//
// 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: RecorderBase::is_recording
// Access: Published
// Description: Returns true if this recorder is presently recording
// data for saving to a session file, false otherwise.
// If this is true, record_data() will be called from
// time to time.
////////////////////////////////////////////////////////////////////
51
inline bool RecorderBase::is_recording(void) const;
50 10 is_playing 0 4 94 24 RecorderBase::is_playing 0 1 2 418
////////////////////////////////////////////////////////////////////
// Function: RecorderBase::is_playing
// Access: Published
// Description: Returns true if this recorder is presently playing back
// data from session file, false otherwise. If this is
// true, play_data() will be called from time to time.
////////////////////////////////////////////////////////////////////
49
inline bool RecorderBase::is_playing(void) const;
51 14 get_class_type 0 4 94 28 RecorderBase::get_class_type 0 1 3 0
53
static TypeHandle RecorderBase::get_class_type(void);
52 18 upcast_to_DataNode 0 12 96 33 MouseRecorder::upcast_to_DataNode 0 1 7 37
upcast from MouseRecorder to DataNode
50
DataNode *MouseRecorder::upcast_to_DataNode(void);
53 25 downcast_to_MouseRecorder 0 12 97 35 DataNode::downcast_to_MouseRecorder 0 1 8 39
downcast from DataNode to MouseRecorder
57
MouseRecorder *DataNode::downcast_to_MouseRecorder(void);
54 22 upcast_to_RecorderBase 0 12 96 37 MouseRecorder::upcast_to_RecorderBase 0 1 9 41
upcast from MouseRecorder to RecorderBase
58
RecorderBase *MouseRecorder::upcast_to_RecorderBase(void);
55 25 downcast_to_MouseRecorder 0 12 94 39 RecorderBase::downcast_to_MouseRecorder 0 1 10 43
downcast from RecorderBase to MouseRecorder
61
MouseRecorder *RecorderBase::downcast_to_MouseRecorder(void);
56 13 MouseRecorder 0 4 96 28 MouseRecorder::MouseRecorder 0 1 5 225
////////////////////////////////////////////////////////////////////
// Function: MouseRecorder::Constructor
// Access: Published
// Description:
////////////////////////////////////////////////////////////////////
63
MouseRecorder::MouseRecorder(basic_string< char > const &name);
57 14 ~MouseRecorder 0 6 96 29 MouseRecorder::~MouseRecorder 0 0 233
////////////////////////////////////////////////////////////////////
// Function: MouseRecorder::Destructor
// Access: Published, Virtual
// Description:
////////////////////////////////////////////////////////////////////
44
virtual MouseRecorder::~MouseRecorder(void);
58 14 get_class_type 0 4 96 29 MouseRecorder::get_class_type 0 1 6 0
54
static TypeHandle MouseRecorder::get_class_type(void);
59 18 RecorderController 0 4 98 38 RecorderController::RecorderController 0 1 11 230
////////////////////////////////////////////////////////////////////
// Function: RecorderController::Constructor
// Access: Published
// Description:
////////////////////////////////////////////////////////////////////
45
RecorderController::RecorderController(void);
60 12 begin_record 0 4 98 32 RecorderController::begin_record 0 1 12 375
////////////////////////////////////////////////////////////////////
// Function: RecorderController::begin_record
// Access: Published
// Description: Begins recording data to the indicated filename. All
// of the recorders in use should already have been
// added.
////////////////////////////////////////////////////////////////////
64
bool RecorderController::begin_record(Filename const &filename);
61 14 begin_playback 0 4 98 34 RecorderController::begin_playback 0 1 13 661
////////////////////////////////////////////////////////////////////
// Function: RecorderController::begin_playback
// Access: Published
// Description: Begins playing back data from the indicated filename.
// All of the recorders in use should already have been
// added, although this may define additional recorders
// if they are present in the file (these new recorders
// will not be used). This may also undefine recorders
// that were previously added but are not present in the
// file.
////////////////////////////////////////////////////////////////////
66
bool RecorderController::begin_playback(Filename const &filename);
62 5 close 0 4 98 25 RecorderController::close 0 1 14 275
////////////////////////////////////////////////////////////////////
// Function: RecorderController::close
// Access: Published
// Description: Finishes recording data to the indicated filename.
////////////////////////////////////////////////////////////////////
37
void RecorderController::close(void);
63 14 get_start_time 0 4 98 34 RecorderController::get_start_time 0 1 15 912
// Filename: recorderController.I
// Created by: drose (24Jan04)
//
////////////////////////////////////////////////////////////////////
//
// 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: RecorderController::get_start_time
// Access: Published
// Description: Returns the time (and date) at which the current
// session was originally recorded (or, in recording
// mode, the time at which the current session began).
////////////////////////////////////////////////////////////////////
67
inline unsigned int RecorderController::get_start_time(void) const;
64 15 set_random_seed 0 4 98 35 RecorderController::set_random_seed 0 1 16 472
////////////////////////////////////////////////////////////////////
// Function: RecorderController::set_random_seed
// Access: Published
// Description: Indicates an arbitrary number to be recorded in the
// session file as a random seed, should the application
// wish to take advantage of it. This must be set
// before begin_record() is called.
////////////////////////////////////////////////////////////////////
65
inline void RecorderController::set_random_seed(int random_seed);
65 15 get_random_seed 0 4 98 35 RecorderController::get_random_seed 0 1 17 444
////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_random_seed
// Access: Published
// Description: Returns the random seed that was set by a previous
// call to set_random_seed(), or the number read from
// the session file after begin_playback() has been
// called.
////////////////////////////////////////////////////////////////////
59
inline int RecorderController::get_random_seed(void) const;
66 12 is_recording 0 4 98 32 RecorderController::is_recording 0 1 18 324
////////////////////////////////////////////////////////////////////
// Function: RecorderController::is_recording
// Access: Published
// Description: Returns true if the controller has been opened for
// output, false otherwise.
////////////////////////////////////////////////////////////////////
57
inline bool RecorderController::is_recording(void) const;
67 10 is_playing 0 4 98 30 RecorderController::is_playing 0 1 19 321
////////////////////////////////////////////////////////////////////
// Function: RecorderController::is_playing
// Access: Published
// Description: Returns true if the controller has been opened for
// input, false otherwise.
////////////////////////////////////////////////////////////////////
55
inline bool RecorderController::is_playing(void) const;
68 7 is_open 0 4 98 27 RecorderController::is_open 0 1 20 335
////////////////////////////////////////////////////////////////////
// Function: RecorderController::is_open
// Access: Published
// Description: Returns true if the controller has been opened for
// either input or output, false otherwise.
////////////////////////////////////////////////////////////////////
52
inline bool RecorderController::is_open(void) const;
69 12 get_filename 0 4 98 32 RecorderController::get_filename 0 1 21 348
////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_filename
// Access: Published
// Description: Returns the filename that was passed to the most
// recent call to begin_record() or begin_playback().
////////////////////////////////////////////////////////////////////
68
inline Filename const &RecorderController::get_filename(void) const;
70 8 is_error 0 4 98 28 RecorderController::is_error 0 1 22 453
////////////////////////////////////////////////////////////////////
// Function: RecorderController::is_error
// Access: Published
// Description: Returns true if the controller has been opened for
// input or output output and there is an error on the
// stream, or false if the controller is closed or if
// there is no problem.
////////////////////////////////////////////////////////////////////
47
inline bool RecorderController::is_error(void);
71 16 get_clock_offset 0 4 98 36 RecorderController::get_clock_offset 0 1 23 456
////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_clock_offset
// Access: Published
// Description: Returns the delta offset between the actual frame
// time and the frame time written to the log. This is
// essentially the time at which the recording (or
// playback) started.
////////////////////////////////////////////////////////////////////
63
inline double RecorderController::get_clock_offset(void) const;
72 16 get_frame_offset 0 4 98 36 RecorderController::get_frame_offset 0 1 24 466
////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_frame_offset
// Access: Published
// Description: Returns the delta offset between the actual frame
// count and the frame count written to the log. This is
// essentially the frame number at which the recording
// (or playback) started.
////////////////////////////////////////////////////////////////////
60
inline int RecorderController::get_frame_offset(void) const;
73 12 add_recorder 0 4 98 32 RecorderController::add_recorder 0 1 25 654
////////////////////////////////////////////////////////////////////
// Function: RecorderController::add_recorder
// Access: Published
// Description: Adds the named recorder to the set of recorders that
// are in use.
//
// If the controller is in recording mode, the named
// recorder will begin recording its status to the
// session file. If the controller is in playback mode
// and the name and type matches a recorder in the
// session file, the recorder will begin receiving data.
////////////////////////////////////////////////////////////////////
103
inline void RecorderController::add_recorder(basic_string< char > const &name, RecorderBase *recorder);
74 12 has_recorder 0 4 98 32 RecorderController::has_recorder 0 1 26 643
////////////////////////////////////////////////////////////////////
// Function: RecorderController::has_recorder
// Access: Published
// Description: Returns true if the named recorder has been added to
// the table by a previous call to add_recorder(), false
// otherwise.
//
// If the controller is in playback mode, this will also
// return false for a recorder that was found in the
// session file but was never explicitly added via
// add_recorder(); see get_recorder().
////////////////////////////////////////////////////////////////////
85
inline bool RecorderController::has_recorder(basic_string< char > const &name) const;
75 12 get_recorder 0 4 98 32 RecorderController::get_recorder 0 1 27 714
////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_recorder
// Access: Published
// Description: Returns the recorder with the indicated name, or NULL
// if there is no such recorder.
//
// If the controller is in playback mode, this may
// return the recorder matching the indicated name as
// read from the session file, even if it was never
// added to the table by the user. In this case,
// has_recorder() may return false, but get_recorder()
// will return a non-NULL value.
////////////////////////////////////////////////////////////////////
94
inline RecorderBase *RecorderController::get_recorder(basic_string< char > const &name) const;
76 15 remove_recorder 0 4 98 35 RecorderController::remove_recorder 0 1 28 822
////////////////////////////////////////////////////////////////////
// Function: RecorderController::remove_recorder
// Access: Published
// Description: Removes the named recorder from the table. Returns
// true if successful, false if there was no such
// recorder.
//
// If the controller is in recording mode, the named
// recorder will stop recording. If the controller is
// in playback mode, the named recorder will
// disassociate itself from the session file (but if the
// session file still has data for this name, a default
// recorder will take its place to decode the data from
// the session file).
////////////////////////////////////////////////////////////////////
82
inline bool RecorderController::remove_recorder(basic_string< char > const &name);
77 13 set_frame_tie 0 4 98 33 RecorderController::set_frame_tie 0 1 29 895
////////////////////////////////////////////////////////////////////
// Function: RecorderController::set_frame_tie
// Access: Published
// Description: Sets the frame_tie flag.
//
// When this is true, sessions are played back
// frame-for-frame, based on the frame count of the
// recorded session. This gives the most accurate
// playback, but the playback rate will vary according
// to the frame rate of the playback machine.
//
// When this is false, sessions are played back at real
// time, based on the clock of the recorded session.
// This may introduce playback discrepencies if the
// frames do not fall at exactly the same times as they
// did in the original.
////////////////////////////////////////////////////////////////////
62
inline void RecorderController::set_frame_tie(bool frame_tie);
78 13 get_frame_tie 0 4 98 33 RecorderController::get_frame_tie 0 1 30 253
////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_frame_tie
// Access: Published
// Description: See set_frame_tie().
////////////////////////////////////////////////////////////////////
58
inline bool RecorderController::get_frame_tie(void) const;
79 12 record_frame 0 4 98 32 RecorderController::record_frame 0 1 31 341
////////////////////////////////////////////////////////////////////
// Function: RecorderController::record_frame
// Access: Published
// Description: Gets the next frame of data from all of the active
// recorders and adds it to the output file.
////////////////////////////////////////////////////////////////////
44
void RecorderController::record_frame(void);
80 10 play_frame 0 4 98 30 RecorderController::play_frame 0 1 32 339
////////////////////////////////////////////////////////////////////
// Function: RecorderController::play_frame
// Access: Published
// Description: Gets the next frame of data from all of the active
// recorders and adds it to the output file.
////////////////////////////////////////////////////////////////////
42
void RecorderController::play_frame(void);
81 14 get_class_type 0 4 98 34 RecorderController::get_class_type 0 1 33 0
59
static TypeHandle RecorderController::get_class_type(void);
82 20 SocketStreamRecorder 0 4 100 42 SocketStreamRecorder::SocketStreamRecorder 0 2 34 35 962
// Filename: socketStreamRecorder.I
// Created by: drose (28Jan04)
//
////////////////////////////////////////////////////////////////////
//
// 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: SocketStreamRecorder::Constructor
// Access: Published
// Description:
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::Constructor
// Access: Published
// Description:
////////////////////////////////////////////////////////////////////
147
inline SocketStreamRecorder::SocketStreamRecorder(void);
inline SocketStreamRecorder::SocketStreamRecorder(SocketStream *stream, bool owns_stream);
83 16 receive_datagram 0 4 100 38 SocketStreamRecorder::receive_datagram 0 1 36 536
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::receive_datagram
// Access: Public
// 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.
////////////////////////////////////////////////////////////////////
58
bool SocketStreamRecorder::receive_datagram(Datagram &dg);
84 13 send_datagram 0 4 100 35 SocketStreamRecorder::send_datagram 0 1 37 266
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::send_datagram
// Access: Public
// Description: See SocketStream::send_datagram().
////////////////////////////////////////////////////////////////////
68
inline bool SocketStreamRecorder::send_datagram(Datagram const &dg);
85 9 is_closed 0 4 100 31 SocketStreamRecorder::is_closed 0 1 38 261
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::is_closed
// Access: Published
// Description: See SocketStream::is_closed().
////////////////////////////////////////////////////////////////////
50
inline bool SocketStreamRecorder::is_closed(void);
86 5 close 0 4 100 27 SocketStreamRecorder::close 0 1 39 253
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::close
// Access: Published
// Description: See SocketStream::close().
////////////////////////////////////////////////////////////////////
46
inline void SocketStreamRecorder::close(void);
87 15 set_collect_tcp 0 4 100 37 SocketStreamRecorder::set_collect_tcp 0 1 40 273
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::set_collect_tcp
// Access: Published
// Description: See SocketStream::set_collect_tcp().
////////////////////////////////////////////////////////////////////
68
inline void SocketStreamRecorder::set_collect_tcp(bool collect_tcp);
88 15 get_collect_tcp 0 4 100 37 SocketStreamRecorder::get_collect_tcp 0 1 41 273
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::get_collect_tcp
// Access: Published
// Description: See SocketStream::get_collect_tcp().
////////////////////////////////////////////////////////////////////
62
inline bool SocketStreamRecorder::get_collect_tcp(void) const;
89 24 set_collect_tcp_interval 0 4 100 46 SocketStreamRecorder::set_collect_tcp_interval 0 1 42 291
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::set_collect_tcp_interval
// Access: Published
// Description: See SocketStream::set_collect_tcp_interval().
////////////////////////////////////////////////////////////////////
76
inline void SocketStreamRecorder::set_collect_tcp_interval(double interval);
90 24 get_collect_tcp_interval 0 4 100 46 SocketStreamRecorder::get_collect_tcp_interval 0 1 43 291
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::get_collect_tcp_interval
// Access: Published
// Description: See SocketStream::get_collect_tcp_interval().
////////////////////////////////////////////////////////////////////
73
inline double SocketStreamRecorder::get_collect_tcp_interval(void) const;
91 14 consider_flush 0 4 100 36 SocketStreamRecorder::consider_flush 0 1 44 270
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::consider_flush
// Access: Published
// Description: See SocketStream::consider_flush()
////////////////////////////////////////////////////////////////////
55
inline bool SocketStreamRecorder::consider_flush(void);
92 5 flush 0 4 100 27 SocketStreamRecorder::flush 0 1 45 252
////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::flush
// Access: Published
// Description: See SocketStream::flush()
////////////////////////////////////////////////////////////////////
46
inline bool SocketStreamRecorder::flush(void);
93 14 get_class_type 0 4 100 36 SocketStreamRecorder::get_class_type 0 1 46 0
61
static TypeHandle SocketStreamRecorder::get_class_type(void);
46
1 14 Dtool_ayClK8hL 0 6 5 103 0 14 Dtool_ayClK8hL 934 // Filename: recorderBase.I
// Created by: drose (24Jan04)
//
////////////////////////////////////////////////////////////////////
//
// 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: RecorderBase::is_recording
// Access: Published
// Description: Returns true if this recorder is presently recording
// data for saving to a session file, false otherwise.
// If this is true, record_data() will be called from
// time to time.
//////////////////////////////////////////////////////////////////// 1 4 this 3 101
2 14 Dtool_ayClYULh 0 6 6 103 0 14 Dtool_ayClYULh 418 ////////////////////////////////////////////////////////////////////
// Function: RecorderBase::is_playing
// Access: Published
// Description: Returns true if this recorder is presently playing back
// data from session file, false otherwise. If this is
// true, play_data() will be called from time to time.
//////////////////////////////////////////////////////////////////// 1 4 this 3 101
3 14 Dtool_ayClFTOU 0 7 7 105 0 14 Dtool_ayClFTOU 0 0
4 14 Dtool_ayClY6Qp 0 7 3 107 0 14 Dtool_ayClY6Qp 0 1 4 this 3 106
5 14 Dtool_ayClqf6S 0 7 14 109 57 14 Dtool_ayClqf6S 225 ////////////////////////////////////////////////////////////////////
// Function: MouseRecorder::Constructor
// Access: Published
// Description:
//////////////////////////////////////////////////////////////////// 1 4 name 1 108
6 14 Dtool_ayClHvdt 0 7 16 105 0 14 Dtool_ayClHvdt 0 0
7 14 Dtool_ayClCU8Q 0 7 10 110 0 14 Dtool_ayClCU8Q 0 1 4 this 3 109
8 14 Dtool_ayClujBb 0 7 11 109 57 14 Dtool_ayClujBb 0 1 4 this 3 110
9 14 Dtool_ayClKZwc 0 7 12 106 48 14 Dtool_ayClKZwc 0 1 4 this 3 109
10 14 Dtool_ayClAqBt 0 7 13 109 57 14 Dtool_ayClAqBt 0 1 4 this 3 106
11 14 Dtool_ayClgOQz 0 7 19 111 0 14 Dtool_ayClgOQz 230 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::Constructor
// Access: Published
// Description:
//////////////////////////////////////////////////////////////////// 0
12 14 Dtool_ayClEoI_ 0 6 20 103 0 14 Dtool_ayClEoI_ 375 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::begin_record
// Access: Published
// Description: Begins recording data to the indicated filename. All
// of the recorders in use should already have been
// added.
//////////////////////////////////////////////////////////////////// 2 4 this 3 111 8 filename 1 112
13 14 Dtool_ayClD04q 0 6 21 103 0 14 Dtool_ayClD04q 661 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::begin_playback
// Access: Published
// Description: Begins playing back data from the indicated filename.
// All of the recorders in use should already have been
// added, although this may define additional recorders
// if they are present in the file (these new recorders
// will not be used). This may also undefine recorders
// that were previously added but are not present in the
// file.
//////////////////////////////////////////////////////////////////// 2 4 this 3 111 8 filename 1 112
14 14 Dtool_ayCl3TyG 0 4 22 115 0 14 Dtool_ayCl3TyG 275 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::close
// Access: Published
// Description: Finishes recording data to the indicated filename.
//////////////////////////////////////////////////////////////////// 1 4 this 3 111
15 14 Dtool_ayCl7lBc 0 6 23 118 0 14 Dtool_ayCl7lBc 912 // Filename: recorderController.I
// Created by: drose (24Jan04)
//
////////////////////////////////////////////////////////////////////
//
// 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: RecorderController::get_start_time
// Access: Published
// Description: Returns the time (and date) at which the current
// session was originally recorded (or, in recording
// mode, the time at which the current session began).
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
16 14 Dtool_ayClEIcS 0 4 24 115 0 14 Dtool_ayClEIcS 472 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::set_random_seed
// Access: Published
// Description: Indicates an arbitrary number to be recorded in the
// session file as a random seed, should the application
// wish to take advantage of it. This must be set
// before begin_record() is called.
//////////////////////////////////////////////////////////////////// 2 4 this 3 111 11 random_seed 1 119
17 14 Dtool_ayClzhjD 0 6 25 119 0 14 Dtool_ayClzhjD 444 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_random_seed
// Access: Published
// Description: Returns the random seed that was set by a previous
// call to set_random_seed(), or the number read from
// the session file after begin_playback() has been
// called.
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
18 14 Dtool_ayCl3xMb 0 6 26 103 0 14 Dtool_ayCl3xMb 324 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::is_recording
// Access: Published
// Description: Returns true if the controller has been opened for
// output, false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
19 14 Dtool_ayClBF0E 0 6 27 103 0 14 Dtool_ayClBF0E 321 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::is_playing
// Access: Published
// Description: Returns true if the controller has been opened for
// input, false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
20 14 Dtool_ayCl7Ejw 0 6 28 103 0 14 Dtool_ayCl7Ejw 335 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::is_open
// Access: Published
// Description: Returns true if the controller has been opened for
// either input or output, false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
21 14 Dtool_ayClE6J_ 0 6 29 112 0 14 Dtool_ayClE6J_ 348 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_filename
// Access: Published
// Description: Returns the filename that was passed to the most
// recent call to begin_record() or begin_playback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
22 14 Dtool_ayClm_or 0 6 30 103 0 14 Dtool_ayClm_or 453 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::is_error
// Access: Published
// Description: Returns true if the controller has been opened for
// input or output output and there is an error on the
// stream, or false if the controller is closed or if
// there is no problem.
//////////////////////////////////////////////////////////////////// 1 4 this 3 111
23 14 Dtool_ayClN6bw 0 6 31 120 0 14 Dtool_ayClN6bw 456 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_clock_offset
// Access: Published
// Description: Returns the delta offset between the actual frame
// time and the frame time written to the log. This is
// essentially the time at which the recording (or
// playback) started.
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
24 14 Dtool_ayClyEgj 0 6 32 119 0 14 Dtool_ayClyEgj 466 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_frame_offset
// Access: Published
// Description: Returns the delta offset between the actual frame
// count and the frame count written to the log. This is
// essentially the frame number at which the recording
// (or playback) started.
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
25 14 Dtool_ayClAnOD 0 4 33 115 0 14 Dtool_ayClAnOD 654 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::add_recorder
// Access: Published
// Description: Adds the named recorder to the set of recorders that
// are in use.
//
// If the controller is in recording mode, the named
// recorder will begin recording its status to the
// session file. If the controller is in playback mode
// and the name and type matches a recorder in the
// session file, the recorder will begin receiving data.
//////////////////////////////////////////////////////////////////// 3 4 this 3 111 4 name 1 108 8 recorder 1 106
26 14 Dtool_ayClSl_W 0 6 34 103 0 14 Dtool_ayClSl_W 643 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::has_recorder
// Access: Published
// Description: Returns true if the named recorder has been added to
// the table by a previous call to add_recorder(), false
// otherwise.
//
// If the controller is in playback mode, this will also
// return false for a recorder that was found in the
// session file but was never explicitly added via
// add_recorder(); see get_recorder().
//////////////////////////////////////////////////////////////////// 2 4 this 3 116 4 name 1 108
27 14 Dtool_ayClNjK2 0 7 35 106 48 14 Dtool_ayClNjK2 714 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_recorder
// Access: Published
// Description: Returns the recorder with the indicated name, or NULL
// if there is no such recorder.
//
// If the controller is in playback mode, this may
// return the recorder matching the indicated name as
// read from the session file, even if it was never
// added to the table by the user. In this case,
// has_recorder() may return false, but get_recorder()
// will return a non-NULL value.
//////////////////////////////////////////////////////////////////// 2 4 this 3 116 4 name 1 108
28 14 Dtool_ayClcpvX 0 6 36 103 0 14 Dtool_ayClcpvX 822 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::remove_recorder
// Access: Published
// Description: Removes the named recorder from the table. Returns
// true if successful, false if there was no such
// recorder.
//
// If the controller is in recording mode, the named
// recorder will stop recording. If the controller is
// in playback mode, the named recorder will
// disassociate itself from the session file (but if the
// session file still has data for this name, a default
// recorder will take its place to decode the data from
// the session file).
//////////////////////////////////////////////////////////////////// 2 4 this 3 111 4 name 1 108
29 14 Dtool_ayClsgOd 0 4 37 115 0 14 Dtool_ayClsgOd 895 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::set_frame_tie
// Access: Published
// Description: Sets the frame_tie flag.
//
// When this is true, sessions are played back
// frame-for-frame, based on the frame count of the
// recorded session. This gives the most accurate
// playback, but the playback rate will vary according
// to the frame rate of the playback machine.
//
// When this is false, sessions are played back at real
// time, based on the clock of the recorded session.
// This may introduce playback discrepencies if the
// frames do not fall at exactly the same times as they
// did in the original.
//////////////////////////////////////////////////////////////////// 2 4 this 3 111 9 frame_tie 1 103
30 14 Dtool_ayClzYut 0 6 38 103 0 14 Dtool_ayClzYut 253 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::get_frame_tie
// Access: Published
// Description: See set_frame_tie().
//////////////////////////////////////////////////////////////////// 1 4 this 3 116
31 14 Dtool_ayClDD1N 0 4 39 115 0 14 Dtool_ayClDD1N 341 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::record_frame
// Access: Published
// Description: Gets the next frame of data from all of the active
// recorders and adds it to the output file.
//////////////////////////////////////////////////////////////////// 1 4 this 3 111
32 14 Dtool_ayClcjvm 0 4 40 115 0 14 Dtool_ayClcjvm 339 ////////////////////////////////////////////////////////////////////
// Function: RecorderController::play_frame
// Access: Published
// Description: Gets the next frame of data from all of the active
// recorders and adds it to the output file.
//////////////////////////////////////////////////////////////////// 1 4 this 3 111
33 14 Dtool_ayClnwuH 0 7 41 105 0 14 Dtool_ayClnwuH 0 0
34 14 Dtool_ayCl4hpl 0 7 43 121 48 14 Dtool_ayCl4hpl 728 // Filename: socketStreamRecorder.I
// Created by: drose (28Jan04)
//
////////////////////////////////////////////////////////////////////
//
// 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: SocketStreamRecorder::Constructor
// Access: Published
// Description:
//////////////////////////////////////////////////////////////////// 0
35 14 Dtool_ayClsab4 0 7 43 121 48 14 Dtool_ayClsab4 232 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::Constructor
// Access: Published
// Description:
//////////////////////////////////////////////////////////////////// 2 6 stream 1 122 11 owns_stream 1 103
36 14 Dtool_ayCl4uRL 0 6 44 103 0 14 Dtool_ayCl4uRL 536 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::receive_datagram
// Access: Public
// 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 121 2 dg 1 124
37 14 Dtool_ayCl9r0L 0 6 45 103 0 14 Dtool_ayCl9r0L 266 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::send_datagram
// Access: Public
// Description: See SocketStream::send_datagram().
//////////////////////////////////////////////////////////////////// 2 4 this 3 121 2 dg 1 126
38 14 Dtool_ayCl5XJQ 0 6 46 103 0 14 Dtool_ayCl5XJQ 261 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::is_closed
// Access: Published
// Description: See SocketStream::is_closed().
//////////////////////////////////////////////////////////////////// 1 4 this 3 121
39 14 Dtool_ayCl2w02 0 4 47 115 0 14 Dtool_ayCl2w02 253 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::close
// Access: Published
// Description: See SocketStream::close().
//////////////////////////////////////////////////////////////////// 1 4 this 3 121
40 14 Dtool_ayClhdjA 0 4 48 115 0 14 Dtool_ayClhdjA 273 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::set_collect_tcp
// Access: Published
// Description: See SocketStream::set_collect_tcp().
//////////////////////////////////////////////////////////////////// 2 4 this 3 121 11 collect_tcp 1 103
41 14 Dtool_ayClg_ig 0 6 49 103 0 14 Dtool_ayClg_ig 273 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::get_collect_tcp
// Access: Published
// Description: See SocketStream::get_collect_tcp().
//////////////////////////////////////////////////////////////////// 1 4 this 3 128
42 14 Dtool_ayClvs9Y 0 4 50 115 0 14 Dtool_ayClvs9Y 291 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::set_collect_tcp_interval
// Access: Published
// Description: See SocketStream::set_collect_tcp_interval().
//////////////////////////////////////////////////////////////////// 2 4 this 3 121 8 interval 1 120
43 14 Dtool_ayCls4oX 0 6 51 120 0 14 Dtool_ayCls4oX 291 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::get_collect_tcp_interval
// Access: Published
// Description: See SocketStream::get_collect_tcp_interval().
//////////////////////////////////////////////////////////////////// 1 4 this 3 128
44 14 Dtool_ayClHOJb 0 6 52 103 0 14 Dtool_ayClHOJb 270 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::consider_flush
// Access: Published
// Description: See SocketStream::consider_flush()
//////////////////////////////////////////////////////////////////// 1 4 this 3 121
45 14 Dtool_ayCl8T3a 0 6 53 103 0 14 Dtool_ayCl8T3a 252 ////////////////////////////////////////////////////////////////////
// Function: SocketStreamRecorder::flush
// Access: Published
// Description: See SocketStream::flush()
//////////////////////////////////////////////////////////////////// 1 4 this 3 121
46 14 Dtool_ayCltYL0 0 7 54 105 0 14 Dtool_ayCltYL0 0 0
36
94 12 RecorderBase 0 26625 12 RecorderBase 12 RecorderBase 0 0 0 0 48 0 3 49 50 51 0 0 1 5 95 47 0 0 0 1274
////////////////////////////////////////////////////////////////////
// Class : RecorderBase
// Description : This is the base class to a number of objects that
// record particular kinds of user input (like a
// MouseRecorder) to use in conjunction with a
// RecorderController to record the user's inputs
// for a session.
//
// Note that RecorderBase does not actually inherit from
// TypedObject, even though it defines get_type(). The
// assumption is that the classes that derive from
// RecorderBase might also inherit independently from
// TypedObject.
//
// It also does not inherit from TypedWritable, but it
// defines a method called write_recorder() which is
// very similar to a TypedWritable's write_datagram().
// Classes that derive from RecorderBase and also
// inherit from TypedWritable may choose to remap
// write_recorder() to do exactly the same thing as
// write_datagram(), or they may choose to write
// something slightly different.
////////////////////////////////////////////////////////////////////
95 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.
////////////////////////////////////////////////////////////////////
96 13 MouseRecorder 0 26625 13 MouseRecorder 13 MouseRecorder 0 0 0 1 56 57 0 1 58 0 0 2 3 97 52 53 3 94 54 55 0 0 626
////////////////////////////////////////////////////////////////////
// Class : MouseRecorder
// Description : This object records any data generated by a
// particular MouseAndKeyboard node on the datagraph for
// a session for eventual playback via a
// DataGraphPlayback (and a PlaybackController). To use
// it, make it a child of the node you wish to record.
// It also serves as a pass-through, so that additional
// child nodes may be parented directly to it.
////////////////////////////////////////////////////////////////////
97 8 DataNode 0 2049 8 DataNode 8 DataNode 0 0 0 0 0 0 0 0 0 0 0 0 695
////////////////////////////////////////////////////////////////////
// Class : DataNode
// Description : The fundamental type of node for the data graph. The
// DataNode class is itself primarily intended as an
// abstract class; it defines no inputs and no outputs.
// Most kinds of data nodes will derive from this to
// specify the inputs and outputs in the constructor.
//
// DataNode does not attempt to cycle its data with a
// PipelineCycler. The data graph is intended to be
// used only within a single thread.
////////////////////////////////////////////////////////////////////
98 18 RecorderController 0 75777 18 RecorderController 18 RecorderController 0 0 0 1 59 0 0 22 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 0 0 1 0 99 0 0 0 0 353
////////////////////////////////////////////////////////////////////
// Class : RecorderController
// Description : This object manages the process of recording the
// user's runtime inputs to a bam file so that the
// session can be recreated later.
////////////////////////////////////////////////////////////////////
99 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.
////////////////////////////////////////////////////////////////////
100 20 SocketStreamRecorder 0 75777 20 SocketStreamRecorder 20 SocketStreamRecorder 0 0 0 1 82 48 0 11 83 84 85 86 87 88 89 90 91 92 93 0 0 1 0 94 0 0 0 0 622
////////////////////////////////////////////////////////////////////
// Class : SocketStreamRecorder
// Description : Records any data received from the indicated socket
// stream. On playback, it will act as if the incoming
// data is coming over the wire again even if an actual
// connection is not available.
//
// Outbound data will not be recorded, but will be sent
// straight through to the socket if it is connected, or
// silently ignored if it is not.
////////////////////////////////////////////////////////////////////
101 20 RecorderBase const * 0 8576 20 RecorderBase const * 20 RecorderBase const * 0 0 102 0 0 0 0 0 0 0 0 0 0
102 18 RecorderBase const 0 8832 18 RecorderBase const 18 RecorderBase const 0 0 94 0 0 0 0 0 0 0 0 0 0
103 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
104 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.
////////////////////////////////////////////////////////////////////
105 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 104 0 0 0 0 0 0 0 0 0 0
106 14 RecorderBase * 0 8576 14 RecorderBase * 14 RecorderBase * 0 0 94 0 0 0 0 0 0 0 0 0 0
107 16 ReferenceCount * 0 8576 16 ReferenceCount * 16 ReferenceCount * 0 0 95 0 0 0 0 0 0 0 0 0 0
108 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
109 15 MouseRecorder * 0 8576 15 MouseRecorder * 15 MouseRecorder * 0 0 96 0 0 0 0 0 0 0 0 0 0
110 10 DataNode * 0 8576 10 DataNode * 10 DataNode * 0 0 97 0 0 0 0 0 0 0 0 0 0
111 20 RecorderController * 0 8576 20 RecorderController * 20 RecorderController * 0 0 98 0 0 0 0 0 0 0 0 0 0
112 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 113 0 0 0 0 0 0 0 0 0 0
113 14 Filename const 0 8832 14 Filename const 14 Filename const 0 0 114 0 0 0 0 0 0 0 0 0 0
114 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.
////////////////////////////////////////////////////////////////////
115 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
116 26 RecorderController const * 0 8576 26 RecorderController const * 26 RecorderController const * 0 0 117 0 0 0 0 0 0 0 0 0 0
117 24 RecorderController const 0 8832 24 RecorderController const 24 RecorderController const 0 0 98 0 0 0 0 0 0 0 0 0 0
118 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0
119 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
120 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0
121 22 SocketStreamRecorder * 0 8576 22 SocketStreamRecorder * 22 SocketStreamRecorder * 0 0 100 0 0 0 0 0 0 0 0 0 0
122 14 SocketStream * 0 8576 14 SocketStream * 14 SocketStream * 0 0 123 0 0 0 0 0 0 0 0 0 0
123 12 SocketStream 0 2048 12 SocketStream 12 SocketStream 0 0 0 0 0 0 0 0 0 0 0 0 285
////////////////////////////////////////////////////////////////////
// Class : SocketStream
// Description : A base class for iostreams that read and write to a
// (possibly non-blocking) socket.
////////////////////////////////////////////////////////////////////
124 10 Datagram * 0 8576 10 Datagram * 10 Datagram * 0 0 125 0 0 0 0 0 0 0 0 0 0
125 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.
////////////////////////////////////////////////////////////////////
126 16 Datagram const * 0 8576 16 Datagram const * 16 Datagram const * 0 0 127 0 0 0 0 0 0 0 0 0 0
127 14 Datagram const 0 8832 14 Datagram const 14 Datagram const 0 0 125 0 0 0 0 0 0 0 0 0 0
128 28 SocketStreamRecorder const * 0 8576 28 SocketStreamRecorder const * 28 SocketStreamRecorder const * 0 0 129 0 0 0 0 0 0 0 0 0 0
129 26 SocketStreamRecorder const 0 8832 26 SocketStreamRecorder const 26 SocketStreamRecorder const 0 0 100 0 0 0 0 0 0 0 0 0 0
0
0
0