AFPBridge/afpcdev.rez

497 lines
14 KiB
Plaintext

#include "types.rez"
resource rVersion (1) {
{ 1,0,0,beta,1 },
verUS,
"AFP Mounter",
"By Stephen Heumann"
};
resource rComment (1) {
"The AFP Mounter control panel allows you to connect to "
"file servers using the Apple Filing Protocol (AFP) "
"over either AppleTalk or TCP/IP.\n"
"\n"
"Copyright 2017 Stephen Heumann\n"
"\n"
"This program contains material from the ORCA/C Run-Time Libraries, "
"copyright 1987-1996 by Byte Works, Inc. Used with permission."
};
resource rCDEVFlags (1) {
wantMachine+wantHit+wantClose+wantEvents+wantEdit+wantCreate,
1, /* enabled */
1, /* version */
1, /* min ROM version */
0, /* reserved */
{0, 0, 55, 320}, /* rectangle */
"AFP Mounter", /* name */
"Stephen Heumann", /* author */
"v1.0b1" /* version string */
};
read rCDevCode (0x1,convert,locked) "AFPMounter.obj";
resource rIcon (1) {
0x8000, /* color icon */
20, /* dimensions */
28,
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"F00000000FFFFFFFFFFFFFFFFFFF"
$"F0DDDDDD0FFFFFFFFFFFFFFFFFFF"
$"F0DDDDDD04FFFFFFFF4FFFFFFFFF"
$"F0DDDDDD04FFFFFFFF4F0FF000FF"
$"F0DDDDDD444FFFFF0444A0F0DD0F"
$"F0000000444FFFF0E4440A00DD0F"
$"FF0FFFF4F4F4FFF04E404AA0DD0F"
$"F000000404F4FFF04E404A00DD0F"
$"F0F4FF4F04FF4F04004004000000"
$"F000040004FFF44303433343330F"
$"4444444444444444444444444444"
$"3333333334333333334333333333"
$"4444444444444444444444444444"
$"FFFFFFFFF4FFFFFFFF4FFFFFFFFF"
$"FFFFFFFFF4FFFFFFFF4FFFFFFFFF"
$"FFFFFFFFF4FFFFFFFF4FFFFFFFFF"
$"FFFFFFFFF4FFFFFFFF4FFFFFFFFF",
$"0000000000000000000000000000"
$"0000000000000000000000000000"
$"0000000000000000000000000000"
$"0FFFFFFFF0000000000000000000"
$"0FFFFFFFF0000000000000000000"
$"0FFFFFFFFF00000000F000000000"
$"0FFFFFFFFF00000000F0F00FFF00"
$"0FFFFFFFFFF00000FFFFFF0FFFF0"
$"0FFFFFFFFFF0000FFFFFFFFFFFF0"
$"00FFFFFF0F0F000FFFFFFFFFFFF0"
$"0FFFFFFFFF0F000FFFFFFFFFFFF0"
$"0FFFFFFFFF00F0FFFFFFFFFFFFFF"
$"0FFFFFFFFF000FFFFFFFFFFFFFF0"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"000000000F00000000F000000000"
$"000000000F00000000F000000000"
$"000000000F00000000F000000000"
$"000000000F00000000F000000000"
};
#define cdevWindow 1000
#define helpWindow 2000
#define serverAddressTxt 2
#define urlLine 3
#define saveAliasBtn 4
#define connectBtn 1
#define optionsPopUp 6
#define trianglePic 7
#define helpTxt 5
#define saveFilePrompt 100
#define optionsMenu 300
#define afpOverTCPOptionsItem 301
#define useLargeReadsItem 302
#define forceAFP22Item 303
#define fakeSleepItem 304
#define useLargeWritesItem 305
#define ignoreErrorsSettingFileTypesItem 306
/*
* Controls in the control panel window (for 640 mode or 320 mode)
*/
resource rControlList (640) {
{
cdevWindow+serverAddressTxt,
cdevWindow+urlLine,
cdevWindow+saveAliasBtn,
cdevWindow+connectBtn,
cdevWindow+trianglePic,
cdevWindow+optionsPopUp
};
};
resource rControlList (320) {
{
cdevWindow+serverAddressTxt,
cdevWindow+urlLine,
cdevWindow+saveAliasBtn,
cdevWindow+connectBtn,
cdevWindow+trianglePic+320,
cdevWindow+optionsPopUp+320
};
};
resource rControlTemplate (cdevWindow+serverAddressTxt) {
serverAddressTxt, /* control ID */
{4, 10, 15, 270}, /* control rect */
statTextControl {{
fBlastText, /* flags */
$1000+RefIsResource, /* moreFlags */
0, /* refCon */
cdevWindow+serverAddressTxt /* title ref */
}};
};
resource rTextForLETextBox2 (cdevWindow+serverAddressTxt) {
"AFP Server Address:"
};
resource rControlTemplate (cdevWindow+urlLine) {
urlLine,
{15, 10, 28, 310},
editLineControl {{
0,
$7000+RefIsResource,
0,
255, /* max size */
cdevWindow+urlLine /* text ref */
}};
};
resource rPString (cdevWindow+urlLine) { "afp://" };
resource rControlTemplate (cdevWindow+saveAliasBtn) {
saveAliasBtn,
{35, 10, 0, 0},
SimpleButtonControl {{
NormalButton,
$1000+RefIsResource,
0,
cdevWindow+saveAliasBtn
}};
};
resource rPString(cdevWindow+saveAliasBtn) { "Save Alias..." };
resource rControlTemplate (cdevWindow+connectBtn) {
connectBtn,
{35, 220, 0, 0},
SimpleButtonControl {{
DefaultButton,
$3000+RefIsResource,
0,
cdevWindow+connectBtn,
0, /* color table ref */
{"\$0D","\$0D",0,0} /* key equivalent = Return */
}};
};
resource rPString(cdevWindow+connectBtn) { "Connect" };
/* Options menu pop-up -- separate versions for 640 mode and 320 mode */
resource rControlTemplate (cdevWindow+optionsPopUp) {
optionsPopUp,
{5, 282, 13, 310 },
PopUpControl {{
fDontDrawTitle+fDontDrawResult,
fCtlProcNotPtr+RefIsResource/*+fDrawPopDownIcon*/,
0,
0,
optionsMenu, /* menu ref */
afpOverTCPOptionsItem, /* initial value */
0
}};
};
resource rControlTemplate (cdevWindow+optionsPopUp+ 320) {
optionsPopUp,
{5, 296, 13, 310 },
PopUpControl {{
fDontDrawTitle+fDontDrawResult,
fCtlProcNotPtr+RefIsResource/*+fDrawPopDownIcon*/,
0,
0,
optionsMenu, /* menu ref */
afpOverTCPOptionsItem, /* initial value */
0
}};
};
/* Triangle to draw on options pop-up */
resource rControlTemplate (cdevWindow+trianglePic) {
trianglePic,
{7, 286, 11, 302},
PictureControl {{
CtlInactive,
fCtlProcNotPtr+RefIsResource,
0,
trianglePic /* picture reference */
}};
};
resource rControlTemplate (cdevWindow+trianglePic+320) {
trianglePic,
{7, 298, 0, 0},
PictureControl {{
CtlInactive,
fCtlProcNotPtr+RefIsResource,
0,
trianglePic /* picture reference */
}};
};
data rPicture (trianglePic) {
$"8000 0000 0000 0400 1000 1182 0100 0A00"
$"01C0 01C0 FF3F FF3F 9000 8000 0000 0400"
$"0000 0000 0400 1000 0000 0000 0400 1000"
$"0000 0000 0400 1000 0000 0000 0000 F000"
$"000F FF00 00FF FFF0 0FFF"
};
resource rMenu (optionsMenu) {
optionsMenu, /* menu ID */
refIsResource*menuTitleRefShift + refIsResource*itemRefShift,
optionsMenu, /* menu title ref (not drawn) */
{
afpOverTCPOptionsItem,
useLargeReadsItem,
useLargeWritesItem,
forceAFP22Item,
fakeSleepItem,
ignoreErrorsSettingFileTypesItem
};
};
resource rPString(optionsMenu,noCrossBank) { "" };
resource rMenuItem (afpOverTCPOptionsItem) {
afpOverTCPOptionsItem, /* menu item ID */
"","",
0,
fDisabled+refIsResource*itemTitleRefShift,
afpOverTCPOptionsItem /* menu item title ref */
};
resource rPString(afpOverTCPOptionsItem,noCrossBank) { "AFP Over TCP Options:" };
resource rMenuItem (useLargeReadsItem) {
useLargeReadsItem, /* menu item ID */
"","",
$12,
refIsResource*itemTitleRefShift,
useLargeReadsItem /* menu item title ref */
};
resource rPString(useLargeReadsItem,noCrossBank) { "Use Large Reads" };
resource rMenuItem (useLargeWritesItem) {
useLargeWritesItem, /* menu item ID */
"","",
0,
refIsResource*itemTitleRefShift,
useLargeWritesItem /* menu item title ref */
};
resource rPString(useLargeWritesItem,noCrossBank) { "Use Large Writes" };
resource rMenuItem (forceAFP22Item) {
forceAFP22Item, /* menu item ID */
"","",
0,
refIsResource*itemTitleRefShift,
forceAFP22Item /* menu item title ref */
};
resource rPString(forceAFP22Item,noCrossBank) { "Force AFP Version 2.2" };
resource rMenuItem (fakeSleepItem) {
fakeSleepItem, /* menu item ID */
"","",
0,
refIsResource*itemTitleRefShift,
fakeSleepItem /* menu item title ref */
};
resource rPString(fakeSleepItem,noCrossBank) { "Fake Sleep to Keep Alive" };
resource rMenuItem (ignoreErrorsSettingFileTypesItem) {
ignoreErrorsSettingFileTypesItem, /* menu item ID */
"","",
0,
refIsResource*itemTitleRefShift,
ignoreErrorsSettingFileTypesItem /* menu item title ref */
};
resource rPString(ignoreErrorsSettingFileTypesItem,noCrossBank) {
"Ignore Errors Setting File Types"
};
/*
* Controls in the help window
*/
resource rControlList (2) {
{
helpWindow+helpTxt
};
};
resource rControlTemplate (helpWindow+helpTxt) {
helpTxt,
{38, 5, 138, 280},
statTextControl {{
0, /* flags */
$1000+RefIsResource, /* moreFlags */
0, /* refCon */
helpWindow+helpTxt /* title ref */
}};
};
resource rTextForLETextBox2 (helpWindow+helpTxt) {
"The AFP Mounter control panel allows you to connect to "
"file servers using the Apple Filing Protocol (AFP) "
"over either AppleTalk or TCP/IP networks. "
"The server address can be specified by URLs "
"of the following forms:\n\$01X\$03\$00"
"afp://[user:password@]server[:port]/\n\$01X\$00\$00"
"volume (to connect using TCP/IP)\n\$01X\$03\$00"
"afp:/at/[user:password@]server:zone/\n\$01X\$00\$00"
"volume (to connect using AppleTalk)\n"
};
resource rPString(saveFilePrompt) { "Save server alias as:" };
/*
* Error messages
*/
#define fstMissingError 3000
#define noEasyMountError 3001
#define tempFileError 3002
#define aliasFileError 3003
#define tempFileNameError 3004
#define saveAliasError 3005
#define noAFPBridgeError 3006
#define noAFPBridgeWarning 3007
#define protoInvalidError 4000
#define noServerOrVolumeNameError 4001
#define serverNameTooLongError 4002
#define volumeNameTooLongError 4003
#define zoneTooLongError 4004
#define usernameTooLongError 4005
#define passwordTooLongError 4006
#define volpassTooLongError 4007
#define passwordWithoutUserError 4008
#define badUAMError 4009
resource rAlertString (fstMissingError) {
"72:"
"To use the AFP Mounter control panel, the AppleShare FST "
"and the AppleTalk-related system components it requires "
"must be installed and enabled."
":^#0\$00"
};
resource rAlertString (noEasyMountError) {
"72:"
"Communication with EasyMount failed.\n"
"\n"
"To use the AFP Mounter control panel, EasyMount must be "
"installed and enabled."
":^#0\$00"
};
resource rAlertString (protoInvalidError) {
"32:"
"The specified address is not a valid AFP URL."
":^#0\$00"
};
resource rAlertString (noServerOrVolumeNameError) {
"32:"
"Please specify at least a server and volume name in the AFP URL."
":^#0\$00"
};
resource rAlertString (serverNameTooLongError) {
"32:"
"The server name is too long (maximum 32 characters)."
":^#0\$00"
};
resource rAlertString (volumeNameTooLongError) {
"32:"
"The volume name is too long (maximum 27 characters)."
":^#0\$00"
};
resource rAlertString (zoneTooLongError) {
"32:"
"The zone name is too long (maximum 32 characters)."
":^#0\$00"
};
resource rAlertString (usernameTooLongError) {
"32:"
"The username is too long (maximum 31 characters)."
":^#0\$00"
};
resource rAlertString (passwordTooLongError) {
"32:"
"The password is too long (maximum 8 characters)."
":^#0\$00"
};
resource rAlertString (volpassTooLongError) {
"32:"
"The volume password is too long (maximum 8 characters)."
":^#0\$00"
};
resource rAlertString (passwordWithoutUserError) {
"42:"
"When a password is specified, a user name must also be given."
":^#0\$00"
};
resource rAlertString (badUAMError) {
"62:"
"The requested user authentication method is not supported "
"or cannot be used with the specified URL."
":^#0\$00"
};
resource rAlertString (tempFileError) {
"82:"
"There was an error writing the temporary file used by the "
"AFPMounter control panel. Please make sure the directory "
"containing the AFPMounter control panel is writable and "
"remove the AFPMounter.Temp file if it is present."
":^#0\$00"
};
resource rAlertString (aliasFileError) {
"32:"
"There was an error writing the alias file."
":^#0\$00"
};
resource rAlertString (tempFileNameError) {
"72:"
"There was an error while constructing the name for the "
"temporary file used by the AFPMounter control panel."
":^#0\$00"
};
resource rAlertString (saveAliasError) {
"42:"
"There was an error while attempting to save the alias file."
":^#0\$00"
};
resource rAlertString (noAFPBridgeError) {
"62:"
"To connect to AFP servers over TCP, AFPBridge and Marinetti "
"must be installed and enabled. Please install them and then "
"restart your system."
":^#0\$00"
};
resource rAlertString (noAFPBridgeWarning) {
"74:"
"To connect to AFP servers over TCP, AFPBridge and Marinetti "
"must be installed and enabled. You can continue to save an "
"alias now, but to connect to the server you will need to "
"install them and then restart your system."
":#1:^#6\$00"
};