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.

78 lines
1.5 KiB

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