McoStatus PrinterType::Save(void) { int i; StandardFileReply soutReply; Str255 prompt; Str255 outname = "\p"; McoStatus status = MCO_SUCCESS; FileFormat *filef; int magic_num = PRINTERTYPE_MAGICNUM; int version = PRINTERTYPE_VERSION; GetIndString(prompt,PROMPT_STRINGS,SETTINGS_PROMPT); StandardPutFile(prompt, outname, &soutReply); if(!soutReply.sfGood) return MCO_CANCEL; filef = new FileFormat; status = filef->createFilewithtype(&soutReply.sfFile,soutReply.sfScript,MONACO_SIG,'MCO6'); if (status != MCO_SUCCESS) goto bail; status = filef->relWrite(sizeof(int),(char*)&magic_num); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(int),(char*)&version); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(ConData),(char*)&data); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(int),(char*)&num_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(double)*31,(char*)x_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(double)*31,(char*)y_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(int),(char*)&sim_num); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(int),(char*)&num_tweaks); if (status != MCO_SUCCESS) goto bailclose; for (i=0; i<num_tweaks; i++) { status = filef->relWrite(sizeof(Tweak_Element),(char*)tweaks[i]); if (status != MCO_SUCCESS) goto bailclose; } bailclose: filef->closeFile(); bail: delete filef; return status; }
McoStatus PrinterType::Load(FSSpec *fspec) { int i; McoStatus status = MCO_SUCCESS; FileFormat *filef; int magic_num; int version; filef = new FileFormat; status = filef->openFile(fspec); if (status != MCO_SUCCESS) goto bail; status = filef->relRead(sizeof(int),(char*)&magic_num); if (status != MCO_SUCCESS) goto bailclose; status = filef->relRead(sizeof(int),(char*)&version); if (status != MCO_SUCCESS) goto bailclose; if (version != PRINTERTYPE_VERSION) goto bailclose; status = filef->relRead(sizeof(ConData),(char*)&data); if (status != MCO_SUCCESS) goto bailclose; status = filef->relRead(sizeof(int),(char*)&num_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relRead(sizeof(double)*31,(char*)x_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relRead(sizeof(double)*31,(char*)y_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relRead(sizeof(int),(char*)&sim_num); if (status != MCO_SUCCESS) goto bailclose; status = filef->relRead(sizeof(int),(char*)&num_tweaks); if (status != MCO_SUCCESS) goto bailclose; for (i=0; i<num_tweaks; i++) { if (!tweaks[i]) tweaks[i] = new Tweak_Element(0L); if (!tweaks[i]) goto bailclose; status = filef->relRead(sizeof(Tweak_Element),(char*)tweaks[i]); if (status != MCO_SUCCESS) goto bailclose; } bailclose: filef->closeFile(); bail: delete filef; return status; }
McoStatus PrinterType::Save(FSSpec *fspec) { int i; McoStatus status = MCO_SUCCESS; FileFormat *filef; int magic_num = PRINTERTYPE_MAGICNUM; int version = PRINTERTYPE_VERSION; filef = new FileFormat; // status = filef->createFilewithtype(fspec,smSystemScript,'Mprn','MCO6'); // if (status != MCO_SUCCESS) goto bail; status = filef->openFile(fspec); if (status != MCO_SUCCESS) goto bail; status = filef->relWrite(sizeof(int),(char*)&magic_num); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(int),(char*)&version); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(ConData),(char*)&data); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(int),(char*)&num_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(double)*31,(char*)x_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(double)*31,(char*)y_hands); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(int),(char*)&sim_num); if (status != MCO_SUCCESS) goto bailclose; status = filef->relWrite(sizeof(int),(char*)&num_tweaks); if (status != MCO_SUCCESS) goto bailclose; for (i=0; i<num_tweaks; i++) { status = filef->relWrite(sizeof(Tweak_Element),(char*)tweaks[i]); if (status != MCO_SUCCESS) goto bailclose; } filef->setInfo(fspec,MONACO_SIG,'MCO6'); bailclose: filef->closeFile(); bail: delete filef; return status; }
Defaults::Defaults(void) { FileFormat *filef; FSSpec fspec; McoStatus status; int magic_num; int version; Str255 def = MONACO_DEFAULT; Str255 fold = MONACO_FOLDER; // set factory defaults printer_type = 1; input_type = DT_None; patch_format = 1; port = 1; // now try to load in the user defults filef = new FileFormat; ptocstr(def); ptocstr(fold); status = filef->openFilefromPref(&fspec,(char*)def,(char*)fold); if (status != MCO_SUCCESS) goto bail; status = filef->relRead(sizeof(int),(char*)&magic_num); if (status != MCO_SUCCESS) goto bail; if (magic_num != DEFAULTS_MAGIC_NUM) goto bail; status = filef->relRead(sizeof(int),(char*)&version); if (status != MCO_SUCCESS) goto bail; if (version > DEFAULTS_VERSION) goto bail; status = filef->relRead(sizeof(int),(char*)&printer_type); if (status != MCO_SUCCESS) goto bail; status = filef->relRead(sizeof(int),(char*)&input_type); if (status != MCO_SUCCESS) goto bail; status = filef->relRead(sizeof(int),(char*)&patch_format); if (status != MCO_SUCCESS) goto bail; status = filef->relRead(sizeof(int),(char*)&port); if (status != MCO_SUCCESS) goto bail; filef->closeFile(); bail: delete filef; }
Defaults::~Defaults(void) { FileFormat *filef; FSSpec fspec; McoStatus status; int magic_num = DEFAULTS_MAGIC_NUM; int version = DEFAULTS_VERSION; Str255 def = MONACO_DEFAULT; Str255 fold = MONACO_FOLDER; // now try to load in the user defults filef = new FileFormat; ptocstr(def); ptocstr(fold); status = filef->createFileinPref(&fspec,(char*)def,(char*)fold); if (status != MCO_SUCCESS) return; status = filef->openFile(&fspec); if (status != MCO_SUCCESS) return; status = filef->relWrite(sizeof(int),(char*)&magic_num); if (status != MCO_SUCCESS) return; status = filef->relWrite(sizeof(int),(char*)&version); if (status != MCO_SUCCESS) return; status = filef->relWrite(sizeof(int),(char*)&printer_type); if (status != MCO_SUCCESS) return; status = filef->relWrite(sizeof(int),(char*)&input_type); if (status != MCO_SUCCESS) return; status = filef->relWrite(sizeof(int),(char*)&patch_format); if (status != MCO_SUCCESS) return; status = filef->relWrite(sizeof(int),(char*)&port); if (status != MCO_SUCCESS) return; filef->setInfo(&fspec,MONACO_SIG,'MCO7'); filef->closeFile(); delete filef; }