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.

80 lines
1.4 KiB

  1. /*++
  2. Copyright (C) 1996-1999 Microsoft Corporation
  3. Module Name:
  4. OPTIONVAL.H
  5. History:
  6. --*/
  7. #pragma once
  8. #pragma warning(disable: 4275) // non dll-interface class 'foo' used
  9. // as base for dll-interface class 'bar'
  10. class LTAPIENTRY CLocOptionVal : public CRefCount, public CObject
  11. {
  12. public:
  13. NOTHROW CLocOptionVal();
  14. void AssertValid(void) const;
  15. enum OptionCode
  16. {
  17. ocNoError,
  18. ocUnknownOption,
  19. ocInvalidValue,
  20. ocInvalidType
  21. };
  22. NOTHROW void SetName(const CLString &);
  23. NOTHROW void SetValue(const CLocVariant &);
  24. NOTHROW const CLString & GetName(void) const;
  25. NOTHROW const CLocVariant & GetValue(void) const;
  26. void Serialize(CArchive &);
  27. void Load(CArchive &);
  28. void Store(CArchive &) const;
  29. protected:
  30. virtual ~CLocOptionVal();
  31. private:
  32. CLString m_strName;
  33. CLocVariant m_lvValue;
  34. };
  35. class LTAPIENTRY CLocOptionValList :
  36. public CTypedPtrList<CPtrList, CLocOptionVal *>
  37. {
  38. public:
  39. NOTHROW CLocOptionValList();
  40. void AssertValid(void) const;
  41. NOTHROW ~CLocOptionValList();
  42. private:
  43. CLocOptionValList(const CLocOptionValList &);
  44. void operator=(const CLocOptionValList &);
  45. };
  46. #pragma warning(default: 4275)
  47. //
  48. // Worker function for options upgrade.
  49. LTAPIENTRY void DorkData(BYTE *, DWORD &);
  50. #if !defined(_DEBUG) || defined(IMPLEMENT)
  51. #include "optionval.inl"
  52. #endif