home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR9
/
WIZTOO.ZIP
/
CHNLSPEC.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-09-20
|
2KB
|
74 lines
#ifndef _chnspec_h_
#define _chnspec_h_
// Module: CHNSPEC.H
// September 20, 1993
// Fairfield, Iowa
// Aerosoft (R) Broadcast Channel Wizard Version 1.0
// Copyright (c) Aerosoft 1993 All rights reserved.
// This software source code is FREEWARE. You may be use the
// source code or redistribute the source code free of charge.
// However, you cannot sell this source code or any alteration of
// the source code.
// This module declares the classes ArgumentList and ChannelSpecs. See
// file BCWIZ.TXT for a discussion of the use of these classes.
#include "INSTREAM.H"
#define MAXARGS 50
#define DEFAULT_RETURN_TYPE "void"
#define DEFAULT_MAX_RECEIVERS "10"
#define DEFAULT_RETURN_DEFAULT "0"
typedef struct tagArgument
{
char *cpString;
int iLen;
} Argument;
class ArgumentList
{
InStream *opInStream;
public:
int iNumInList;
Argument oArgument[MAXARGS];
ArgumentList (InStream *opInStreamArg) {iNumInList=0;
opInStream=opInStreamArg;}
void Add (char *cp, int iLen);
int Empty (void) {return (iNumInList==0);}
};
typedef struct tagChannelSpec
{
char *cpReturnType;
char *cpFuncName;
char *cpProtoList;
char *cpArgList;
char *cpReturnDefaultValue;
char *cpMaxReceivers;
} ChannelSpec;
#define MAXCHANNELS 200
class ChannelSpecs
{
ChannelSpec *opCurrentSpec;
InStream *opInStream;
void SyntaxError (char *cpMsg);
char *ParseForward (int &iLen);
char *ParseNumber (int &iLen);
char *ParseBackward (int &iLen);
void MakeArgList (ArgumentList &oArgList);
public:
int iNumSpecs;
ChannelSpec oChannelSpec[MAXCHANNELS];
ChannelSpecs (void) {iNumSpecs=0;}
int GetNextChannelSpec(InStream &oInStream);
};
#endif