mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
callbacks working
This commit is contained in:
parent
aee00fc3de
commit
7b8edf65b4
@ -396,7 +396,8 @@ extract_archive() {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
void P3DPackage::
|
void P3DPackage::
|
||||||
report_done(bool success) {
|
report_done(bool success) {
|
||||||
cerr << "report_done(" << success << ")\n";
|
cerr << "report_done(" << success << "), "
|
||||||
|
<< _callbacks.size() << " callbacks\n";
|
||||||
if (success) {
|
if (success) {
|
||||||
_ready = true;
|
_ready = true;
|
||||||
_failed = false;
|
_failed = false;
|
||||||
@ -503,6 +504,15 @@ stream_hex(ostream &out, const unsigned char *source, size_t size) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: P3DPackage::Callback::package_ready
|
||||||
|
// Access: Public
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void P3DPackage::Callback::
|
||||||
|
package_ready(P3DPackage *package, bool success) {
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: P3DPackage::Download::Constructor
|
// Function: P3DPackage::Download::Constructor
|
||||||
// Access: Public
|
// Access: Public
|
||||||
|
@ -141,7 +141,7 @@ start_instance(P3DInstance *inst) {
|
|||||||
start_p3dpython();
|
start_p3dpython();
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, set a callback, so we'll know when it is ready.
|
// Otherwise, set a callback, so we'll know when it is ready.
|
||||||
if (_panda3d_callback != NULL) {
|
if (_panda3d_callback == NULL) {
|
||||||
_panda3d_callback = new PackageCallback(this);
|
_panda3d_callback = new PackageCallback(this);
|
||||||
_panda3d->set_callback(_panda3d_callback);
|
_panda3d->set_callback(_panda3d_callback);
|
||||||
}
|
}
|
||||||
@ -635,7 +635,8 @@ posix_create_process(const string &program, const string &start_dir,
|
|||||||
// Description:
|
// Description:
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
P3DSession::PackageCallback::
|
P3DSession::PackageCallback::
|
||||||
PackageCallback(P3DSession *session) {
|
PackageCallback(P3DSession *session) : _session(session)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -645,5 +646,15 @@ PackageCallback(P3DSession *session) {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
void P3DSession::PackageCallback::
|
void P3DSession::PackageCallback::
|
||||||
package_ready(P3DPackage *package, bool success) {
|
package_ready(P3DPackage *package, bool success) {
|
||||||
|
if (this == _session->_panda3d_callback) {
|
||||||
|
_session->_panda3d_callback = NULL;
|
||||||
|
if (package == _session->_panda3d) {
|
||||||
|
_session->start_p3dpython();
|
||||||
|
} else {
|
||||||
|
cerr << "Unexpected panda3d package: " << package << "\n";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cerr << "Unexpected callback for P3DSession\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user