118 lines
3.2 KiB
C
118 lines
3.2 KiB
C
|
|
||
|
// ------------------------------------------------------------------
|
||
|
// GoldED+
|
||
|
// Copyright (C) 1990-1999 Odinn Sorensen
|
||
|
// Copyright (C) 1999-2000 Alexander S. Aganichev
|
||
|
// ------------------------------------------------------------------
|
||
|
// This program is free software; you can redistribute it and/or
|
||
|
// modify it under the terms of the GNU General Public License as
|
||
|
// published by the Free Software Foundation; either version 2 of the
|
||
|
// License, or (at your option) any later version.
|
||
|
//
|
||
|
// This program is distributed in the hope that it will be useful,
|
||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
// General Public License for more details.
|
||
|
//
|
||
|
// You should have received a copy of the GNU General Public License
|
||
|
// along with this program; if not, write to the Free Software
|
||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||
|
// MA 02111-1307 USA
|
||
|
// ------------------------------------------------------------------
|
||
|
// $Id$
|
||
|
// ------------------------------------------------------------------
|
||
|
// QWK Implementation Structures and Classes.
|
||
|
// ------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
// ------------------------------------------------------------------
|
||
|
|
||
|
struct QwkCfg {
|
||
|
Echo badmsgs;
|
||
|
Path exportpath;
|
||
|
Path importpath;
|
||
|
Path replylinker;
|
||
|
Path tosslog;
|
||
|
};
|
||
|
|
||
|
|
||
|
// ------------------------------------------------------------------
|
||
|
|
||
|
struct QwkMap {
|
||
|
char confname[21];
|
||
|
int confno;
|
||
|
Echo echoid;
|
||
|
};
|
||
|
|
||
|
|
||
|
// ------------------------------------------------------------------
|
||
|
|
||
|
struct QwkBbs {
|
||
|
char bbsid[9];
|
||
|
int kludges : 1; // TRUE if allowed to export kludges
|
||
|
int mixcase : 1; // TRUE if mixed case is allowed
|
||
|
int receipt : 1; // TRUE if return receipts are supported
|
||
|
int maxlines;
|
||
|
QwkMap* map;
|
||
|
int maps;
|
||
|
};
|
||
|
|
||
|
|
||
|
// ------------------------------------------------------------------
|
||
|
|
||
|
class Qwk {
|
||
|
|
||
|
QwkCfg cfg; // Global QWK configuration
|
||
|
QwkBbs* bbs; // Collection of BBS data
|
||
|
int bbss; // Number of BBS'es stored
|
||
|
QwkBbs* bbsp; // Pointer to current BBS
|
||
|
int bbsn; // Number of current BBS
|
||
|
QwkMap* mapp; // Pointer to current conference map
|
||
|
int mapn; // Number of current conference map
|
||
|
|
||
|
public:
|
||
|
|
||
|
Qwk();
|
||
|
~Qwk();
|
||
|
|
||
|
void Reset();
|
||
|
|
||
|
void AddBBS(char* bbsid);
|
||
|
void AddMap(char* bbsid, char* echoid, char* confname, int confno=-1);
|
||
|
|
||
|
int FindBBS(char* bbsid);
|
||
|
void FindAddBBS(char* bbsid);
|
||
|
int FoundBBS() { return !!bbsp; }
|
||
|
int FirstBBS();
|
||
|
int NextBBS();
|
||
|
|
||
|
int FindConf(char* echoid);
|
||
|
int FindEcho(char* confname);
|
||
|
int FindEcho(int confno);
|
||
|
int FoundConf() { return !!mapp; }
|
||
|
int FirstConf();
|
||
|
int NextConf();
|
||
|
|
||
|
const char* BbsID();
|
||
|
const char* ConfName();
|
||
|
int ConfNo(int set=-2);
|
||
|
const char* EchoID();
|
||
|
|
||
|
int KludgesAllowed(int set=-1);
|
||
|
int MixCaseAllowed(int set=-1);
|
||
|
int ReceiptAllowed(int set=-1);
|
||
|
int MaxLines(int set=-1);
|
||
|
|
||
|
void ResetConfNo(int set=-1);
|
||
|
|
||
|
char* BadMsgs(char* set=NULL);
|
||
|
char* ExportPath(char* set=NULL);
|
||
|
char* ImportPath(char* set=NULL);
|
||
|
char* ReplyLinker(char* set=NULL);
|
||
|
char* TossLog(char* set=NULL);
|
||
|
};
|
||
|
|
||
|
|
||
|
// ------------------------------------------------------------------
|
||
|
|