138 lines
3.2 KiB
C++
138 lines
3.2 KiB
C++
|
/**********************************************************************/
|
||
|
/** Microsoft Windows/NT **/
|
||
|
/** Copyright(c) Microsoft Corp., 1991 **/
|
||
|
/**********************************************************************/
|
||
|
|
||
|
/*
|
||
|
bltatom.hxx
|
||
|
BLT atom manipulation classes: definition
|
||
|
|
||
|
FILE HISTORY:
|
||
|
beng 15-May-1991 Split from bltmisc.hxx
|
||
|
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifndef _BLT_HXX_
|
||
|
#error "Don't include this file directly; instead, include it through blt.hxx"
|
||
|
#endif // _BLT_HXX_
|
||
|
|
||
|
#ifndef _BLTATOM_HXX_
|
||
|
#define _BLTATOM_HXX_
|
||
|
|
||
|
#include "base.hxx"
|
||
|
|
||
|
DLL_CLASS NLS_STR;
|
||
|
|
||
|
|
||
|
/**********************************************************************
|
||
|
|
||
|
NAME: ATOM_BASE
|
||
|
|
||
|
SYNOPSIS: atom base
|
||
|
|
||
|
INTERFACE:
|
||
|
QueryHandle() - handle for the atom
|
||
|
operator=() - assign atom
|
||
|
QueryString() - query atom
|
||
|
|
||
|
PARENT: BASE
|
||
|
|
||
|
HISTORY:
|
||
|
RustanL 21-Nov-1990 Created
|
||
|
beng 04-Oct-1991 Win32 conversion
|
||
|
|
||
|
**********************************************************************/
|
||
|
|
||
|
DLL_CLASS ATOM_BASE : public BASE
|
||
|
{
|
||
|
private:
|
||
|
ATOM _hAtom;
|
||
|
|
||
|
virtual ATOM W_AddAtom( const TCHAR * pch ) const = 0;
|
||
|
virtual APIERR W_QueryString( TCHAR * pchBuffer, UINT chBuf ) const = 0;
|
||
|
|
||
|
protected:
|
||
|
ATOM_BASE();
|
||
|
ATOM_BASE( ATOM hAtom );
|
||
|
~ATOM_BASE();
|
||
|
|
||
|
const TCHAR * AssignAux( const TCHAR * pch );
|
||
|
|
||
|
public:
|
||
|
ATOM QueryHandle() const { return _hAtom; }
|
||
|
|
||
|
virtual const TCHAR * operator=( const TCHAR * pch ) = 0;
|
||
|
|
||
|
APIERR QueryString( TCHAR * pchBuffer, UINT cbBuf ) const;
|
||
|
};
|
||
|
|
||
|
|
||
|
/**********************************************************************
|
||
|
|
||
|
NAME: GLOBAL_ATOM
|
||
|
|
||
|
SYNOPSIS: global atom class
|
||
|
|
||
|
INTERFACE:
|
||
|
GLOBAL_ATOM() - constructor
|
||
|
~GLOBAL_ATOM() - destructor
|
||
|
operator=() - assignment
|
||
|
|
||
|
PARENT: ATOM_BASE
|
||
|
|
||
|
HISTORY:
|
||
|
RustanL 21-Nov-1990 Created
|
||
|
beng 04-Oct-1991 Win32 conversion
|
||
|
|
||
|
**********************************************************************/
|
||
|
|
||
|
DLL_CLASS GLOBAL_ATOM : public ATOM_BASE
|
||
|
{
|
||
|
private:
|
||
|
virtual ATOM W_AddAtom( const TCHAR * pch ) const;
|
||
|
virtual APIERR W_QueryString( TCHAR * pchBuffer, UINT cbBuf ) const;
|
||
|
|
||
|
public:
|
||
|
GLOBAL_ATOM( const TCHAR * pch = NULL );
|
||
|
~GLOBAL_ATOM();
|
||
|
|
||
|
const TCHAR * operator=( const TCHAR * pch );
|
||
|
};
|
||
|
|
||
|
|
||
|
/**********************************************************************
|
||
|
|
||
|
NAME: LOCAL_ATOM
|
||
|
|
||
|
SYNOPSIS: Local atom class
|
||
|
|
||
|
INTERFACE:
|
||
|
LOCAL_ATOM() - constructor
|
||
|
~LOCAL_ATOM() - destructor
|
||
|
operator=() - assignment
|
||
|
|
||
|
PARENT: ATOM_BASE
|
||
|
|
||
|
HISTORY:
|
||
|
RustanL 21-Nov-1990 Created
|
||
|
beng 04-Oct-1991 Win32 conversion
|
||
|
|
||
|
**********************************************************************/
|
||
|
|
||
|
DLL_CLASS LOCAL_ATOM : public ATOM_BASE
|
||
|
{
|
||
|
private:
|
||
|
virtual ATOM W_AddAtom( const TCHAR * pch ) const;
|
||
|
virtual APIERR W_QueryString( TCHAR * pchBuffer, UINT cbBuf ) const;
|
||
|
|
||
|
public:
|
||
|
LOCAL_ATOM( const TCHAR * pch = NULL );
|
||
|
~LOCAL_ATOM();
|
||
|
|
||
|
const TCHAR * operator=( const TCHAR * pch );
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // _BLTATOM_HXX_ - end of file
|