mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
3.2 KiB
137 lines
3.2 KiB
/**********************************************************************/
|
|
/** 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
|