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
2.4 KiB

  1. // Uuid.h -- Universally Unique IDentifier functor wrapper header to
  2. // create and manage UUIDs
  3. // (c) Copyright Schlumberger Technology Corp., unpublished work, created
  4. // 1999. This computer program includes Confidential, Proprietary
  5. // Information and is a Trade Secret of Schlumberger Technology Corp. All
  6. // use, disclosure, and/or reproduction is prohibited unless authorized
  7. // in writing. All Rights Reserved.
  8. #if !defined(SLBCSP_UUID_H)
  9. #define SLBCSP_UUID_H
  10. #if defined(_UNICODE)
  11. #if !defined(UNICODE)
  12. #define UNICODE
  13. #endif //!UNICODE
  14. #endif //_UNICODE
  15. #if defined(UNICODE)
  16. #if !defined(_UNICODE)
  17. #define _UNICODE
  18. #endif //!_UNICODE
  19. #endif //UNICODE
  20. #include <string>
  21. #include <rpc.h>
  22. class Uuid
  23. {
  24. public:
  25. // Types
  26. // C'tors/D'tors
  27. explicit
  28. Uuid(bool fNilValued = false);
  29. explicit
  30. Uuid(std::basic_string<unsigned char> const &rusUuid);
  31. explicit
  32. Uuid(UUID const *puuid);
  33. // Operators
  34. operator==(Uuid &ruuid);
  35. // Operations
  36. // Access
  37. std::basic_string<unsigned char>
  38. AsUString();
  39. unsigned short
  40. HashValue();
  41. // Predicates
  42. bool
  43. IsNil();
  44. protected:
  45. // Types
  46. // C'tors/D'tors
  47. // Operators
  48. // Operations
  49. // Access
  50. // Predicates
  51. // Variables
  52. private:
  53. // Types
  54. // C'tors/D'tors
  55. // Operators
  56. // Operations
  57. // Access
  58. // Predicates
  59. // Variables
  60. UUID m_uuid;
  61. };
  62. #endif // SLBCSP_UUID_H