79 lines
2.9 KiB
C
Raw Normal View History

/*H********************************************************************************/
/*!
\File testerregistry.h
\Description
Maintains a global registry for the tester2 application.
\Notes
This module works a little differently than other DirtySock modules.
Because of the nature of a registry (a global collector of shared
information) there is no pointer to pass around - Create simply
allocates memory of a given size and Destroy frees this memory.
Registry entries are stored in tagfield format.
\Copyright
Copyright (c) 2005 Electronic Arts Inc.
\Version 04/08/2005 (jfrank) First Version
*/
/********************************************************************************H*/
#ifndef _testerregistry_h
#define _testerregistry_h
/*** Include files ****************************************************************/
#define TESTERREGISTRY_ERROR_NONE (0) //!< no error
#define TESTERREGISTRY_ERROR_NOTINITIALIZED (-1) //!< create not called
#define TESTERREGISTRY_ERROR_NOSUCHENTRY (-2) //!< entry requested does not exist
#define TESTERREGISTRY_ERROR_OUTOFSPACE (-3) //!< no more room left in the registry
#define TESTERREGISTRY_ERROR_BADDATA (-4) //!< bad data passed to a function
/*** Defines **********************************************************************/
#define TESTERREGISTRY_SIZE_DEFAULT (4096) //!< default registry size
/*** Macros ***********************************************************************/
/*** Type Definitions *************************************************************/
/*** Variables ********************************************************************/
/*** Functions ********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
// pass in a registry size, or (-1) for default size, allocates that much memory.
// calling create multiple times frees the previous registry (no leak)
void TesterRegistryCreate(int32_t iSize);
// set a registry entry - pointer
int32_t TesterRegistrySetPointer(const char *pEntryName, const void *pPtr);
// set a registry entry - number
int32_t TesterRegistrySetNumber(const char *pEntryName, const int32_t iNum);
// set a registry entry - string
int32_t TesterRegistrySetString(const char *pEntryName, const char *pStr);
// get a registry entry - pointer - return error code (0 for none)
void *TesterRegistryGetPointer(const char *pEntryName);
// get a registry entry - pointer - return error code (0 for none)
int32_t TesterRegistryGetNumber(const char *pEntryName, int32_t *pNum);
// get a registry entry - pointer - return error code (0 for none)
int32_t TesterRegistryGetString(const char *pEntryName, char *pBuf, int32_t iBufSize);
// print the registry
void TesterRegistryPrint(void);
// destroy a registry
void TesterRegistryDestroy(void);
#ifdef __cplusplus
};
#endif
#endif // _testerregistry_h