Skip to content
Snippets Groups Projects
Commit a12483b0 authored by rswindell's avatar rswindell
Browse files

Added support for special Synchronet NT Service control codes:

MUTE, UNMUTE, SYSOP_AVAILABLE, and SYSOP_UNAVAILABLE
(used to toggle these option bits from sbbsctrl).
Bugfix: web and services servers can now be muted/unmuted via sbbsctrl.
parent 59e340a2
No related branches found
No related tags found
No related merge requests found
......@@ -2641,8 +2641,6 @@ void __fastcall TMainForm::ViewStatusBarMenuItemClick(TObject *Sender)
ViewStatusBarMenuItem->Checked=StatusBar->Visible;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::HelpAboutMenuItemClick(TObject *Sender)
{
Application->CreateForm(__classid(TAboutBoxForm), &AboutBoxForm);
......@@ -2650,26 +2648,39 @@ void __fastcall TMainForm::HelpAboutMenuItemClick(TObject *Sender)
delete AboutBoxForm;
}
//---------------------------------------------------------------------------
BOOL MuteService(SC_HANDLE svc, SERVICE_STATUS* status, BOOL mute)
{
if(svc==NULL || controlService==NULL)
return(FALSE);
return controlService(svc
,mute ? SERVICE_CONTROL_MUTE:SERVICE_CONTROL_UNMUTE, status);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SoundToggleExecute(TObject *Sender)
{
SoundToggle->Checked=!SoundToggle->Checked;
if(!SoundToggle->Checked) {
bbs_startup.options|=BBS_OPT_MUTE;
ftp_startup.options|=FTP_OPT_MUTE;
web_startup.options|=FTP_OPT_MUTE;
mail_startup.options|=MAIL_OPT_MUTE;
services_startup.options|=MAIL_OPT_MUTE;
} else {
bbs_startup.options&=~BBS_OPT_MUTE;
ftp_startup.options&=~FTP_OPT_MUTE;
web_startup.options&=~FTP_OPT_MUTE;
mail_startup.options&=~MAIL_OPT_MUTE;
services_startup.options&=~MAIL_OPT_MUTE;
}
MuteService(bbs_svc,&bbs_svc_status,!SoundToggle->Checked);
MuteService(ftp_svc,&ftp_svc_status,!SoundToggle->Checked);
MuteService(web_svc,&web_svc_status,!SoundToggle->Checked);
MuteService(mail_svc,&mail_svc_status,!SoundToggle->Checked);
MuteService(services_svc,&services_svc_status,!SoundToggle->Checked);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::BBSStatisticsLogMenuItemClick(TObject *Sender)
{
StatsForm->LogButtonClick(Sender);
......@@ -2839,6 +2850,10 @@ void __fastcall TMainForm::ChatToggleExecute(TObject *Sender)
else
bbs_startup.options&=~BBS_OPT_SYSOP_AVAILABLE;
if(bbs_svc!=NULL && controlService!=NULL)
controlService(bbs_svc
,ChatToggle->Checked ? SERVICE_CONTROL_SYSOP_AVAILABLE : SERVICE_CONTROL_SYSOP_UNAVAILABLE
,&bbs_svc_status);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::UserEditExecute(TObject *Sender)
......@@ -3147,11 +3162,12 @@ void __fastcall TMainForm::UserTruncateMenuItemClick(TObject *Sender)
BOOL RecycleService(SC_HANDLE svc, SERVICE_STATUS* status)
{
if(controlService==NULL)
if(svc==NULL || controlService==NULL)
return(FALSE);
return controlService(svc, SERVICE_CONTROL_RECYCLE, status);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::MailRecycleExecute(TObject *Sender)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment