home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 October
/
Chip_1997-10_cd.bin
/
tema
/
sybase
/
powerj
/
hpp.z
/
WOLEPARM.HPP
< prev
next >
Wrap
C/C++ Source or Header
|
1996-10-18
|
3KB
|
101 lines
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (C) 1994, by WATCOM International Inc. All rights %
% reserved. No part of this software may be reproduced or %
% used in any form or by any means - graphic, electronic or %
% mechanical, including photocopying, recording, taping or %
% information storage and retrieval systems - except with the %
% written permission of WATCOM International Inc. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
#ifndef _WOLEPARM_HPP_INCLUDED
#define _WOLEPARM_HPP_INCLUDED
#ifndef _WNO_PRAGMA_PUSH
#pragma pack(push,8);
#pragma enum int;
#endif
#ifndef _WOLEAUTO_HPP_INCLUDED
# include "woleauto.hpp"
#endif
#ifndef _WSTRING_HPP_INCLUDED
# include "wstring.hpp"
#endif
#define WOLE_NUM_POSITIONAL 32
#define WOLE_NUM_NAMED 16
class WCMCLASS WOleParmList {
public:
/**********************************************************
* Constructors and Destructors
*********************************************************/
WOleParmList( void );
WOleParmList( const WOleParmList & parmList );
virtual ~WOleParmList();
public:
/**************************************************************
* Properties
**************************************************************/
// ParmCount
WBool SetParmCount( WInt count );
WInt GetParmCount() const;
WUInt GetNumPositional( void ) const;
WUInt GetNumNamed( void ) const;
WVariant * const GetPositionalParams( void ) const;
WVariant * const GetNamedParams( void ) const;
const WString * const GetNames( void ) const;
/**************************************************************
* Methods
**************************************************************/
WBool Add( const WString & name, const WVariant & parm );
WBool Add( const WUInt pos, const WVariant & parm );
/**************************************************************
* Internal Methods
**************************************************************/
protected:
WBool expandVList( WVariant * & src, WUInt & srcCount, WUInt min );
WBool expandNames( WUInt newCount, WUInt oldCount );
WBool expandPositional( WUInt min );
WBool expandNamed( WUInt count );
/**********************************************************
* Data Members
*********************************************************/
protected:
WUInt _numPositionalParms;
WUInt _numNamedParms;
WVariant *_positionalParms;
WUInt _positionalCount;
WVariant *_namedParms;
WString *_names;
WUInt _namedCount;
WInt _parmCount;
};
#ifndef _WNO_PRAGMA_PUSH
#pragma enum pop;
#pragma pack(pop);
#endif
#endif // _WOLEPARM_HPP_INCLUDED