mirror of
https://github.com/ksherlock/qserver.git
synced 2024-10-31 09:08:53 +00:00
cleanup resource fork opening.
This commit is contained in:
parent
382501f315
commit
66179fb91a
78
qserver.c
78
qserver.c
@ -29,6 +29,20 @@
|
|||||||
unsigned NDAStartUpTools(Word memID, StartStopRecord *ssRef);
|
unsigned NDAStartUpTools(Word memID, StartStopRecord *ssRef);
|
||||||
void NDAShutDownTools(StartStopRecord *ssRef);
|
void NDAShutDownTools(StartStopRecord *ssRef);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct NDAResourceCookie {
|
||||||
|
Word oldPrefs;
|
||||||
|
Word oldRApp;
|
||||||
|
Word resFileID;
|
||||||
|
} NDAResourceCookie;
|
||||||
|
|
||||||
|
void NDAResourceRestore(NDAResourceCookie *cookie);
|
||||||
|
void NDAResourceShutDown(NDAResourceCookie *cookie);
|
||||||
|
Word NDAResourceStartUp(Word memID, Word access, NDAResourceCookie *cookie);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Handle LoadQuote(word mID, Word rfile);
|
Handle LoadQuote(word mID, Word rfile);
|
||||||
|
|
||||||
Word LoadConfig(Word MemID);
|
Word LoadConfig(Word MemID);
|
||||||
@ -45,9 +59,9 @@ const char *ReqName = "\pTCP/IP~kelvin~qserver~";
|
|||||||
WindowPtr MyWindow;
|
WindowPtr MyWindow;
|
||||||
Boolean FlagTCP;
|
Boolean FlagTCP;
|
||||||
Boolean FlagQS;
|
Boolean FlagQS;
|
||||||
|
Boolean ToolsLoaded;
|
||||||
|
|
||||||
Word MyID;
|
Word MyID;
|
||||||
Word MyRID;
|
|
||||||
Word Ipid;
|
Word Ipid;
|
||||||
|
|
||||||
|
|
||||||
@ -459,54 +473,31 @@ static StartStopRecord ss = {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static NDAResourceCookie resInfo;
|
||||||
|
|
||||||
|
|
||||||
GrafPortPtr NDAOpen(void)
|
GrafPortPtr NDAOpen(void)
|
||||||
{
|
{
|
||||||
Boolean ok = true;
|
|
||||||
const char *err = NULL;
|
|
||||||
|
|
||||||
|
MyWindow = NULL;
|
||||||
|
|
||||||
|
if (!ToolsLoaded) {
|
||||||
if (NDAStartUpTools(MyID, &ss)) {
|
if (NDAStartUpTools(MyID, &ss)) {
|
||||||
NDAShutDownTools(&ss);
|
NDAShutDownTools(&ss);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
ToolsLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
LoadConfig(MyID);
|
|
||||||
|
|
||||||
// Check if Marinetti Active.
|
// Check if Marinetti Active.
|
||||||
FlagTCP = TCPIPGetConnectStatus();
|
FlagTCP = TCPIPGetConnectStatus();
|
||||||
|
|
||||||
|
|
||||||
if (ok)
|
if (NDAResourceStartUp(MyID, readEnable, &resInfo)) {
|
||||||
{
|
|
||||||
Pointer myPath;
|
|
||||||
Word oldLevel;
|
|
||||||
Word oldPrefs;
|
|
||||||
Word oldRApp;
|
|
||||||
LevelRecGS levelDCB;
|
|
||||||
SysPrefsRecGS prefsDCB;
|
|
||||||
Handle H;
|
|
||||||
|
|
||||||
// load our resource. -- see TN.iigs #71
|
LoadConfig(MyID);
|
||||||
oldRApp = GetCurResourceApp();
|
|
||||||
ResourceStartUp(MyID);
|
|
||||||
myPath = LGetPathname2(MyID, 1);
|
|
||||||
|
|
||||||
levelDCB.pCount = 2;
|
|
||||||
GetLevelGS(&levelDCB);
|
|
||||||
oldLevel = levelDCB.level;
|
|
||||||
levelDCB.level = 0;
|
|
||||||
SetLevelGS(&levelDCB);
|
|
||||||
|
|
||||||
prefsDCB.pCount = 1;
|
|
||||||
GetSysPrefsGS(&prefsDCB);
|
|
||||||
oldPrefs = prefsDCB.preferences;
|
|
||||||
prefsDCB.preferences = (prefsDCB.preferences & 0x1fff) | 0x8000;
|
|
||||||
SetSysPrefsGS(&prefsDCB);
|
|
||||||
|
|
||||||
MyRID = OpenResourceFile(readEnable, NULL, myPath);
|
|
||||||
|
|
||||||
//
|
|
||||||
MyWindow = NewWindow2(NULL, 0, DrawWindow, NULL,
|
MyWindow = NewWindow2(NULL, 0, DrawWindow, NULL,
|
||||||
refIsResource, rQSWindow, rWindParam1);
|
refIsResource, rQSWindow, rWindParam1);
|
||||||
|
|
||||||
@ -520,19 +511,10 @@ const char *err = NULL;
|
|||||||
ShowWindow(MyWindow);
|
ShowWindow(MyWindow);
|
||||||
SelectWindow(MyWindow);
|
SelectWindow(MyWindow);
|
||||||
|
|
||||||
//
|
|
||||||
prefsDCB.preferences = oldPrefs;
|
|
||||||
SetSysPrefsGS(&prefsDCB);
|
|
||||||
|
|
||||||
levelDCB.level = oldLevel;
|
|
||||||
SetLevelGS(&levelDCB);
|
|
||||||
|
|
||||||
SetCurResourceApp(oldRApp);
|
|
||||||
|
|
||||||
return MyWindow;
|
|
||||||
}
|
}
|
||||||
return NULL;
|
|
||||||
|
|
||||||
|
NDAResourceRestore(&resInfo);
|
||||||
|
return MyWindow;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NDAClose(void)
|
void NDAClose(void)
|
||||||
@ -541,12 +523,12 @@ void NDAClose(void)
|
|||||||
|
|
||||||
if (FlagQS) StopServer();
|
if (FlagQS) StopServer();
|
||||||
|
|
||||||
|
AcceptRequests(ReqName, MyID, NULL);
|
||||||
CloseWindow(MyWindow);
|
CloseWindow(MyWindow);
|
||||||
MyWindow = NULL;
|
MyWindow = NULL;
|
||||||
AcceptRequests(ReqName, MyID, NULL);
|
|
||||||
UnloadConfig();
|
UnloadConfig();
|
||||||
CloseResourceFile(MyRID);
|
NDAResourceShutDown(&resInfo);
|
||||||
ResourceShutDown();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NDAInit(Word code)
|
void NDAInit(Word code)
|
||||||
@ -556,14 +538,16 @@ void NDAInit(Word code)
|
|||||||
MyWindow = NULL;
|
MyWindow = NULL;
|
||||||
FlagTCP = false;
|
FlagTCP = false;
|
||||||
FlagQS = false;
|
FlagQS = false;
|
||||||
|
ToolsLoaded = false;
|
||||||
|
|
||||||
MyID = MMStartUp();
|
MyID = MMStartUp();
|
||||||
Ipid = 0;
|
Ipid = 0;
|
||||||
MyRID = 0;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (ToolsLoaded)
|
||||||
NDAShutDownTools(&ss);
|
NDAShutDownTools(&ss);
|
||||||
|
ToolsLoaded = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user