1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
/*
* Generated with the GUSIConfig application and then hand-modified by jack.
*/
#define GUSI_SOURCE
#include <GUSIConfig.h>
#include <sys/cdefs.h>
#include <Resources.h>
#include "Python.h"
#include "macglue.h"
#include "pythonresources.h"
static void
PyMac_GUSISpin(bool wait)
{
static Boolean inForeground = true;
int maxsleep = 6; /* 6 ticks is "normal" sleeptime */
if (PyMac_ConsoleIsDead) return;
if ( !wait )
maxsleep = 0;
PyMac_DoYield(maxsleep, 0); /* XXXX or is it safe to call python here? */
}
/* Declarations of Socket Factories */
__BEGIN_DECLS
void GUSIwithInetSockets();
void GUSIwithLocalSockets();
void GUSIwithMTInetSockets();
void GUSIwithMTTcpSockets();
void GUSIwithMTUdpSockets();
void GUSIwithOTInetSockets();
void GUSIwithOTTcpSockets();
void GUSIwithOTUdpSockets();
void GUSIwithPPCSockets();
void GUSISetupFactories();
__END_DECLS
/* Configure Socket Factories */
void GUSISetupFactories()
{
#ifdef GUSISetupFactories_BeginHook
GUSISetupFactories_BeginHook
#endif
GUSIwithInetSockets();
#ifdef GUSISetupFactories_EndHook
GUSISetupFactories_EndHook
#endif
}
/* Declarations of File Devices */
__BEGIN_DECLS
void GUSIwithDConSockets();
void GUSIwithNullSockets();
void GUSISetupDevices();
__END_DECLS
/* Configure File Devices */
void GUSISetupDevices()
{
#ifdef GUSISetupDevices_BeginHook
GUSISetupDevices_BeginHook
#endif
#ifdef GUSISetupDevices_EndHook
GUSISetupDevices_EndHook
#endif
}
#ifndef __cplusplus
#error GUSISetupConfig() needs to be written in C++
#endif
GUSIConfiguration::FileSuffix sSuffices[] = {
"", '????', '????'
};
extern "C" void GUSISetupConfig()
{
Handle h;
short oldrh, prefrh = -1;
short resource_id = GUSIConfiguration::kNoResource;
oldrh = CurResFile();
/* Try override from the application resource fork */
UseResFile(PyMac_AppRefNum);
h = Get1Resource('GU\267I', GUSIOPTIONSOVERRIDE_ID);
if ( h ) {
resource_id = GUSIOPTIONSOVERRIDE_ID;
} else {
/* Next try normal resource from preference file */
UseResFile(oldrh);
prefrh = PyMac_OpenPrefFile();
h = Get1Resource('GU\267I', GUSIOPTIONS_ID);
if ( h ) {
resource_id = GUSIOPTIONS_ID;
} else {
/* Finally try normal resource from application */
if ( prefrh != -1 ) {
CloseResFile(prefrh);
prefrh = -1;
}
resource_id = GUSIOPTIONS_ID;
}
}
/* Now we have the right resource file topmost and the id. Init GUSI. */
GUSIConfiguration * config =
GUSIConfiguration::CreateInstance(resource_id);
/* Finally restore the old resource file */
if ( prefrh != -1) CloseResFile(prefrh);
UseResFile(oldrh);
config->ConfigureDefaultTypeCreator('TEXT', 'R*ch');
#if 0
config->ConfigureSuffices(
sizeof(sSuffices)/sizeof(GUSIConfiguration::FileSuffix)-1, sSuffices);
#endif
config->ConfigureAutoInitGraf(false);
config->ConfigureAutoSpin(false);
config->ConfigureHandleAppleEvents(false);
config->ConfigureSigInt(false);
config->ConfigureSigPipe(true);
GUSISetHook(GUSI_SpinHook, (GUSIHook)PyMac_GUSISpin);
}
/**************** END GUSI CONFIGURATION *************************/
|