Leaked source code of windows server 2003
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.
|
|
//****************************************************************************
//
// Module: ULS.DLL
// File: attribs.h
// Content: This file contains the attributes object definition.
// History:
// Wed 17-Apr-1996 11:18:47 -by- Viroon Touranachun [viroont]
//
// Copyright (c) Microsoft Corporation 1995-1996
//
//****************************************************************************
#ifndef _ATTRIBS_H_
#define _ATTRIBS_H_
//****************************************************************************
// CAttributes definition
//****************************************************************************
//
class CAttributes : public IIlsAttributes { friend class CIlsMain; friend class CIlsUser; friend class CIlsMeetingPlace;
private: LONG m_cRef; ILS_ATTR_TYPE m_AccessType; ULONG m_cAttrs; ULONG m_cchNames; ULONG m_cchValues; CList m_AttrList;
// Private methods
//
HRESULT InternalSetAttribute ( TCHAR *pszName, TCHAR *pszValue ); HRESULT InternalCheckAttribute ( TCHAR *pszName, BOOL fRemove ); HRESULT InternalSetAttributeName ( TCHAR *pszName );
protected:
VOID SetAccessType ( ILS_ATTR_TYPE AttrType ) { m_AccessType = AttrType; }
public: // Constructor and destructor
//
CAttributes ( VOID ); ~CAttributes ( VOID );
// For internal use
//
ULONG GetCount ( VOID ) { return m_cAttrs; }
ILS_ATTR_TYPE GetAccessType( void) { return m_AccessType; } HRESULT GetAttributeList ( TCHAR **ppszList, ULONG *pcList, ULONG *pcb ); HRESULT GetAttributePairs ( TCHAR **ppszPairs, ULONG *pcList, ULONG *pcb ); HRESULT SetAttributePairs( TCHAR *pszPairs, ULONG cPair ); HRESULT SetAttributes ( CAttributes *pAttributes ); HRESULT RemoveAttributes ( CAttributes *pAttributes); HRESULT CloneNameValueAttrib(CAttributes **ppClone); // IUnknown
//
STDMETHODIMP QueryInterface (REFIID iid, void **ppv); STDMETHODIMP_(ULONG) AddRef (void); STDMETHODIMP_(ULONG) Release (void);
// IIlsAttributes
//
// For ILS_ATTRTYPE_NAME_VALUE
//
STDMETHODIMP SetAttribute (BSTR bstrName, BSTR bstrValue); STDMETHODIMP GetAttribute (BSTR bstrName, BSTR *pbstrValue); STDMETHODIMP EnumAttributes (IEnumIlsNames **ppEnumAttribute);
// For ILS_ATTRTYPE_NAME_ONLY
//
STDMETHODIMP SetAttributeName ( BSTR bstrName );
#ifdef DEBUG
// For debugging
//
void DebugOut (void); #endif // DEBUG
};
#endif //_ATTRIBS_H_
|