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.

150 lines
3.9 KiB

  1. // V2Cert.h: interface for the CV2Certificate class.
  2. //
  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. //////////////////////////////////////////////////////////////////////
  9. // Note: This file should only be included by the CCI, not directly
  10. // by the client.
  11. #if !defined(SLBCCI_V2CERT_H)
  12. #define SLBCCI_V2CERT_H
  13. #include <string>
  14. #include <memory> // for auto_ptr
  15. #include <slbRCObj.h>
  16. #include "iop.h"
  17. #include "slbarch.h"
  18. #include "cciCard.h"
  19. #include "ACert.h"
  20. namespace cci {
  21. class CV2Card;
  22. class CCertificateInfoRecord;
  23. class CV2Certificate
  24. : public CAbstractCertificate
  25. {
  26. public:
  27. // Types
  28. // C'tors/D'tors
  29. CV2Certificate(CV2Card const &rv2card,
  30. ObjectAccess oa);
  31. CV2Certificate(CV2Card const &rv2card,
  32. SymbolID sidHandle,
  33. ObjectAccess oa);
  34. virtual
  35. ~CV2Certificate() throw();
  36. // Operators
  37. // Operations
  38. virtual void
  39. CredentialID(std::string const &rstrCredId);
  40. virtual void
  41. ID(std::string const &rstrId);
  42. virtual void
  43. Issuer(std::string const &rstrIssuer);
  44. virtual void
  45. Label(std::string const &rstrLabel);
  46. static CV2Certificate *
  47. Make(CV2Card const &rv2card,
  48. SymbolID sidHandle,
  49. ObjectAccess oa);
  50. virtual void
  51. Modifiable(bool flag);
  52. virtual void
  53. Subject(std::string const &rstrSubject);
  54. virtual void
  55. Serial(std::string const &rstrSerialNumber);
  56. // Access
  57. virtual std::string
  58. CredentialID();
  59. SymbolID
  60. Handle() const;
  61. virtual std::string
  62. ID();
  63. virtual std::string
  64. Issuer();
  65. virtual std::string
  66. Label();
  67. virtual bool
  68. Modifiable();
  69. virtual bool
  70. Private();
  71. virtual std::string
  72. Serial();
  73. virtual std::string
  74. Subject();
  75. // Predicates
  76. protected:
  77. // Types
  78. // C'tors/D'tors
  79. // Operators
  80. // Operations
  81. virtual void
  82. DoDelete();
  83. virtual void
  84. DoValue(ZipCapsule const &rzc);
  85. // Access
  86. virtual ZipCapsule
  87. DoValue();
  88. // Predicates
  89. virtual bool
  90. DoEquals(CAbstractCertificate const &rhs) const;
  91. // Variables
  92. private:
  93. // Types
  94. // C'tors/D'tors
  95. CV2Certificate(CV2Certificate const &rhs);
  96. // not defined, copying not allowed.
  97. // Operators
  98. CV2Certificate &
  99. operator=(CV2Certificate const &rhs);
  100. // not defined, initialization not allowed.
  101. // Operations
  102. void
  103. Setup(CV2Card const &rv2card);
  104. // Access
  105. // Predicates
  106. // Variables
  107. SymbolID m_sidHandle;
  108. std::auto_ptr<CCertificateInfoRecord> m_apcir;
  109. };
  110. }
  111. #endif // !defined(SLBCCI_CERT_H)