Download Source Code

CParams Class Reference

Encapsulates functionality for saving and restoring function parameters. More...

#include <Params.h>

Inheritance diagram for CParams:

Inheritance graph
[legend]
Collaboration diagram for CParams:

Collaboration graph
[legend]
List of all members.

Public Member Functions

BOOL SetParam (LPPARAM pParam, void *ptr)
 Saves parameter data into data structure.
BOOL GetParam (LPPARAM pParam, void *ptr)
 Reads parameter data from data structure.
BOOL SetValue (HPARAM hParam, DWORD i, double v)
 Saves parameter data.
double GetValue (HPARAM hParam, DWORD i, double dDef=0)
 Returns parameter data.
BYTE GetParamType (LPCTSTR pType)
 Converts a type string into type code.
long double Convert (BYTE type, long double from)
 Converts one parameter type to another.
DWORD GetToken (LPSTR pToken, LPCTSTR pStr, BOOL bSpaceOk=FALSE)
 Returns a token from the specified buffer.
DWORD GetParam (LPCTSTR pList, LPSTR pType, LPSTR pSize, LPSTR pName, LPSTR pMin, LPSTR pMax, LPSTR pDef, LPSTR pStep)
 Converts a parameter declaration into its components.
BOOL Load (CCfgFile *pCfg)
 Loads parameters from a configuration file.
BOOL Save (CCfgFile *pCfg)
 Saves parameter information to a configuration file.
DWORD GetParamSize (BYTE type, DWORD size)
 Returns the parameter size in bytes.
HPARAM Add (DWORD function, LPCTSTR pParams)
 Adds a function to the list.
virtual void DeleteObject (void *node)
 Provides custom destruction of parameter structures.
void Init (BOOL bDestroy=TRUE)
 Initializes this class for use.
void Destroy ()
 Releases parameter list.
virtual DWORD GetObjSize ()
 Returns the size of the parameter item information structure.
 CParams ()
 Default constructor.
virtual ~CParams ()
 Destructor.
BOOL _cdecl SetParams (HPARAM hParam,...)
 Sets function parameter values.
BOOL _cdecl GetParams (HPARAM hParam,...)
 Gets function parameter values.
virtual DWORD Load (LPBYTE buf, DWORD size, BOOL bMerge=FALSE)
 Loads function parameter definitions from a memory buffer.
virtual DWORD Save (LPBYTE buf, DWORD size)
 Saves function parameter definitions into a memory buffer.
virtual DWORD Load (LPCTSTR pFile, BOOL bMerge=FALSE)
 Loads function parameter definitions from a disk file.
virtual DWORD Save (LPCTSTR pFile)
 Saves function parameter definitions into a disk file.
LPCTSTR GetName (HPARAM hParam, DWORD i)
 Returns a pointer to the name of the parameter.
double GetMin (HPARAM hParam, DWORD i)
 Returns the minimum value of a parameter.
double GetMax (HPARAM hParam, DWORD i)
 Returns the maximum value of a parameter.
double GetDef (HPARAM hParam, DWORD i)
 Returns the default value of a parameter.
double GetStep (HPARAM hParam, DWORD i)
 Returns the step value of a parameter.

Protected Member Functions

double Replace (LPCTSTR pVar, double dDef=0)
 Returns the value of the specified variable.

Detailed Description

Encapsulates functionality for saving and restoring function parameters.

This class provides functionality for saving and restoring function parameters. It enables the specification of parameter names, type, and range, and enforces these parameters.


Member Function Documentation

HPARAM CParams::Add DWORD  function,
LPCTSTR  pParams
 

Adds a function to the list.

Parameters:
[in] function - Function ID
[in] pParams - Function parameter definition
Returns:
Handle to parameters if success
See also:

long double CParams::Convert BYTE  type,
long double  from
 

Converts one parameter type to another.

Parameters:
[in] type - Conversion type
[in] from - Source value
Returns:
Converted type
See also:

void CParams::DeleteObject void *  node  )  [virtual]
 

Provides custom destruction of parameter structures.

Parameters:
[in] node - Pointer to parameter structure

Reimplemented from CLList.

double CParams::GetDef HPARAM  hParam,
DWORD  i
[inline]
 

Returns the default value of a parameter.

Parameters:
[in] hParam - Handle to parameter list
[in] i - Index of parameter
Returns:
Parameter default value
See also:

double CParams::GetMax HPARAM  hParam,
DWORD  i
[inline]
 

Returns the maximum value of a parameter.

Parameters:
[in] hParam - Handle to parameter list
[in] i - Index of parameter
Returns:
Parameter maximum value
See also:

double CParams::GetMin HPARAM  hParam,
DWORD  i
[inline]
 

Returns the minimum value of a parameter.

Parameters:
[in] hParam - Handle to parameter list
[in] i - Index of parameter
Returns:
Parameter minimum value
See also:

LPCTSTR CParams::GetName HPARAM  hParam,
DWORD  i
[inline]
 

Returns a pointer to the name of the parameter.

Parameters:
[in] hParam - Handle to parameter list
[in] i - Index of parameter
Returns:
Pointer to parameter name
See also:

DWORD CParams::GetParam LPCTSTR  pList,
LPSTR  pType,
LPSTR  pSize,
LPSTR  pName,
LPSTR  pMin,
LPSTR  pMax,
LPSTR  pDef,
LPSTR  pStep
 

Converts a parameter declaration into its components.

Parameters:
[in] pList - Parameter declaration
[in] pType - Parameter type
[in] pSize - Parameter size
[in] pName - Parameter name
[in] pMin - Minimum value
[in] pMax - Maximum value
[in] pDef - Default value
[in] pStep - Increment step
Param forms ( all params optional except type )

  • {type}[ size ] {name} <[min],[max]>, ...
  • {type}[ size ] {name} <[max]>, ...
  • {type}[ size ] {name}, ...
  • {type}[ size ], ...
  • {type}, ...

Example param list:

            "char String[ 256 ]"
            "float Angle <0,359.99>"
            "uchar Hue <0,255,128>, uchar Saturation<0,255,128>"
            "long Level <0,255,80>, long Contrast<0,255,128>"
            "long New X <1,%width,%width>, long New Y<1,%height,%height>"

Returns:
See also:

BOOL CParams::GetParam LPPARAM  pParam,
void *  ptr
 

Reads parameter data from data structure.

Parameters:
[in] pParam - Parameter information structure
[out] ptr - Parameter data
Returns:
Non-zero if success
See also:

BOOL __cdecl CParams::GetParams HPARAM  hParam,
  ...
 

Gets function parameter values.

Parameters:
[in] hParam - Handle to parameter list
[in] ... - Function value list
... values must match that described in hParam function parameter declarations.

Returns:
Non-zero if success
See also:

DWORD CParams::GetParamSize BYTE  type,
DWORD  size
 

Returns the parameter size in bytes.

Parameters:
[in] type - Parameter type
[in] size - Parameter array size
Returns:
Parameter size in bytes
See also:

BYTE CParams::GetParamType LPCTSTR  pType  ) 
 

Converts a type string into type code.

Parameters:
[in] pType - Type string
Returns:
Type code for string
See also:

double CParams::GetStep HPARAM  hParam,
DWORD  i
[inline]
 

Returns the step value of a parameter.

Parameters:
[in] hParam - Handle to parameter list
[in] i - Index of parameter
This is the resolution of the parameter, or how much you should add to move from one value to the subsequent value. For instance, a step value of 2 would indicate the parameter can only validly be set to even numbers.

Note:
There should be added a corrisponding value offset, but I didn't need it in the implementation I was working on. It would make this feature more general case however.
Returns:
Parameter step value
See also:

DWORD CParams::GetToken LPSTR  pToken,
LPCTSTR  pStr,
BOOL  bSpaceOk = FALSE
 

Returns a token from the specified buffer.

Parameters:
[out] pToken - Receives token
[in] pStr - Source string
[in] bSpaceOk - Non-zero to include spaces
Returns:
Offset of the end of the returned token in pStr
See also:

double CParams::GetValue HPARAM  hParam,
DWORD  i,
double  dDef = 0
 

Returns parameter data.

Parameters:
[in] hParam - Handle to parameter
[in] i - Parameter index
[in] dDef - Value to return on error
Returns:
Parameter value or dDef if error
See also:

void CParams::Init BOOL  bDestroy = TRUE  ) 
 

Initializes this class for use.

Parameters:
[in] bDestroy - Non-zero to destroy previous parameter list

Reimplemented from CLList.

DWORD CParams::Load LPCTSTR  pFile,
BOOL  bMerge = FALSE
[virtual]
 

Loads function parameter definitions from a disk file.

Parameters:
[in] pFile - Filename
[in] bMerge - Non-zero to merge into current list
Returns:
Number of bytes read or zero if failure
See also:

Reimplemented from CLList.

DWORD CParams::Load LPBYTE  buf,
DWORD  size,
BOOL  bMerge = FALSE
[virtual]
 

Loads function parameter definitions from a memory buffer.

Parameters:
[in] buf - Memory buffer
[in] size - Number of bytes in buf
[in] bMerge - Non-zero to merge into current list
Returns:
Number of bytes read or zero if failure
See also:

Reimplemented from CLList.

BOOL CParams::Load CCfgFile pCfg  ) 
 

Loads parameters from a configuration file.

Parameters:
[in] pCfg - Filename
Returns:
Non-zero if success
See also:

double CParams::Replace LPCTSTR  pVar,
double  dDef = 0
[inline, protected]
 

Returns the value of the specified variable.

Parameters:
[in] pVar - Name of variable from the list
[in] dDef - Default return value
Returns:
Value of named variable or dDef if error
See also:

DWORD CParams::Save LPCTSTR  pFile  )  [virtual]
 

Saves function parameter definitions into a disk file.

Parameters:
[in] pFile - Filename
Returns:
Number of bytes written or zero if failure
See also:

Reimplemented from CLList.

DWORD CParams::Save LPBYTE  buf,
DWORD  size
[virtual]
 

Saves function parameter definitions into a memory buffer.

Parameters:
[out] buf - Memory buffer
[in] size - Size of buffer in buf
Returns:
Number of bytes written to buf or zero if failure
See also:

Reimplemented from CLList.

BOOL CParams::Save CCfgFile pCfg  ) 
 

Saves parameter information to a configuration file.

Parameters:
[in] pCfg - Filename
Returns:
Non-zero if success
See also:

BOOL CParams::SetParam LPPARAM  pParam,
void *  ptr
 

Saves parameter data into data structure.

Parameters:
[in] pParam - Parameter information structure
[in] ptr - Parameter data
Returns:
Non-zero if success
See also:

BOOL __cdecl CParams::SetParams HPARAM  hParam,
  ...
 

Sets function parameter values.

Parameters:
[in] hParam - Handle to parameter list
[in] ... - Function value list
... values must match that described in hParam function parameter declarations.

Returns:
Non-zero if success
See also:

BOOL CParams::SetValue HPARAM  hParam,
DWORD  i,
double  v
 

Saves parameter data.

Parameters:
[in] hParam - Handle to parameter
[in] i - Parameter index
[in] v - New parameter value
Returns:
Non-zero if success
See also:


The documentation for this class was generated from the following files:
  • inc/Params.h
  • Params.cpp
Copyright Robert Umbehant
This documentation is covered by the LGPL