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.

61 lines
1.8 KiB

  1. /****************************************************************************************
  2. * NAME: IASProfA.h
  3. *
  4. * CLASS: CIASProfileAttribute
  5. *
  6. * OVERVIEW
  7. *
  8. * CIASProfileAttribute class is the encapsulation for attribute node in
  9. * IAS profile.
  10. *
  11. * Difference between CIASAttributeNode and CIASProfileAttribute
  12. *
  13. * CIASAttributeNode: a static entity. With Only store general information
  14. * CIASProfileAttribute: a dynamic entity. Contains dynamic information such as value
  15. *
  16. * Copyright (C) Microsoft Corporation. All Rights Reserved.
  17. *
  18. * History:
  19. * 2/21/98 Created by Byao (using ATL wizard)
  20. * 06/26/98 Reworked by mmaguire for multivalued editor and to use plugable editors.
  21. *
  22. *****************************************************************************************/
  23. #ifndef _IASPROFA_INCLUDED_
  24. #define _IASPROFA_INCLUDED_
  25. #if _MSC_VER >= 1000
  26. #pragma once
  27. #endif // _MSC_VER >= 1000
  28. #include "napmmc.h"
  29. class CIASProfileAttribute
  30. {
  31. public:
  32. CIASProfileAttribute(
  33. IIASAttributeInfo *pIASAttributeInfo, // We AddRef on the interface passed.
  34. VARIANT& varValue // We make a copy of variant passed.
  35. );
  36. virtual ~CIASProfileAttribute();
  37. STDMETHOD(Edit)();
  38. STDMETHOD(get_AttributeName)( BSTR * pbstrVal );
  39. STDMETHOD(GetDisplayInfo)( BSTR * pbstrVendor, BSTR * pbstrDisplayValue );
  40. STDMETHOD(get_VarValue)( VARIANT * pvarVal );
  41. STDMETHOD(get_AttributeID)( ATTRIBUTEID * pID );
  42. bool isEmpty()
  43. {
  44. return V_VT(&m_varValue) == VT_EMPTY;
  45. }
  46. private:
  47. CComPtr<IIASAttributeInfo> m_spIASAttributeInfo;
  48. CComVariant m_varValue;
  49. };
  50. #endif // _IASPROFA_INCLUDED_